diff options
| author | Owen Jacobson <owen@grimoire.ca> | 2024-10-04 22:12:15 -0400 |
|---|---|---|
| committer | Owen Jacobson <owen@grimoire.ca> | 2024-10-04 22:38:25 -0400 |
| commit | b422be184e01b4cc35b9c9a6921379080c24edb3 (patch) | |
| tree | b35bec7a4025e9874ba2683e3b9b8da4447c2fb0 /migrations/20240928002608_channel_lifecycle.sql | |
| parent | 9bd6d9862b1c243def02200bca2cfbf578ad2a2f (diff) | |
Start fresh with database migrations.
The migration path from the original project inception to now was complicated and buggy, and stranded _both_ Kit and I with broken databases due to oversights and incomplete migrations. We've agreed to start fresh, once.
If this is mistakenly started with an original-schema-flavour DB, startup will be aborted.
Diffstat (limited to 'migrations/20240928002608_channel_lifecycle.sql')
| -rw-r--r-- | migrations/20240928002608_channel_lifecycle.sql | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/migrations/20240928002608_channel_lifecycle.sql b/migrations/20240928002608_channel_lifecycle.sql deleted file mode 100644 index bc690d7..0000000 --- a/migrations/20240928002608_channel_lifecycle.sql +++ /dev/null @@ -1,57 +0,0 @@ -alter table channel -rename to old_channel; - --- Add new columns -create table channel ( - id text - not null - primary key, - name text - not null - unique, - created_at text - not null -); - --- Transfer data from original table -insert into channel -select - channel.id, - channel.name, - coalesce( - min(message.sent_at), - strftime('%FT%R:%f+00:00', 'now', 'utc') - ) as created_at -from old_channel as channel - left join message on channel.id = message.channel -group by channel.id, channel.name; - --- Fix up `message` foreign keys -alter table message -rename to old_message; - -create table message ( - id text - not null - primary key, - sequence bigint - not null, - channel text - not null - references channel (id), - sender text - not null - references login (id), - body text - not null, - sent_at text - not null, - unique (channel, sequence) -); - -insert into message -select * from old_message; - --- Bury the bodies respectfully -drop table old_message; -drop table old_channel; |
