c10fa98d0a
Restore original migrations (001-120) to fix schema_migrations version mismatch * Restore original migrations (001-120) to fix schema_migrations version mismatch The previous migration collapse broke deployed databases because: - Dev database was at version 120 (the real remove_text_extraction migration) - Main had collapsed migrations (001-012) + stub files (119_stub, 120_stub) - The migrate tool couldn't find version 119/120 with matching content This commit restores the original 27 migrations (versions 001-120) from before the collapse, ensuring backward compatibility with existing databases.
31 lines
1.2 KiB
SQL
31 lines
1.2 KiB
SQL
-- Add unique constraint to prevent duplicate versions per document
|
|
-- This ensures that concurrent requests cannot create the same version number
|
|
|
|
-- First, add documentId column to versions table for easier constraint enforcement
|
|
ALTER TABLE documentFieldExtractionVersions
|
|
ADD COLUMN documentId uuid;
|
|
|
|
-- Populate documentId from the joined extraction record
|
|
UPDATE documentFieldExtractionVersions dfev
|
|
SET documentId = dfe.documentId
|
|
FROM documentFieldExtractions dfe
|
|
WHERE dfev.fieldExtractionId = dfe.id;
|
|
|
|
-- Make documentId NOT NULL after populating
|
|
ALTER TABLE documentFieldExtractionVersions
|
|
ALTER COLUMN documentId SET NOT NULL;
|
|
|
|
-- Add foreign key constraint (documents table has 'id' as primary key)
|
|
ALTER TABLE documentFieldExtractionVersions
|
|
ADD CONSTRAINT fk_documentfieldextractionversions_documentid
|
|
FOREIGN KEY (documentId) REFERENCES documents(id);
|
|
|
|
-- Add unique constraint on documentId + version
|
|
-- This prevents duplicate version numbers for the same document
|
|
CREATE UNIQUE INDEX idx_unique_version_per_document
|
|
ON documentFieldExtractionVersions(documentId, version);
|
|
|
|
-- Add index for efficient lookups by documentId
|
|
CREATE INDEX idx_documentfieldextractionversions_documentid
|
|
ON documentFieldExtractionVersions(documentId);
|