30 lines
968 B
MySQL
30 lines
968 B
MySQL
|
CREATE TABLE IF NOT EXISTS gigachatAudience (
|
||
|
ID BIGSERIAL UNIQUE NOT NULL PRIMARY KEY,
|
||
|
QuizID BIGINT NOT NULL,
|
||
|
Sex BOOLEAN NOT NULL,
|
||
|
Age VARCHAR(5) NOT NULL,
|
||
|
Deleted BOOLEAN NOT NULL DEFAULT FALSE,
|
||
|
CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||
|
CONSTRAINT fk_quiz FOREIGN KEY (QuizID) REFERENCES quiz(ID)
|
||
|
);
|
||
|
|
||
|
DO $$
|
||
|
BEGIN
|
||
|
IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'tgAccountStatus') THEN
|
||
|
CREATE TYPE TgAccountStatus AS ENUM ('active', 'inactive', 'ban');
|
||
|
END IF;
|
||
|
END $$;
|
||
|
|
||
|
CREATE TABLE IF NOT EXISTS tgAccounts (
|
||
|
id bigserial primary key ,
|
||
|
ApiID integer not null,
|
||
|
ApiHash text not null ,
|
||
|
PhoneNumber text not null ,
|
||
|
Password text not null ,
|
||
|
Status TgAccountStatus not null,
|
||
|
Deleted bool not null default false,
|
||
|
CreatedAt timestamp not null default current_timestamp
|
||
|
);
|
||
|
|
||
|
CREATE UNIQUE INDEX idx_apiid_apihash ON tgAccounts (ApiID, ApiHash) WHERE Deleted = false;
|