add fix for init sql
This commit is contained in:
parent
4b3fc8da50
commit
dad94ed679
102
sql/init.sql
102
sql/init.sql
@ -1,52 +1,32 @@
|
|||||||
-- Enable required extensions
|
|
||||||
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
|
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
|
||||||
|
|
||||||
-- Create tables
|
|
||||||
CREATE TABLE IF NOT EXISTS files (
|
CREATE TABLE IF NOT EXISTS files (
|
||||||
id UUID NOT NULL PRIMARY KEY DEFAULT uuid_generate_v4(),
|
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
|
||||||
file_type VARCHAR(15) NOT NULL,
|
file_type VARCHAR(30) NOT NULL,
|
||||||
file_name VARCHAR(50) NOT NULL,
|
file_name VARCHAR(50) NOT NULL,
|
||||||
extension VARCHAR(10) NOT NULL,
|
extension VARCHAR(10) NOT NULL,
|
||||||
streamer_id INTEGER NOT NULL,
|
streamer_id INTEGER NOT NULL,
|
||||||
entity VARCHAR(50) NOT NULL DEFAULT 'widget',
|
entity VARCHAR(50) NOT NULL DEFAULT 'widget',
|
||||||
size FLOAT NOT NULL DEFAULT 10,
|
created_at TIMESTAMP DEFAULT NOW(),
|
||||||
created_at TIMESTAMP DEFAULT now()
|
size FLOAT NOT NULL DEFAULT 0
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS widgets (
|
CREATE TABLE IF NOT EXISTS widgets (
|
||||||
id SERIAL PRIMARY KEY,
|
id SERIAL PRIMARY KEY,
|
||||||
streamer_id INTEGER NOT NULL,
|
streamer_id INTEGER NOT NULL,
|
||||||
template_id INTEGER,
|
template_id INTEGER,
|
||||||
group_id INTEGER NOT NULL DEFAULT 1,
|
group_id INTEGER NOT NULL DEFAULT 1,
|
||||||
is_active BOOLEAN NOT NULL DEFAULT true,
|
is_active BOOLEAN NOT NULL DEFAULT TRUE,
|
||||||
|
|
||||||
name VARCHAR(50) NOT NULL,
|
name VARCHAR(50) NOT NULL,
|
||||||
image UUID NOT NULL REFERENCES files(id) ON DELETE CASCADE,
|
image UUID REFERENCES files(id) ON DELETE CASCADE,
|
||||||
audio UUID NOT NULL REFERENCES files(id) ON DELETE CASCADE,
|
audio UUID REFERENCES files(id) ON DELETE CASCADE,
|
||||||
|
|
||||||
duration INTEGER NOT NULL,
|
duration INTEGER NOT NULL,
|
||||||
min_amount INTEGER NOT NULL,
|
min_amount INTEGER NOT NULL,
|
||||||
max_amount INTEGER NOT NULL,
|
max_amount INTEGER NOT NULL,
|
||||||
|
created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
||||||
created_at TIMESTAMP NOT NULL DEFAULT now(),
|
updated_at TIMESTAMP NOT NULL DEFAULT NOW()
|
||||||
updated_at TIMESTAMP NOT NULL DEFAULT now()
|
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS donats (
|
|
||||||
id SERIAL PRIMARY KEY,
|
|
||||||
streamer_id INTEGER NOT NULL,
|
|
||||||
widget_id INTEGER NOT NULL,
|
|
||||||
order_id TEXT NOT NULL,
|
|
||||||
target_id INTEGER NOT NULL,
|
|
||||||
text TEXT NOT NULL,
|
|
||||||
amount INTEGER NOT NULL,
|
|
||||||
donat_user TEXT NOT NULL,
|
|
||||||
status VARCHAR(50) NOT NULL DEFAULT 'pending',
|
|
||||||
created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
||||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS targets (
|
CREATE TABLE IF NOT EXISTS targets (
|
||||||
id SERIAL PRIMARY KEY,
|
id SERIAL PRIMARY KEY,
|
||||||
streamer_id INTEGER NOT NULL,
|
streamer_id INTEGER NOT NULL,
|
||||||
@ -57,13 +37,34 @@ CREATE TABLE IF NOT EXISTS targets (
|
|||||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||||
);
|
);
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS donats (
|
||||||
|
id SERIAL PRIMARY KEY,
|
||||||
|
streamer_id INTEGER NOT NULL,
|
||||||
|
widget_id INTEGER REFERENCES widgets(id) NOT NULL,
|
||||||
|
order_id UUID NOT NULL,
|
||||||
|
target_id INTEGER REFERENCES targets(id),
|
||||||
|
paid_time TIMESTAMP,
|
||||||
|
status VARCHAR(50) NOT NULL DEFAULT 'pending',
|
||||||
|
text TEXT NOT NULL,
|
||||||
|
amount INTEGER NOT NULL,
|
||||||
|
donat_user TEXT NOT NULL,
|
||||||
|
accepted_time TIMESTAMP,
|
||||||
|
rejected_time TIMESTAMP,
|
||||||
|
show_name BOOLEAN NOT NULL DEFAULT TRUE,
|
||||||
|
show_text BOOLEAN NOT NULL DEFAULT TRUE,
|
||||||
|
play_content BOOLEAN NOT NULL DEFAULT TRUE,
|
||||||
|
showed_time TIMESTAMP,
|
||||||
|
created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||||
|
);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS donate_pages (
|
CREATE TABLE IF NOT EXISTS donate_pages (
|
||||||
id SERIAL PRIMARY KEY,
|
id SERIAL PRIMARY KEY,
|
||||||
streamer_login TEXT NOT NULL,
|
streamer_login VARCHAR(255) NOT NULL,
|
||||||
streamer_id INTEGER NOT NULL,
|
streamer_id INTEGER NOT NULL,
|
||||||
description TEXT DEFAULT '',
|
description TEXT DEFAULT '',
|
||||||
text_after_donat TEXT DEFAULT '',
|
text_after_donat TEXT DEFAULT '',
|
||||||
avatar UUID REFERENCES files(id) ON DELETE CASCADE,
|
avatar UUID REFERENCES files(id) ON DELETE CASCADE,
|
||||||
background_img UUID REFERENCES files(id) ON DELETE CASCADE,
|
background_img UUID REFERENCES files(id) ON DELETE CASCADE,
|
||||||
head_img UUID REFERENCES files(id) ON DELETE CASCADE
|
head_img UUID REFERENCES files(id) ON DELETE CASCADE
|
||||||
);
|
);
|
||||||
@ -72,7 +73,7 @@ CREATE TABLE IF NOT EXISTS moderation (
|
|||||||
id SERIAL PRIMARY KEY,
|
id SERIAL PRIMARY KEY,
|
||||||
streamer_id INTEGER NOT NULL,
|
streamer_id INTEGER NOT NULL,
|
||||||
enable BOOLEAN DEFAULT FALSE,
|
enable BOOLEAN DEFAULT FALSE,
|
||||||
duration INTEGER
|
duration INTEGER NOT NULL DEFAULT 40
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS filters (
|
CREATE TABLE IF NOT EXISTS filters (
|
||||||
@ -91,11 +92,11 @@ CREATE TABLE IF NOT EXISTS voice_settings (
|
|||||||
id SERIAL PRIMARY KEY,
|
id SERIAL PRIMARY KEY,
|
||||||
streamer_id INTEGER NOT NULL,
|
streamer_id INTEGER NOT NULL,
|
||||||
enable BOOLEAN DEFAULT FALSE,
|
enable BOOLEAN DEFAULT FALSE,
|
||||||
voice_speed INTEGER NOT NULL,
|
voice_speed VARCHAR(20) NOT NULL DEFAULT 'medium',
|
||||||
scenery TEXT DEFAULT 'after_donat',
|
scenery TEXT DEFAULT 'after_donat',
|
||||||
voice_sound_percent INTEGER NOT NULL,
|
voice_sound_percent INTEGER NOT NULL,
|
||||||
min_price INTEGER NOT NULL
|
min_price INTEGER NOT NULL
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS languages (
|
CREATE TABLE IF NOT EXISTS languages (
|
||||||
id SERIAL PRIMARY KEY,
|
id SERIAL PRIMARY KEY,
|
||||||
@ -110,7 +111,11 @@ CREATE TABLE IF NOT EXISTS voices_languages (
|
|||||||
language_id INTEGER NOT NULL REFERENCES languages(id)
|
language_id INTEGER NOT NULL REFERENCES languages(id)
|
||||||
);
|
);
|
||||||
|
|
||||||
-- Create function for updating timestamps
|
CREATE TABLE IF NOT EXISTS streamers_widgets_pages (
|
||||||
|
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
|
||||||
|
streamer_id INTEGER NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
CREATE OR REPLACE FUNCTION update_updated_at()
|
CREATE OR REPLACE FUNCTION update_updated_at()
|
||||||
RETURNS TRIGGER AS $$
|
RETURNS TRIGGER AS $$
|
||||||
BEGIN
|
BEGIN
|
||||||
@ -119,21 +124,20 @@ RETURN NEW;
|
|||||||
END;
|
END;
|
||||||
$$ LANGUAGE plpgsql;
|
$$ LANGUAGE plpgsql;
|
||||||
|
|
||||||
-- Create triggers
|
CREATE TRIGGER widgets_updated_at_trigger
|
||||||
CREATE TRIGGER update_updated_at_widgets
|
|
||||||
BEFORE UPDATE ON widgets
|
BEFORE UPDATE ON widgets
|
||||||
FOR EACH ROW
|
FOR EACH ROW
|
||||||
EXECUTE FUNCTION update_updated_at();
|
EXECUTE PROCEDURE update_updated_at();
|
||||||
|
|
||||||
CREATE TRIGGER update_updated_at_donats
|
CREATE TRIGGER donats_updated_at_trigger
|
||||||
BEFORE UPDATE ON donats
|
BEFORE UPDATE ON donats
|
||||||
FOR EACH ROW
|
FOR EACH ROW
|
||||||
EXECUTE FUNCTION update_updated_at();
|
EXECUTE PROCEDURE update_updated_at();
|
||||||
|
|
||||||
CREATE TRIGGER update_updated_at_targets
|
CREATE TRIGGER targets_updated_at_trigger
|
||||||
BEFORE UPDATE ON targets
|
BEFORE UPDATE ON targets
|
||||||
FOR EACH ROW
|
FOR EACH ROW
|
||||||
EXECUTE FUNCTION update_updated_at();
|
EXECUTE PROCEDURE update_updated_at();
|
||||||
|
|
||||||
|
|
||||||
-- Вставка default_avatar.png
|
-- Вставка default_avatar.png
|
||||||
|
Loading…
x
Reference in New Issue
Block a user