chore: update cli-latest and core schema migration
This commit is contained in:
parent
1941a2626d
commit
a7cca50f17
@ -1 +1 @@
|
||||
v2.58.5
|
||||
v2.75.0
|
||||
@ -239,7 +239,62 @@ create table if not exists public.audit_logs (
|
||||
);
|
||||
comment on table public.audit_logs is 'System-wide audit trail for important operations';
|
||||
|
||||
--[ 9. Indexes ]--
|
||||
--[ 9. Exam Specifications ]--
|
||||
create table if not exists public.eb_specifications (
|
||||
id uuid primary key default uuid_generate_v4(),
|
||||
spec_code text unique,
|
||||
exam_board_code text,
|
||||
award_code text,
|
||||
subject_code text,
|
||||
first_teach text,
|
||||
spec_ver text,
|
||||
|
||||
-- Document storage details
|
||||
storage_loc text,
|
||||
doc_type text check (doc_type in ('pdf', 'json', 'md', 'html', 'txt', 'doctags')),
|
||||
doc_details jsonb default '{}'::jsonb, -- e.g. Tika extract
|
||||
docling_docs jsonb default '{}'::jsonb, -- e.g. Docling extracts settings and storage locations
|
||||
|
||||
created_at timestamp with time zone default timezone('utc'::text, now()),
|
||||
updated_at timestamp with time zone default timezone('utc'::text, now())
|
||||
);
|
||||
|
||||
comment on table public.eb_specifications is 'Exam board specifications and their primary document';
|
||||
comment on column public.eb_specifications.spec_code is 'Unique code for the specification, used for linking exams';
|
||||
comment on column public.eb_specifications.doc_details is 'Tika extract of the specification document';
|
||||
comment on column public.eb_specifications.docling_docs is 'Docling extracts settings and storage locations for the specification document';
|
||||
|
||||
--[ 10. Exam Papers / Entries ]--
|
||||
create table if not exists public.eb_exams (
|
||||
id uuid primary key default uuid_generate_v4(),
|
||||
exam_code text unique,
|
||||
spec_code text references public.eb_specifications(spec_code) on delete cascade,
|
||||
paper_code text,
|
||||
tier text,
|
||||
session text,
|
||||
type_code text,
|
||||
|
||||
-- Document storage details
|
||||
storage_loc text,
|
||||
doc_type text check (doc_type in ('pdf', 'json', 'md', 'html', 'txt', 'doctags')),
|
||||
doc_details jsonb default '{}'::jsonb, -- e.g. Tika extract
|
||||
docling_docs jsonb default '{}'::jsonb, -- e.g. Docling extracts settings and storage locations
|
||||
|
||||
created_at timestamp with time zone default timezone('utc'::text, now()),
|
||||
updated_at timestamp with time zone default timezone('utc'::text, now())
|
||||
);
|
||||
|
||||
comment on table public.eb_exams is 'Exam papers and related documents linked to specifications';
|
||||
comment on column public.eb_exams.exam_code is 'Unique code for the exam paper, used for linking questions';
|
||||
comment on column public.eb_exams.type_code is 'Type code for the exam document: Question Paper (QP), Mark Scheme (MS), Examiner Report (ER), Other (OT)';
|
||||
comment on column public.eb_exams.doc_details is 'Tika extract of the exam paper document';
|
||||
comment on column public.eb_exams.docling_docs is 'Docling extracts settings and storage locations for the exam paper document';
|
||||
|
||||
--[ 11. Indexes ]--
|
||||
-- Index for geospatial queries
|
||||
create index if not exists idx_institutes_geo_coordinates on public.institutes using gin(geo_coordinates);
|
||||
create index if not exists idx_institutes_urn on public.institutes(urn);
|
||||
|
||||
-- Document artefacts indexes
|
||||
create index if not exists idx_document_artefacts_file_status on public.document_artefacts(file_id, status);
|
||||
create index if not exists idx_document_artefacts_file_type on public.document_artefacts(file_id, type);
|
||||
@ -253,7 +308,19 @@ create index if not exists idx_files_category on public.files(category);
|
||||
-- Brain indexes
|
||||
create index if not exists idx_brains_user_id on public.brains(user_id);
|
||||
|
||||
--[ 10. Triggers ]--
|
||||
-- Exam board indexes
|
||||
create index if not exists idx_eb_exams_exam_code on public.eb_exams(exam_code);
|
||||
create index if not exists idx_eb_exams_spec_code on public.eb_exams(spec_code);
|
||||
create index if not exists idx_eb_exams_paper_code on public.eb_exams(paper_code);
|
||||
create index if not exists idx_eb_exams_tier on public.eb_exams(tier);
|
||||
create index if not exists idx_eb_exams_session on public.eb_exams(session);
|
||||
create index if not exists idx_eb_exams_type_code on public.eb_exams(type_code);
|
||||
create index if not exists idx_eb_specifications_spec_code on public.eb_specifications(spec_code);
|
||||
create index if not exists idx_eb_specifications_exam_board_code on public.eb_specifications(exam_board_code);
|
||||
create index if not exists idx_eb_specifications_award_code on public.eb_specifications(award_code);
|
||||
create index if not exists idx_eb_specifications_subject_code on public.eb_specifications(subject_code);
|
||||
|
||||
--[ 12. Triggers ]--
|
||||
-- Set completed_at when document artefact status changes to completed
|
||||
create trigger trigger_set_completed_at
|
||||
before update on public.document_artefacts
|
||||
@ -284,7 +351,14 @@ create trigger trigger_institute_membership_requests_updated_at
|
||||
for each row
|
||||
execute function public.handle_updated_at();
|
||||
|
||||
--[ 11. Additional Indexes ]--
|
||||
-- Index for geospatial queries
|
||||
create index if not exists idx_institutes_geo_coordinates on public.institutes using gin(geo_coordinates);
|
||||
create index if not exists idx_institutes_urn on public.institutes(urn);
|
||||
-- Set updated_at on eb_specifications updates
|
||||
create trigger trigger_eb_specifications_updated_at
|
||||
before update on public.eb_specifications
|
||||
for each row
|
||||
execute function public.handle_updated_at();
|
||||
|
||||
-- Set updated_at on eb_exams updates
|
||||
create trigger trigger_eb_exams_updated_at
|
||||
before update on public.eb_exams
|
||||
for each row
|
||||
execute function public.handle_updated_at();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user