2024-09-10 22:37:01 +05:00

51 lines
1.2 KiB
Go

package pg
var createTableQuery = `
CREATE TABLE IF NOT EXISTS widgets (
id SERIAL PRIMARY KEY,
streamer_id INTEGER NOT NULL,
template_id INTEGER NOT NULL,
background_url TEXT DEFAULT '',
image_url TEXT DEFAULT '',
audio_url TEXT DEFAULT '',
duration INTEGER DEFAULT 30,
created_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,
widget_id INTEGER NOT NULL,
text TEXT DEFAULT '',
amount TEXT DEFAULT '',
donat_user TEXT DEFAULT '',
created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP
);
`
var onUpdateTableQuery = `
CREATE OR REPLACE FUNCTION update_updated_at()
RETURNS TRIGGER AS $$
BEGIN
NEW.updated_at = NOW();
RETURN NEW;
END;
$$ LANGUAGE 'plpgsql';
CREATE TRIGGER update_updated_at_trigger
BEFORE UPDATE ON widgets
FOR EACH ROW
EXECUTE PROCEDURE update_updated_at();
CREATE TRIGGER update_updated_at_trigger
BEFORE UPDATE ON donats
FOR EACH ROW
EXECUTE PROCEDURE update_updated_at();
`
var dropTableQuery = `
DROP TABLE IF EXISTS widgets;
DROP TABLE IF EXISTS donats;
`