Extend tenant maintenance lock for imports
All checks were successful
Build and Push Docker Images / build-backend (push) Successful in 27s
Build and Push Docker Images / build-frontend (push) Successful in 1m11s
Build and Push Docker Images / build-website (push) Successful in 18s
Build and Push Docker Images / build-docs (push) Successful in 16s

This commit is contained in:
2026-07-14 11:40:48 +02:00
parent ee7d3d3afc
commit a945aaffe3
8 changed files with 253 additions and 4 deletions

View File

@@ -0,0 +1,22 @@
ALTER TABLE "tenant_export_jobs"
ADD COLUMN IF NOT EXISTS "operation" text DEFAULT 'export' NOT NULL,
ADD COLUMN IF NOT EXISTS "previous_tenant_locked" "locked_tenant";
ALTER TABLE "tenants"
ADD COLUMN IF NOT EXISTS "locked_by_export_job_id" uuid;
DO $$
BEGIN
IF NOT EXISTS (
SELECT 1
FROM information_schema.table_constraints
WHERE constraint_schema = 'public'
AND constraint_name = 'tenants_locked_by_export_job_id_tenant_export_jobs_id_fk'
) THEN
ALTER TABLE "tenants"
ADD CONSTRAINT "tenants_locked_by_export_job_id_tenant_export_jobs_id_fk"
FOREIGN KEY ("locked_by_export_job_id")
REFERENCES "tenant_export_jobs"("id")
ON DELETE SET NULL;
END IF;
END $$;

View File

@@ -365,6 +365,13 @@
"when": 1783247083934,
"tag": "0054_tenant_export_jobs",
"breakpoints": true
},
{
"idx": 52,
"version": "7",
"when": 1784021669805,
"tag": "0055_tenant_export_maintenance_lock",
"breakpoints": true
}
]
}

View File

@@ -9,6 +9,7 @@ import {
import { tenants } from "./tenants"
import { authUsers } from "./auth_users"
import { lockedTenantEnum } from "./enums"
export const tenantExportJobs = pgTable("tenant_export_jobs", {
id: uuid("id").primaryKey().defaultRandom(),
@@ -26,6 +27,8 @@ export const tenantExportJobs = pgTable("tenant_export_jobs", {
createdBy: uuid("created_by").references(() => authUsers.id),
operation: text("operation").notNull().default("export"),
previousTenantLocked: lockedTenantEnum("previous_tenant_locked"),
status: text("status").notNull().default("queued"),
filename: text("filename").notNull(),
storagePath: text("storage_path"),

View File

@@ -189,6 +189,7 @@ export const tenants = pgTable(
updatedBy: uuid("updated_by").references(() => authUsers.id),
locked: lockedTenantEnum("locked"),
lockedByExportJobId: uuid("locked_by_export_job_id"),
}
)