(todo): Add extra metrics for stats.
v6 -> v7 data migration. Use soft deletion for tasks. Remove task expiry. Migrate `complete` field to `completed_at`.
This commit is contained in:
18
data/migration/v6-v7/migration.sql
Normal file
18
data/migration/v6-v7/migration.sql
Normal file
@@ -0,0 +1,18 @@
|
||||
-- Add deletion column to tasklist entries
|
||||
-- Add completed_at column to the tasklist entries, replacing complete
|
||||
|
||||
|
||||
ALTER TABLE tasklist
|
||||
ADD COLUMN completed_at TIMESTAMPTZ,
|
||||
ADD COLUMN deleted_at TIMESTAMPTZ,
|
||||
ALTER COLUMN created_at TYPE TIMESTAMPTZ USING created_at AT TIME ZONE 'UTC',
|
||||
ALTER COLUMN last_updated_at TYPE TIMESTAMPTZ USING created_at AT TIME ZONE 'UTC';
|
||||
|
||||
UPDATE tasklist SET deleted_at = NOW() WHERE last_updated_at < NOW() - INTERVAL '24h';
|
||||
UPDATE tasklist SET completed_at = last_updated_at WHERE complete;
|
||||
|
||||
ALTER TABLE tasklist
|
||||
DROP COLUMN complete;
|
||||
|
||||
|
||||
-- Mark all tasklist entries older than a day as deleted
|
||||
@@ -135,10 +135,11 @@ CREATE TABLE tasklist(
|
||||
taskid SERIAL PRIMARY KEY,
|
||||
userid BIGINT NOT NULL,
|
||||
content TEXT NOT NULL,
|
||||
complete BOOL DEFAULT FALSE,
|
||||
rewarded BOOL DEFAULT FALSE,
|
||||
created_at TIMESTAMP DEFAULT (now() at time zone 'utc'),
|
||||
last_updated_at TIMESTAMP DEFAULT (now() at time zone 'utc')
|
||||
deleted_at TIMESTAMPTZ,
|
||||
completed_at TIMESTAMPTZ,
|
||||
created_at TIMESTAMPTZ,
|
||||
last_updated_at TIMESTAMPTZ
|
||||
);
|
||||
CREATE INDEX tasklist_users ON tasklist (userid);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user