feat(backup): add containerarchive-backed backup storage, restore, download, and pruning support
This commit is contained in:
13
ts/database/migrations/migration-014-containerarchive.ts
Normal file
13
ts/database/migrations/migration-014-containerarchive.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
import { BaseMigration } from './base-migration.ts';
|
||||
import type { TQueryFunction } from '../types.ts';
|
||||
|
||||
export class Migration014ContainerArchive extends BaseMigration {
|
||||
readonly version = 14;
|
||||
readonly description = 'Add containerarchive snapshot tracking to backups';
|
||||
|
||||
up(query: TQueryFunction): void {
|
||||
query('ALTER TABLE backups ADD COLUMN snapshot_id TEXT');
|
||||
query('ALTER TABLE backups ADD COLUMN stored_size_bytes INTEGER DEFAULT 0');
|
||||
query('CREATE INDEX IF NOT EXISTS idx_backups_snapshot ON backups(snapshot_id)');
|
||||
}
|
||||
}
|
||||
@@ -20,6 +20,7 @@ import { Migration010BackupSchedules } from './migration-010-backup-schedules.ts
|
||||
import { Migration011ScopeColumns } from './migration-011-scope-columns.ts';
|
||||
import { Migration012GfsRetention } from './migration-012-gfs-retention.ts';
|
||||
import { Migration013AppTemplateVersion } from './migration-013-app-template-version.ts';
|
||||
import { Migration014ContainerArchive } from './migration-014-containerarchive.ts';
|
||||
import type { BaseMigration } from './base-migration.ts';
|
||||
|
||||
export class MigrationRunner {
|
||||
@@ -44,6 +45,7 @@ export class MigrationRunner {
|
||||
new Migration011ScopeColumns(),
|
||||
new Migration012GfsRetention(),
|
||||
new Migration013AppTemplateVersion(),
|
||||
new Migration014ContainerArchive(),
|
||||
].sort((a, b) => a.version - b.version);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user