summaryrefslogtreecommitdiff
path: root/migrations/2024-05-11T02-53-05_init/up.sql
diff options
context:
space:
mode:
authorilotterytea <iltsu@alright.party>2025-07-02 03:35:19 +0500
committerilotterytea <iltsu@alright.party>2025-07-02 03:35:39 +0500
commit6c002985fddc923f57774c0ca5e7ddd36c629fdc (patch)
tree0d8aa51974744a10612769f2c688f20344b2b021 /migrations/2024-05-11T02-53-05_init/up.sql
parent04fb4e18f8cddd3d963824c6d396b960c7164dc5 (diff)
feat: new migrations
Diffstat (limited to 'migrations/2024-05-11T02-53-05_init/up.sql')
-rw-r--r--migrations/2024-05-11T02-53-05_init/up.sql117
1 files changed, 64 insertions, 53 deletions
diff --git a/migrations/2024-05-11T02-53-05_init/up.sql b/migrations/2024-05-11T02-53-05_init/up.sql
index 2d4d8c2..afb26b7 100644
--- a/migrations/2024-05-11T02-53-05_init/up.sql
+++ b/migrations/2024-05-11T02-53-05_init/up.sql
@@ -1,72 +1,83 @@
-- Your SQL goes here
-CREATE TABLE IF NOT EXISTS "channels" (
- "id" SERIAL NOT NULL UNIQUE PRIMARY KEY,
- "alias_id" INTEGER NOT NULL UNIQUE,
- "alias_name" VARCHAR NOT NULL UNIQUE,
- "joined_at" TIMESTAMP NOT NULL DEFAULT timezone('utc', now()),
- "opted_out_at" TIMESTAMP
+CREATE TABLE IF NOT EXISTS channels (
+ id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ alias_id INTEGER NOT NULL UNIQUE,
+ alias_name TEXT NOT NULL UNIQUE,
+ joined_at TIMESTAMP NOT NULL DEFAULT UTC_TIMESTAMP,
+ opted_out_at TIMESTAMP
);
-CREATE TABLE IF NOT EXISTS "users" (
- "id" SERIAL NOT NULL UNIQUE PRIMARY KEY,
- "alias_id" INTEGER NOT NULL UNIQUE,
- "alias_name" VARCHAR NOT NULL UNIQUE,
- "joined_at" TIMESTAMP NOT NULL DEFAULT timezone('utc', now()),
- "opted_out_at" TIMESTAMP
+CREATE TABLE IF NOT EXISTS users (
+ id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ alias_id INTEGER NOT NULL UNIQUE,
+ alias_name TEXT NOT NULL UNIQUE,
+ joined_at TIMESTAMP NOT NULL DEFAULT UTC_TIMESTAMP,
+ opted_out_at TIMESTAMP
);
-CREATE TABLE IF NOT EXISTS "channel_preferences" (
- "channel_id" INTEGER NOT NULL UNIQUE PRIMARY KEY REFERENCES "channels"("id") ON DELETE CASCADE,
- "prefix" VARCHAR,
- "locale" VARCHAR
+CREATE TABLE IF NOT EXISTS channel_preferences (
+ id INTEGER NOT NULL PRIMARY KEY REFERENCES channels(id) ON DELETE CASCADE,
+ prefix TEXT,
+ locale TEXT,
+ silent_mode BOOLEAN NOT NULL DEFAULT FALSE,
+ markov_responses BOOLEAN NOT NULL DEFAULT FALSE,
+ random_markov_responses BOOLEAN NOT NULL DEFAULT FALSE
);
-CREATE TABLE IF NOT EXISTS "user_rights" (
- "id" SERIAL NOT NULL UNIQUE PRIMARY KEY,
- "user_id" INTEGER NOT NULL REFERENCES "users"("id") ON DELETE CASCADE,
- "channel_id" INTEGER NOT NULL REFERENCES "channels"("id") ON DELETE CASCADE,
- "level" INTEGER NOT NULL DEFAULT 1,
+CREATE TABLE IF NOT EXISTS user_rights (
+ id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
+ channel_id INTEGER NOT NULL REFERENCES channels(id) ON DELETE CASCADE,
+ level INTEGER NOT NULL DEFAULT 1,
- CONSTRAINT "unique_user_channel" UNIQUE ("user_id", "channel_id")
+ CONSTRAINT unique_user_channel UNIQUE (user_id, channel_id)
);
-CREATE TABLE IF NOT EXISTS "actions" (
- "id" SERIAL NOT NULL UNIQUE PRIMARY KEY,
- "user_id" INTEGER NOT NULL REFERENCES "users"("id") ON DELETE CASCADE,
- "channel_id" INTEGER NOT NULL REFERENCES "channels"("id") ON DELETE CASCADE,
- "command" VARCHAR NOT NULL,
- "arguments" VARCHAR,
- "full_message" VARCHAR NOT NULL,
- "sent_at" TIMESTAMP NOT NULL DEFAULT timezone('utc', now())
+CREATE TABLE IF NOT EXISTS actions (
+ id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
+ channel_id INTEGER NOT NULL REFERENCES channels(id) ON DELETE CASCADE,
+ command TEXT NOT NULL,
+ arguments TEXT,
+ full_message TEXT NOT NULL,
+ sent_at TIMESTAMP NOT NULL DEFAULT UTC_TIMESTAMP
);
-CREATE TABLE IF NOT EXISTS "events" (
- "id" SERIAL NOT NULL UNIQUE PRIMARY KEY,
- "channel_id" INTEGER NOT NULL REFERENCES "channels"("id") ON DELETE CASCADE,
- "name" VARCHAR NOT NULL,
- "event_type" INTEGER NOT NULL,
- "flags" INTEGER[] NOT NULL DEFAULT ARRAY[]::INTEGER[],
- "message" VARCHAR NOT NULL
+CREATE TABLE IF NOT EXISTS events (
+ id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ channel_id INTEGER NOT NULL REFERENCES channels(id) ON DELETE CASCADE,
+ name TEXT NOT NULL,
+ event_type INTEGER NOT NULL,
+ is_massping BOOLEAN NOT NULL DEFAULT FALSE,
+ message TEXT NOT NULL
);
-CREATE TABLE IF NOT EXISTS "event_subscriptions" (
- "id" SERIAL NOT NULL UNIQUE PRIMARY KEY,
- "event_id" INTEGER NOT NULL REFERENCES "events"("id") ON DELETE CASCADE,
- "user_id" INTEGER NOT NULL REFERENCES "users"("id") ON DELETE CASCADE
+CREATE TABLE IF NOT EXISTS event_subscriptions (
+ id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ event_id INTEGER NOT NULL REFERENCES events(id) ON DELETE CASCADE,
+ user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE
);
-CREATE TABLE IF NOT EXISTS "custom_commands" (
- "id" SERIAL NOT NULL UNIQUE PRIMARY KEY,
- "channel_id" INTEGER NOT NULL REFERENCES "channels"("id") ON DELETE CASCADE,
- "name" VARCHAR NOT NULL,
- "message" VARCHAR NOT NULL
+CREATE TABLE IF NOT EXISTS custom_commands (
+ id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ channel_id INTEGER NOT NULL REFERENCES channels(id) ON DELETE CASCADE,
+ name TEXT NOT NULL,
+ message TEXT NOT NULL
);
-CREATE TABLE IF NOT EXISTS "timers" (
- "id" SERIAL NOT NULL UNIQUE PRIMARY KEY,
- "channel_id" INTEGER NOT NULL REFERENCES "channels"("id") ON DELETE CASCADE,
- "name" VARCHAR NOT NULL,
- "message" VARCHAR NOT NULL,
- "interval_sec" INTEGER NOT NULL,
- "last_executed_at" TIMESTAMP NOT NULL DEFAULT timezone('utc', now())
+CREATE TABLE IF NOT EXISTS custom_command_aliases (
+ id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ command_id INTEGER NOT NULL REFERENCES custom_commands(id) ON DELETE CASCADE,
+ name TEXT NOT NULL,
+
+ CONSTRAINT unique_command_alias UNIQUE (command_id, name)
+);
+
+CREATE TABLE IF NOT EXISTS timers (
+ id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
+ channel_id INTEGER NOT NULL REFERENCES channels(id) ON DELETE CASCADE,
+ name TEXT NOT NULL,
+ message TEXT NOT NULL,
+ interval_sec INTEGER NOT NULL,
+ last_executed_at TIMESTAMP NOT NULL DEFAULT UTC_TIMESTAMP
);