diff --git a/dal/schema/000010_init.up.sql b/dal/schema/000010_init.up.sql index ce86ee4..9cf27bd 100644 --- a/dal/schema/000010_init.up.sql +++ b/dal/schema/000010_init.up.sql @@ -1,5 +1,5 @@ CREATE TABLE IF NOT EXISTS tokens ( - AccountID VARCHAR(30) PRIMARY KEY, -- связь с users AccountID + AccountID VARCHAR(30) PRIMARY KEY, -- связь с users AccountID неявная посредством join RefreshToken VARCHAR(512) NOT NULL , AccessToken VARCHAR(512) NOT NULL , AuthCode VARCHAR(512) NOT NULL , -- код авторизации который получаем при вебхук @@ -19,33 +19,28 @@ CREATE TABLE IF NOT EXISTS users ( CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, Subdomain VARCHAR(50) NOT NULL DEFAULT '', AmoUserID INT NOT NULL , -- id пользователя который подключал интеграцию - Country VARCHAR(50) NOT NULL DEFAULT '', -- страна в амо - FOREIGN KEY (AccountID) REFERENCES tokens (AccountID), -- связь с таблицей tokens - FOREIGN KEY (AmoID) REFERENCES pipelines (AccountID) -- связь с таблицей pipelines + Country VARCHAR(50) NOT NULL DEFAULT '' -- страна в амо ); CREATE TABLE IF NOT EXISTS pipelines ( ID BIGSERIAL UNIQUE NOT NULL PRIMARY KEY, AmoID INT NOT NULL , --id воронки в амо - AccountID INT NOT NULL , --id аккаунта в амо связь с таблицей users AmoID + AccountID INT NOT NULL , --id аккаунта в амо связь с таблицей users AmoID неявная посредством join Name VARCHAR(50) NOT NULL DEFAULT '', --название воронки в амо IsArchive BOOLEAN, --флаг архивной воронки в амо Deleted BOOLEAN, - CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - FOREIGN KEY (AccountID) REFERENCES users (AmoID) -- связь с таблицей users + CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS steps ( ID BIGSERIAL UNIQUE NOT NULL PRIMARY KEY, AmoID INT NOT NULL, --id шага воронки в амо - PipelineID INT NOT NULL, --id воронки AmoID pipelines - AccountID INT NOT NULL, --id аккаунта в амо связь с таблицей users AmoID + PipelineID INT NOT NULL, --id воронки AmoID pipelines неявная посредством join + AccountID INT NOT NULL, --id аккаунта в амо связь с таблицей users AmoID неявная посредством join Name VARCHAR(50) NOT NULL DEFAULT '', --название воронки в амо Color VARCHAR(50) NOT NULL DEFAULT '', --цвет шага в амо* Deleted BOOLEAN, - CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - FOREIGN KEY (AccountID) REFERENCES users (AmoID), - FOREIGN KEY (PipelineID) REFERENCES pipelines (ID) + CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); DO $$ @@ -59,25 +54,23 @@ CREATE TABLE IF NOT EXISTS fields ( ID BIGSERIAL UNIQUE NOT NULL PRIMARY KEY, AmoID INT NOT NULL, -- айдишник кастомного поля в амо Code VARCHAR(255) NOT NULL DEFAULT '', -- кодовое слово в амо - AccountID INT NOT NULL, -- id аккаунта в амо связь с таблицей users AmoID + AccountID INT NOT NULL, -- id аккаунта в амо связь с таблицей users AmoID неявная посредством join Name VARCHAR(50) NOT NULL DEFAULT '', -- название воронки в амо Entity EntityType NOT NULL, -- тип сущности в амо, для которой это кастомное поле Type VARCHAR(50) NOT NULL DEFAULT '', -- тип поля Deleted BOOLEAN, - CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - FOREIGN KEY (AccountID) REFERENCES users (AmoID) + CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS tags ( ID BIGSERIAL UNIQUE NOT NULL PRIMARY KEY, AmoID INT NOT NULL, -- айдишник тега в амо - AccountID INT NOT NULL, -- id аккаунта в амо связь с таблицей users AmoID + AccountID INT NOT NULL, -- id аккаунта в амо связь с таблицей users AmoID неявная посредством join Entity EntityType NOT NULL, -- сущность, к которой принадлежит этот тег Name VARCHAR(50) NOT NULL DEFAULT '', -- название тега в амо Color VARCHAR(50) NOT NULL DEFAULT '', -- цвет тега в амо Deleted BOOLEAN, - CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - FOREIGN KEY (AccountID) REFERENCES users (AmoID) + CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); ALTER TABLE question