File refs in one table
Added a file service Refactored evidence and vendor compliance associated services and resolvers Created SQL migration scripts Updated GraphQL schema accordingly and the UI components Removed unused methods and resolvers for evidence service Signed-off-by: Yannis Varni <yannis@edinomis.fr>
This commit is contained in:
committed by
Sacha Al Himdani
parent
3822b1916c
commit
ff7ba08fc1
41
pkg/coredata/migrations/20251003T132724Z.sql
Normal file
41
pkg/coredata/migrations/20251003T132724Z.sql
Normal file
@@ -0,0 +1,41 @@
|
||||
ALTER TABLE evidences
|
||||
ADD COLUMN evidence_file_id text;
|
||||
|
||||
/* 10 is for FileEntityType */
|
||||
WITH
|
||||
evidence_files AS (
|
||||
SELECT
|
||||
e.id as evidence_id,
|
||||
generate_gid(decode_base64_unpadded(e.tenant_id), 25) as file_id,
|
||||
e.tenant_id,
|
||||
'probod' as bucket_name,
|
||||
e.mime_type,
|
||||
e.filename,
|
||||
e.object_key,
|
||||
e.size,
|
||||
e.created_at,
|
||||
e.updated_at
|
||||
FROM evidences e
|
||||
),
|
||||
inserted_files AS (
|
||||
INSERT INTO files (id, tenant_id, bucket_name, mime_type, file_name, file_key, file_size, created_at, updated_at)
|
||||
SELECT file_id, tenant_id, bucket_name, mime_type, filename, object_key::uuid, size, created_at, updated_at
|
||||
FROM evidence_files
|
||||
RETURNING id, tenant_id
|
||||
)
|
||||
|
||||
SELECT ef.evidence_id, ef.file_id
|
||||
INTO TEMP TABLE file_evidence_mapping
|
||||
FROM evidence_files ef;
|
||||
|
||||
UPDATE evidences
|
||||
SET evidence_file_id = fm.file_id
|
||||
FROM file_evidence_mapping fm
|
||||
WHERE evidences.id = fm.evidence_id;
|
||||
|
||||
|
||||
ALTER TABLE evidences
|
||||
ALTER COLUMN filename DROP NOT NULL,
|
||||
ALTER COLUMN mime_type DROP NOT NULL,
|
||||
ALTER COLUMN size DROP NOT NULL,
|
||||
ALTER COLUMN oject_key DROP NOT NULL;
|
||||
Reference in New Issue
Block a user