package sql 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 NOT NULL, min_amount INTEGER NOT NUll, 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, order_id TEXT NOT NULL, target_id INTEGER NOT NULL, text TEXT NOT NULL, amount INTEGER NOT NULL, donat_user TEXT NOT NULL, paid BOOLEAN DEFAULT FALSE, view BOOLEAN DEFAULT FALSE, created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS targets ( id SERIAL PRIMARY KEY, streamer_id INTEGER NOT NULL, text TEXT NOT NULL, amount INTEGER NOT NULL, collected INTEGER DEFAULT 0, created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP ); 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(); CREATE TRIGGER update_updated_at_trigger BEFORE UPDATE ON targets FOR EACH ROW EXECUTE PROCEDURE update_updated_at(); ` var DropTableQuery = ` DROP TABLE IF EXISTS widgets; DROP TABLE IF EXISTS donats; DROP TABLE IF EXISTS targets; `