removed foreign keys from new tables only implicit relationship

This commit is contained in:
Pavel 2024-04-17 19:28:46 +03:00
parent 9b6327b695
commit ff64fa15e4

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