Skip to main content

max / goingson

1.1 KB · 25 lines History Blame Raw
1 -- Migrate backup frequency from hours to minutes for finer-grained scheduling.
2 -- SQLite doesn't support RENAME COLUMN in older versions, so recreate the table.
3 -- Convert existing hours values to minutes (multiply by 60).
4
5 CREATE TABLE backup_settings_new (
6 id TEXT PRIMARY KEY,
7 user_id TEXT NOT NULL REFERENCES users(id),
8 auto_backup_enabled INTEGER NOT NULL DEFAULT 1,
9 backup_frequency_minutes INTEGER NOT NULL DEFAULT 15,
10 max_backups_to_keep INTEGER NOT NULL DEFAULT 1,
11 last_backup_at TEXT,
12 created_at TEXT NOT NULL,
13 updated_at TEXT NOT NULL,
14 UNIQUE(user_id)
15 );
16
17 INSERT INTO backup_settings_new (id, user_id, auto_backup_enabled, backup_frequency_minutes, max_backups_to_keep, last_backup_at, created_at, updated_at)
18 SELECT id, user_id, auto_backup_enabled, backup_frequency_hours * 60, max_backups_to_keep, last_backup_at, created_at, updated_at
19 FROM backup_settings;
20
21 DROP TABLE backup_settings;
22 ALTER TABLE backup_settings_new RENAME TO backup_settings;
23
24 CREATE INDEX IF NOT EXISTS idx_backup_settings_user_id ON backup_settings(user_id);
25