30 lines
1.5 KiB
SQL
30 lines
1.5 KiB
SQL
|
|
-- Add folderId column to documents table for folder organization
|
||
|
|
-- Note: filename column already exists from migration 105
|
||
|
|
ALTER TABLE documents ADD COLUMN folderId uuid;
|
||
|
|
|
||
|
|
-- Add foreign key constraint to folders table
|
||
|
|
ALTER TABLE documents ADD CONSTRAINT fk_documents_folderid
|
||
|
|
FOREIGN KEY (folderId) REFERENCES folders(id);
|
||
|
|
|
||
|
|
-- Add index for efficient folder-based document queries
|
||
|
|
CREATE INDEX idx_documents_folderid ON documents(folderId);
|
||
|
|
|
||
|
|
-- Add originalPath column to store the exact path provided during upload
|
||
|
|
-- This value is IMMUTABLE after creation - it preserves the original upload path
|
||
|
|
-- even if the document is later moved to a different virtual folder
|
||
|
|
ALTER TABLE documents ADD COLUMN originalPath text;
|
||
|
|
COMMENT ON COLUMN documents.originalPath IS
|
||
|
|
'Original path provided during upload. IMMUTABLE after creation - never modify this value.';
|
||
|
|
|
||
|
|
-- Add comments to clarify immutability of S3 storage fields
|
||
|
|
COMMENT ON COLUMN documentEntries.key IS
|
||
|
|
'S3 object key. IMMUTABLE after creation - never modify this value.';
|
||
|
|
COMMENT ON COLUMN documentEntries.bucket IS
|
||
|
|
'S3 bucket name. IMMUTABLE after creation - never modify this value.';
|
||
|
|
|
||
|
|
-- Add comment to clarify that folders are virtual (database-only, no S3 relationship)
|
||
|
|
COMMENT ON TABLE folders IS
|
||
|
|
'Virtual folder hierarchy for document organization. Database-only - has no direct relationship to S3 storage locations.';
|
||
|
|
COMMENT ON COLUMN folders.path IS
|
||
|
|
'Virtual folder path (e.g., "/contracts/2025"). Can be renamed without affecting S3 storage.';
|