Add application migration workflow.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
CREATE TABLE IF NOT EXISTS application_migration_jobs (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
"applicationId" UUID NOT NULL REFERENCES applications(id) ON DELETE CASCADE,
|
||||
"requestedBy" UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||
"sourceClusterId" UUID NOT NULL REFERENCES clusters(id) ON DELETE RESTRICT,
|
||||
"targetClusterId" UUID NOT NULL REFERENCES clusters(id) ON DELETE RESTRICT,
|
||||
status VARCHAR NOT NULL DEFAULT 'queued',
|
||||
attempts INTEGER NOT NULL DEFAULT 0,
|
||||
"maxAttempts" INTEGER NOT NULL DEFAULT 3,
|
||||
"currentStep" VARCHAR,
|
||||
"errorMessage" VARCHAR,
|
||||
metadata JSONB,
|
||||
"startedAt" TIMESTAMPTZ,
|
||||
"completedAt" TIMESTAMPTZ,
|
||||
"createdAt" TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
"updatedAt" TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_application_migration_jobs_app_created
|
||||
ON application_migration_jobs("applicationId", "createdAt" DESC);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_application_migration_jobs_status
|
||||
ON application_migration_jobs(status);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS application_migration_events (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
"migrationId" UUID NOT NULL REFERENCES application_migration_jobs(id) ON DELETE CASCADE,
|
||||
step VARCHAR NOT NULL,
|
||||
level VARCHAR NOT NULL DEFAULT 'info',
|
||||
message VARCHAR NOT NULL,
|
||||
metadata JSONB,
|
||||
"createdAt" TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_application_migration_events_migration_created
|
||||
ON application_migration_events("migrationId", "createdAt" ASC);
|
||||
Reference in New Issue
Block a user