diff --git a/dal/db_query/queries.sql b/dal/db_query/queries.sql deleted file mode 100644 index 780de63..0000000 --- a/dal/db_query/queries.sql +++ /dev/null @@ -1,39 +0,0 @@ --- name: GetQuestionListByIDs :many -SELECT * FROM question WHERE id = ANY($1::int[]) AND deleted = FALSE; - --- name: InsertQuestion :one -INSERT INTO question ( - quiz_id, - title, - description, - questiontype, - required, - page, - content, - parent_ids, - updated_at, - session, - auditory -) -VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11) - RETURNING id, created_at, updated_at; - --- name: InsertAnswers :one -INSERT INTO answer( - content, - quiz_id, - question_id, - fingerprint, - session, - result, - email, - device_type, - device, - os, - browser, - ip, - start, - utm, - version -) VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15) - RETURNING *; \ No newline at end of file diff --git a/dal/schema/000001_init.down.sql b/dal/schema/000001_init.down.sql deleted file mode 100644 index 54966a0..0000000 --- a/dal/schema/000001_init.down.sql +++ /dev/null @@ -1,24 +0,0 @@ --- Drop indexes -DROP INDEX IF EXISTS subquizes; -DROP INDEX IF EXISTS birthtime; -DROP INDEX IF EXISTS groups; -DROP INDEX IF EXISTS timeouted; -DROP INDEX IF EXISTS active ON quiz; -DROP INDEX IF EXISTS questiontype; -DROP INDEX IF EXISTS required; -DROP INDEX IF EXISTS relation; -DROP INDEX IF EXISTS active ON question; - --- Drop tables -DROP TABLE IF EXISTS privileges; -DROP TABLE IF EXISTS answer; -DROP TABLE IF EXISTS question; -DROP TABLE IF EXISTS quiz; -DROP TABLE IF EXISTS account; - --- Drop types -DO $$ -BEGIN -DROP TYPE IF EXISTS question_type; -DROP TYPE IF EXISTS quiz_status; -END$$; \ No newline at end of file diff --git a/dal/schema/000001_init.up.sql b/dal/schema/000001_init.up.sql deleted file mode 100644 index 9aefa67..0000000 --- a/dal/schema/000001_init.up.sql +++ /dev/null @@ -1,120 +0,0 @@ --- Create types -DO $$ -BEGIN - IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'question_type') THEN -CREATE TYPE question_type AS ENUM ( - 'variant', - 'images', - 'varimg', - 'emoji', - 'text', - 'select', - 'date', - 'number', - 'file', - 'page', - 'rating' - ); -END IF; - - IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'quiz_status') THEN -CREATE TYPE quiz_status AS ENUM ( - 'draft', - 'template', - 'stop', - 'start', - 'timeout', - 'offlimit' - ); -END IF; - - CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; -END$$; - --- Create tables -CREATE TABLE IF NOT EXISTS account ( - id UUID PRIMARY KEY, - user_id VARCHAR(24), - email VARCHAR(50), - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - deleted BOOLEAN DEFAULT false - ); - -CREATE TABLE IF NOT EXISTS quiz ( - id bigserial UNIQUE NOT NULL PRIMARY KEY, - qid uuid DEFAULT uuid_generate_v4(), - accountid varchar(30) NOT NULL, - deleted boolean DEFAULT false, - archived boolean DEFAULT false, - fingerprinting boolean DEFAULT false, - repeatable boolean DEFAULT false, - note_prevented boolean DEFAULT false, - mail_notifications boolean DEFAULT false, - unique_answers boolean DEFAULT false, - super boolean DEFAULT false, - group_id bigint DEFAULT 0, - name varchar(280), - description text, - config text, - status quiz_status DEFAULT 'draft', - limit_answers integer DEFAULT 0, - due_to integer DEFAULT 0, - time_of_passing integer DEFAULT 0, - pausable boolean DEFAULT false, - version smallint DEFAULT 0, - version_comment text DEFAULT '', - parent_ids integer[], - created_at timestamp DEFAULT CURRENT_TIMESTAMP, - updated_at timestamp DEFAULT CURRENT_TIMESTAMP, - questions_count integer DEFAULT 0, - answers_count integer DEFAULT 0, - average_time_passing integer DEFAULT 0 - ); - -CREATE TABLE IF NOT EXISTS question ( - id bigserial UNIQUE NOT NULL PRIMARY KEY, - quiz_id bigint NOT NULL, - title varchar(512) NOT NULL, - description text, - questiontype question_type DEFAULT 'text', - required boolean DEFAULT false, - deleted boolean DEFAULT false, - page smallint DEFAULT 0, - content text, - version smallint DEFAULT 0, - parent_ids integer[], - created_at timestamp DEFAULT CURRENT_TIMESTAMP, - updated_at timestamp DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT quiz_relation FOREIGN KEY(quiz_id) REFERENCES quiz(id) - ); - -CREATE TABLE IF NOT EXISTS answer ( - id bigserial UNIQUE NOT NULL PRIMARY KEY, - content text, - quiz_id bigint NOT NULL REFERENCES quiz(id), - question_id bigint NOT NULL REFERENCES question(id), - fingerprint varchar(1024), - session varchar(20), - created_at timestamp DEFAULT CURRENT_TIMESTAMP - ); - -CREATE TABLE IF NOT EXISTS privileges ( - id SERIAL PRIMARY KEY, - privilegeID VARCHAR(50), - account_id UUID, - privilege_name VARCHAR(255), - amount INT, - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - FOREIGN KEY (account_id) REFERENCES account (id) - ); - --- Create indexes -CREATE INDEX IF NOT EXISTS active ON question(deleted) WHERE deleted=false; -CREATE INDEX IF NOT EXISTS relation ON question(quiz_id DESC); -CREATE INDEX IF NOT EXISTS required ON question(required DESC); -CREATE INDEX IF NOT EXISTS questiontype ON question(questiontype); -CREATE INDEX IF NOT EXISTS active ON quiz(deleted, archived, status) WHERE deleted = false AND archived = false AND status = 'start'; -CREATE INDEX IF NOT EXISTS timeouted ON quiz(due_to DESC) WHERE deleted = false AND due_to <> 0 AND status <> 'timeout'; -CREATE INDEX IF NOT EXISTS groups ON quiz(super) WHERE super = true; -CREATE INDEX IF NOT EXISTS birthtime ON quiz(created_at DESC); -CREATE INDEX IF NOT EXISTS subquizes ON quiz(group_id DESC) WHERE group_id <> 0; diff --git a/dal/schema/000002_init.down.sql b/dal/schema/000002_init.down.sql deleted file mode 100644 index 0aa3d9e..0000000 --- a/dal/schema/000002_init.down.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE answer DROP COLUMN IF EXISTS result; diff --git a/dal/schema/000002_init.up.sql b/dal/schema/000002_init.up.sql deleted file mode 100644 index 4083153..0000000 --- a/dal/schema/000002_init.up.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE answer ADD COLUMN result BOOLEAN DEFAULT FALSE; \ No newline at end of file diff --git a/dal/schema/000003_init.down.sql b/dal/schema/000003_init.down.sql deleted file mode 100644 index 94e352f..0000000 --- a/dal/schema/000003_init.down.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE quiz DROP COLUMN IF EXISTS sessions_count; diff --git a/dal/schema/000003_init.up.sql b/dal/schema/000003_init.up.sql deleted file mode 100644 index a292d62..0000000 --- a/dal/schema/000003_init.up.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE quiz ADD COLUMN sessions_count integer; diff --git a/dal/schema/000004_init.down.sql b/dal/schema/000004_init.down.sql deleted file mode 100644 index b6d5ec4..0000000 --- a/dal/schema/000004_init.down.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE quiz DROP COLUMN IF EXISTS new; -ALTER TABLE quiz DROP COLUMN IF EXISTS deleted; \ No newline at end of file diff --git a/dal/schema/000004_init.up.sql b/dal/schema/000004_init.up.sql deleted file mode 100644 index 9dc5591..0000000 --- a/dal/schema/000004_init.up.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE answer ADD COLUMN new BOOLEAN DEFAULT TRUE; -ALTER TABLE answer ADD COLUMN deleted BOOLEAN DEFAULT FALSE; \ No newline at end of file diff --git a/dal/schema/000005_init.down.sql b/dal/schema/000005_init.down.sql deleted file mode 100644 index ccae4f5..0000000 --- a/dal/schema/000005_init.down.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE answer DROP COLUMN IF EXISTS email; -DROP INDEX IF EXISTS answer_email_unique_idx; \ No newline at end of file diff --git a/dal/schema/000005_init.up.sql b/dal/schema/000005_init.up.sql deleted file mode 100644 index f2bfe97..0000000 --- a/dal/schema/000005_init.up.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE answer ADD COLUMN email VARCHAR(50) NOT NULL DEFAULT ''; -CREATE UNIQUE INDEX IF NOT EXISTS answer_email_unique_idx ON answer (quiz_id, email) WHERE email <> ''; \ No newline at end of file diff --git a/dal/schema/000006_init.down.sql b/dal/schema/000006_init.down.sql deleted file mode 100644 index 355ba3b..0000000 --- a/dal/schema/000006_init.down.sql +++ /dev/null @@ -1,6 +0,0 @@ -ALTER TABLE answer -DROP COLUMN device_type, -DROP COLUMN device, -DROP COLUMN os, -DROP COLUMN browser, -DROP COLUMN ip; \ No newline at end of file diff --git a/dal/schema/000006_init.up.sql b/dal/schema/000006_init.up.sql deleted file mode 100644 index 4dc1487..0000000 --- a/dal/schema/000006_init.up.sql +++ /dev/null @@ -1,6 +0,0 @@ -ALTER TABLE answer -ADD COLUMN device_type VARCHAR(50) NOT NULL DEFAULT '', -ADD COLUMN device VARCHAR(100) NOT NULL DEFAULT '', -ADD COLUMN os VARCHAR(100) NOT NULL DEFAULT '', -ADD COLUMN browser VARCHAR(100) NOT NULL DEFAULT '', -ADD COLUMN ip VARCHAR(50) NOT NULL DEFAULT ''; \ No newline at end of file diff --git a/dal/schema/000007_init.down.sql b/dal/schema/000007_init.down.sql deleted file mode 100644 index 374c55d..0000000 --- a/dal/schema/000007_init.down.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE answer -DROP COLUMN start; \ No newline at end of file diff --git a/dal/schema/000007_init.up.sql b/dal/schema/000007_init.up.sql deleted file mode 100644 index 6b41425..0000000 --- a/dal/schema/000007_init.up.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE answer -ADD COLUMN start BOOLEAN NOT NULL DEFAULT FALSE; \ No newline at end of file diff --git a/dal/schema/000008_init.down.sql b/dal/schema/000008_init.down.sql deleted file mode 100644 index 4f06fcb..0000000 --- a/dal/schema/000008_init.down.sql +++ /dev/null @@ -1,4 +0,0 @@ -ALTER TABLE answer -ALTER COLUMN device TYPE VARCHAR(100) NOT NULL DEFAULT '', -ALTER COLUMN os TYPE VARCHAR(100) NOT NULL DEFAULT '', -ALTER COLUMN browser TYPE VARCHAR(100) NOT NULL DEFAULT '', diff --git a/dal/schema/000008_init.up.sql b/dal/schema/000008_init.up.sql deleted file mode 100644 index fcba321..0000000 --- a/dal/schema/000008_init.up.sql +++ /dev/null @@ -1,4 +0,0 @@ -ALTER TABLE answer -ALTER COLUMN device TYPE VARCHAR(1024), -ALTER COLUMN os TYPE VARCHAR(1024), -ALTER COLUMN browser TYPE VARCHAR(1024); diff --git a/dal/schema/000009_init.down.sql b/dal/schema/000009_init.down.sql deleted file mode 100644 index 34fb3c6..0000000 --- a/dal/schema/000009_init.down.sql +++ /dev/null @@ -1,4 +0,0 @@ -ALTER TABLE answer -ALTER COLUMN device VARCHAR(100) NOT NULL DEFAULT '', -ALTER COLUMN os VARCHAR(100) NOT NULL DEFAULT '', -ALTER COLUMN browser VARCHAR(100) NOT NULL DEFAULT '', diff --git a/dal/schema/000009_init.up.sql b/dal/schema/000009_init.up.sql deleted file mode 100644 index d0c81cf..0000000 --- a/dal/schema/000009_init.up.sql +++ /dev/null @@ -1,4 +0,0 @@ -ALTER TABLE answer -ALTER COLUMN device TYPE VARCHAR(512), -ALTER COLUMN os TYPE VARCHAR(512), -ALTER COLUMN browser TYPE VARCHAR(512); diff --git a/dal/schema/000010_init.down.sql b/dal/schema/000010_init.down.sql deleted file mode 100644 index 02f12e4..0000000 --- a/dal/schema/000010_init.down.sql +++ /dev/null @@ -1,31 +0,0 @@ -DROP INDEX IF EXISTS idx_unique_users; -DROP INDEX IF EXISTS idx_unique_pipeline; -DROP INDEX IF EXISTS idx_unique_step; -DROP INDEX IF EXISTS idx_unique_field; -DROP INDEX IF EXISTS idx_unique_tag; -DROP INDEX IF EXISTS idx_unique_rules; - -DROP TABLE IF EXISTS amoCRMStatuses; -DROP TABLE IF EXISTS rules; -DROP TABLE IF EXISTS utms; -DROP TABLE IF EXISTS tags; -DROP TABLE IF EXISTS fields; - -DO $$ - BEGIN - IF EXISTS (SELECT 1 FROM pg_type WHERE typname = 'entitytype') THEN - DROP TYPE EntityType; - END IF; -END $$; - -DO $$ - BEGIN - IF EXISTS (SELECT 1 FROM pg_type WHERE typname = 'fieldtype') THEN - DROP TYPE FieldType; - END IF; -END $$; - -DROP TABLE IF EXISTS steps; -DROP TABLE IF EXISTS pipelines; -DROP TABLE IF EXISTS tokens; -DROP TABLE IF EXISTS users; \ No newline at end of file diff --git a/dal/schema/000010_init.up.sql b/dal/schema/000010_init.up.sql deleted file mode 100644 index 37ee29e..0000000 --- a/dal/schema/000010_init.up.sql +++ /dev/null @@ -1,119 +0,0 @@ -CREATE TABLE IF NOT EXISTS tokens ( - AccountID VARCHAR(30) PRIMARY KEY, -- связь с users AccountID неявная посредством join - RefreshToken TEXT NOT NULL , - AccessToken TEXT NOT NULL , - AuthCode TEXT NOT NULL , -- код авторизации который получаем при вебхук - Expiration TIMESTAMP NOT NULL, -- время истечения токенов - CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); - -CREATE TABLE IF NOT EXISTS users ( - ID BIGSERIAL UNIQUE NOT NULL PRIMARY KEY, - AccountID VARCHAR(30) NOT NULL DEFAULT '', -- id квизе из токена - AmoID INT NOT NULL , -- id в амо - Name VARCHAR(512) NOT NULL DEFAULT '', -- имя в амо - Email VARCHAR(50) NOT NULL DEFAULT '', -- почта в амо - Role INT NOT NULL DEFAULT 0, -- роль в амо - "Group" INT NOT NULL DEFAULT 0, -- вложенная структура так как в амо группы хранятся массивом структур - Deleted BOOLEAN NOT NULL DEFAULT FALSE, - CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - Subdomain VARCHAR(50) NOT NULL DEFAULT '', - AmoUserID INT NOT NULL , -- id пользователя который подключал интеграцию - 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 неявная посредством join - Name VARCHAR(512) NOT NULL DEFAULT '', --название воронки в амо - IsArchive BOOLEAN NOT NULL DEFAULT FALSE, --флаг архивной воронки в амо - Deleted BOOLEAN NOT NULL DEFAULT FALSE, - 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 неявная посредством join - AccountID INT NOT NULL, --id аккаунта в амо связь с таблицей users AmoID неявная посредством join - Name VARCHAR(512) NOT NULL DEFAULT '', --название воронки в амо - Color VARCHAR(50) NOT NULL DEFAULT '', --цвет шага в амо* - Deleted BOOLEAN NOT NULL DEFAULT FALSE, - CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); -DO $$ - BEGIN - IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'entitytype') THEN - CREATE TYPE EntityType AS ENUM ('leads', 'contacts', 'companies', 'customers'); - END IF; -END $$; - -DO $$ - BEGIN - IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'fieldtype') THEN - CREATE TYPE FieldType AS ENUM ('text', 'numeric', 'checkbox', 'select', 'multiselect', 'date', 'url', 'textarea', 'radiobutton', 'streetaddress', 'smart_address', 'birthday', 'legal_entity', 'date_time', 'price', 'category', 'items', 'tracking_data', 'linked_entity', 'chained_list', 'monetary', 'file', 'payer', 'supplier', 'multitext'); - END IF; -END $$; - -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 неявная посредством join - Name VARCHAR(512) NOT NULL DEFAULT '', -- название воронки в амо - Entity EntityType NOT NULL, -- тип сущности в амо, для которой это кастомное поле - Type FieldType NOT NULL, -- тип поля - Deleted BOOLEAN NOT NULL DEFAULT FALSE, - 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 неявная посредством join - Entity EntityType NOT NULL, -- сущность, к которой принадлежит этот тег - Name VARCHAR(512) NOT NULL DEFAULT '', -- название тега в амо - Color VARCHAR(50) NOT NULL DEFAULT '', -- цвет тега в амо - Deleted BOOLEAN NOT NULL DEFAULT FALSE, - CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); - -CREATE TABLE IF NOT EXISTS utms ( - ID BIGSERIAL UNIQUE NOT NULL PRIMARY KEY, - AmoFieldID INT NOT NULL DEFAULT 0, -- id field в амо - QuizID INT NOT NULL, -- id опроса - AccountID INT NOT NULL, -- id аккаунта в амо AMOID - Name VARCHAR(512) NOT NULL DEFAULT '', -- название utm - Deleted BOOLEAN NOT NULL DEFAULT FALSE, - CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); - -CREATE TABLE IF NOT EXISTS rules ( - ID BIGSERIAL UNIQUE NOT NULL PRIMARY KEY, - AccountID INT NOT NULL, -- id аккаунта в амо AMOID - QuizID INT NOT NULL, -- id опроса - PerformerID INT NOT NULL, -- айдишник ответственного за сделку - PipelineID INT NOT NULL, --id воронки AmoID pipelines неявная посредством join - StepID INT NOT NULL , -- id этапа steps AmoID join - UTMS INTEGER[], -- список UTM для этого опроса id utm - FieldsRule JSONB NOT NULL DEFAULT '{}', -- вложенная структура - Deleted BOOLEAN NOT NULL DEFAULT FALSE, - CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX idx_unique_users ON users (amoID); -CREATE UNIQUE INDEX idx_unique_pipeline ON pipelines (amoID, accountID); -CREATE UNIQUE INDEX idx_unique_step ON steps (amoID, accountID, PipelineID); -CREATE UNIQUE INDEX idx_unique_field ON fields (amoID, accountID, entity); -CREATE UNIQUE INDEX idx_unique_tag ON tags (amoID, accountID, entity); -CREATE UNIQUE INDEX idx_unique_rules ON rules (accountID, QuizID); - -CREATE TABLE IF NOT EXISTS amoCRMStatuses ( - ID BIGSERIAL UNIQUE NOT NULL PRIMARY KEY, - AccountID INT NOT NULL, -- id аккаунта в амо - DealID INT NOT NULL, -- id сделки в которую добавлялось - AnswerID BIGINT NOT NULL REFERENCES answer(id), -- id true result который вызвал действие - Status TEXT NOT NULL DEFAULT '', -- запись о ошибке, либо успехе - CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); \ No newline at end of file diff --git a/dal/schema/000011_init.down.sql b/dal/schema/000011_init.down.sql deleted file mode 100644 index bcaa9ff..0000000 --- a/dal/schema/000011_init.down.sql +++ /dev/null @@ -1,15 +0,0 @@ -ALTER TABLE answer -DROP COLUMN utm; - -CREATE TABLE IF NOT EXISTS utms ( - ID BIGSERIAL UNIQUE NOT NULL PRIMARY KEY, - AmoFieldID INT NOT NULL DEFAULT 0, -- id field в амо - QuizID INT NOT NULL, -- id опроса - AccountID INT NOT NULL, -- id аккаунта в амо AMOID - Name VARCHAR(512) NOT NULL DEFAULT '', -- название utm - Deleted BOOLEAN NOT NULL DEFAULT FALSE, - CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); - -ALTER TABLE rules - ADD COLUMN UTMS INTEGER[]; \ No newline at end of file diff --git a/dal/schema/000011_init.up.sql b/dal/schema/000011_init.up.sql deleted file mode 100644 index f268036..0000000 --- a/dal/schema/000011_init.up.sql +++ /dev/null @@ -1,5 +0,0 @@ -ALTER TABLE answer -ADD COLUMN utm jsonb NOT NULL DEFAULT '{}'; -DROP TABLE IF EXISTS utms; -ALTER TABLE rules -DROP COLUMN IF EXISTS UTMS; \ No newline at end of file diff --git a/dal/schema/000012_init.down.sql b/dal/schema/000012_init.down.sql deleted file mode 100644 index 0f34183..0000000 --- a/dal/schema/000012_init.down.sql +++ /dev/null @@ -1,4 +0,0 @@ -DROP INDEX IF EXISTS idx_unique_users; -DROP INDEX IF EXISTS idx_unique_rules; -CREATE UNIQUE INDEX idx_unique_users ON users (amoID); -CREATE UNIQUE INDEX idx_unique_rules ON rules (accountID, QuizID); \ No newline at end of file diff --git a/dal/schema/000012_init.up.sql b/dal/schema/000012_init.up.sql deleted file mode 100644 index 87913a8..0000000 --- a/dal/schema/000012_init.up.sql +++ /dev/null @@ -1,4 +0,0 @@ -DROP INDEX IF EXISTS idx_unique_users; -DROP INDEX IF EXISTS idx_unique_rules; -CREATE UNIQUE INDEX idx_unique_users ON users (amoID) WHERE Deleted = false; -CREATE UNIQUE INDEX idx_unique_rules ON rules (accountID, QuizID) WHERE Deleted = false; \ No newline at end of file diff --git a/dal/schema/000013_init.down.sql b/dal/schema/000013_init.down.sql deleted file mode 100644 index 26cb247..0000000 --- a/dal/schema/000013_init.down.sql +++ /dev/null @@ -1,4 +0,0 @@ -ALTER TABLE rules -DROP COLUMN IF EXISTS TagsToAdd; -ALTER TABLE users -DROP COLUMN IF EXISTS DriveURL; \ No newline at end of file diff --git a/dal/schema/000013_init.up.sql b/dal/schema/000013_init.up.sql deleted file mode 100644 index 44d4155..0000000 --- a/dal/schema/000013_init.up.sql +++ /dev/null @@ -1,4 +0,0 @@ -ALTER TABLE rules -ADD COLUMN TagsToAdd JSONB NOT NULL DEFAULT '{}'; -ALTER TABLE users -ADD COLUMN DriveURL text NOT NULL DEFAULT ''; diff --git a/dal/schema/000014_init.down.sql b/dal/schema/000014_init.down.sql deleted file mode 100644 index 5ddb16f..0000000 --- a/dal/schema/000014_init.down.sql +++ /dev/null @@ -1,20 +0,0 @@ -DROP TABLE IF EXISTS usersAmo; -DROP INDEX IF EXISTS idx_unique_accountsAmo; -DROP TABLE IF EXISTS accountsAmo; - -CREATE TABLE IF NOT EXISTS users ( - ID BIGSERIAL UNIQUE NOT NULL PRIMARY KEY, - AccountID VARCHAR(30) NOT NULL DEFAULT '', -- id квизе из токена - AmoID INT NOT NULL , -- id в амо - Name VARCHAR(512) NOT NULL DEFAULT '', -- имя в амо - Email VARCHAR(50) NOT NULL DEFAULT '', -- почта в амо - Role INT NOT NULL DEFAULT 0, -- роль в амо - "Group" INT NOT NULL DEFAULT 0, -- вложенная структура так как в амо группы хранятся массивом структур - Deleted BOOLEAN NOT NULL DEFAULT FALSE, - CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - Subdomain VARCHAR(50) NOT NULL DEFAULT '', - AmoUserID INT NOT NULL , -- id пользователя который подключал интеграцию - Country VARCHAR(50) NOT NULL DEFAULT '' -- страна в амо -); - -CREATE UNIQUE INDEX idx_unique_users ON users (amoID) WHERE Deleted = false; \ No newline at end of file diff --git a/dal/schema/000014_init.up.sql b/dal/schema/000014_init.up.sql deleted file mode 100644 index 9542bbb..0000000 --- a/dal/schema/000014_init.up.sql +++ /dev/null @@ -1,28 +0,0 @@ -DROP TABLE IF EXISTS users; -DROP INDEX IF EXISTS idx_unique_users; - -CREATE TABLE IF NOT EXISTS accountsAmo ( - ID BIGSERIAL UNIQUE NOT NULL PRIMARY KEY, - AccountID VARCHAR(30) NOT NULL DEFAULT '', -- ID аккаунта у нас - AmoID INT NOT NULL, -- ID "компании" в амо - Name VARCHAR(512) NOT NULL DEFAULT '', - Deleted BOOLEAN NOT NULL DEFAULT FALSE, - CreatedAt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - Subdomain VARCHAR(50) NOT NULL DEFAULT '', -- поддомен - пример https://penadigitaltech.amocrm.ru - Country VARCHAR(50) NOT NULL DEFAULT '', - DriveURL VARCHAR(255) NOT NULL DEFAULT '' -- URL объктного хранилища -); - -CREATE UNIQUE INDEX idx_unique_accountsAmo ON accountsAmo (amoID) WHERE Deleted = false; - -CREATE TABLE IF NOT EXISTS usersAmo ( - ID BIGSERIAL UNIQUE NOT NULL PRIMARY KEY, - AmoID INT NOT NULL, -- ID компании в амо (внешний ключ) - AmoUserID INT NOT NULL, -- ID пользователя в амо - Name VARCHAR(512) NOT NULL DEFAULT '', - Email VARCHAR(50) NOT NULL DEFAULT '', - Role INT NOT NULL DEFAULT 0, - "Group" INT NOT NULL DEFAULT 0, - Deleted BOOLEAN NOT NULL DEFAULT FALSE, - CreatedAt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); \ No newline at end of file diff --git a/dal/schema/000015_init.down.sql b/dal/schema/000015_init.down.sql deleted file mode 100644 index e69de29..0000000 diff --git a/dal/schema/000015_init.up.sql b/dal/schema/000015_init.up.sql deleted file mode 100644 index 3985517..0000000 --- a/dal/schema/000015_init.up.sql +++ /dev/null @@ -1,19 +0,0 @@ -UPDATE answer -SET content = - CASE - WHEN content ~ '