summary refs log tree commit diff
path: root/src/db/migrations/0030-require-guild-id.sql
blob: 264b69b7edfd1e520002cc4e9692d10f2ae8a79e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
-- https://sqlite.org/lang_altertable.html

-- 1
PRAGMA foreign_keys=OFF;
-- 2
BEGIN TRANSACTION;

-- 4
CREATE TABLE "new_channel_room" (
	"channel_id"	TEXT NOT NULL,
	"room_id"	TEXT NOT NULL UNIQUE,
	"name"	TEXT NOT NULL,
	"nick"	TEXT,
	"thread_parent"	TEXT,
	"custom_avatar"	TEXT,
	"last_bridged_pin_timestamp"	INTEGER,
	"speedbump_id"	TEXT,
	"speedbump_checked"	INTEGER,
	"speedbump_webhook_id"	TEXT,
	"guild_id"	TEXT NOT NULL,
	"custom_topic" INTEGER DEFAULT 0,
	PRIMARY KEY("channel_id"),
	FOREIGN KEY("guild_id") REFERENCES "guild_active"("guild_id") ON DELETE CASCADE
) WITHOUT ROWID;

-- 5
INSERT INTO new_channel_room
      (channel_id, room_id, name, nick, thread_parent, custom_avatar, last_bridged_pin_timestamp, speedbump_id, speedbump_checked, speedbump_webhook_id, guild_id, custom_topic)
SELECT channel_id, room_id, name, nick, thread_parent, custom_avatar, last_bridged_pin_timestamp, speedbump_id, speedbump_checked, speedbump_webhook_id, guild_id, custom_topic
      FROM channel_room;

-- 6
DROP TABLE channel_room;

-- 7
ALTER TABLE new_channel_room RENAME TO channel_room;

-- 10
PRAGMA foreign_key_check;

-- 11
COMMIT;
-- 12
PRAGMA foreign_keys=ON;