SQL

CREATE TABLE entity_aliases  (
  entity_id TEXT NOT NULL,
  alias_type TEXT NOT NULL,
  -- name|email|phone|slack_user|calendar_id|ticker|external_id
  alias_value TEXT NOT NULL,
  source_id TEXT,
  -- which integration asserted it
  confidence REAL DEFAULT 0.0,
  created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
  updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
  PRIMARY KEY (alias_type, alias_value),
  FOREIGN KEY (entity_id) REFERENCES entities(id) ON DELETE RESTRICT DEFERRABLE INITIALLY DEFERRED,
  FOREIGN KEY (source_id) REFERENCES sources(id) ON DELETE SET NULL DEFERRABLE INITIALLY DEFERRED
)

+ Add column

Columns

Column Data type Allow null Primary key Actions
entity_id TEXT Rename | Drop
alias_type TEXT Rename | Drop
alias_value TEXT Rename | Drop
source_id TEXT Rename | Drop
confidence REAL Rename | Drop
created_at TEXT Rename | Drop
updated_at TEXT Rename | Drop

Foreign Keys

Column Destination
source_id sources.id
entity_id entities.id

+ Add index

Indexes

Name Columns Unique SQL Drop?
idx_entity_aliases_entity entity_id SQL
CREATE INDEX idx_entity_aliases_entity
ON entity_aliases(entity_id)
Drop
sqlite_autoindex_entity_aliases_1
  • alias_type
  • alias_value
SQL
-- no sql found --
Drop