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/20251003T151644Z.sql
Normal file
41
pkg/coredata/migrations/20251003T151644Z.sql
Normal file
@@ -0,0 +1,41 @@
|
||||
ALTER TABLE
|
||||
vendor_compliance_reports
|
||||
ADD COLUMN report_file_id text
|
||||
REFERENCES files(id)
|
||||
ON UPDATE CASCADE
|
||||
ON DELETE RESTRICT;
|
||||
|
||||
WITH
|
||||
/* 25 is for FileEntityType */
|
||||
vcr_files AS (
|
||||
SELECT
|
||||
vcr.id as report_id,
|
||||
generate_gid(decode_base64_unpadded(vcr.tenant_id), 25) as file_id,
|
||||
vcr.tenant_id,
|
||||
'probod' as bucket_name,
|
||||
'application/pdf' as mime_type,
|
||||
vcr.report_name,
|
||||
vcr.file_key,
|
||||
vcr.file_size,
|
||||
vcr.created_at,
|
||||
vcr.updated_at
|
||||
FROM vendor_compliance_reports vcr
|
||||
),
|
||||
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, report_name, file_key::uuid, file_size, created_at, updated_at
|
||||
FROM vcr_files
|
||||
RETURNING id, tenant_id
|
||||
)
|
||||
SELECT vf.report_id, vf.file_id
|
||||
INTO TEMP TABLE file_vcr_mapping
|
||||
FROM vcr_files vf;
|
||||
|
||||
UPDATE vendor_compliance_reports
|
||||
SET report_file_id = fv.file_id
|
||||
FROM file_vcr_mapping fv
|
||||
WHERE vendor_compliance_reports.id = fv.report_id;
|
||||
|
||||
ALTER TABLE vendor_compliance_reports
|
||||
ALTER COLUMN file_key DROP NOT NULL,
|
||||
ALTER COLUMN file_size DROP NOT NULL;
|
||||
Reference in New Issue
Block a user