Create quality__inspection_record table CREATE TABLE quality__inspection_record ( id uuid PRIMARY KEY, code varchar(64) NOT NULL, item_code varchar(64) NOT NULL, source_reference varchar(128) NOT NULL, decision varchar(16) NOT NULL, inspected_quantity numeric(18,4) NOT NULL, rejected_quantity numeric(18,4) NOT NULL, inspector varchar(128) NOT NULL, reason varchar(512), inspected_at timestamptz NOT NULL, created_at timestamptz NOT NULL, created_by varchar(128) NOT NULL, updated_at timestamptz NOT NULL, updated_by varchar(128) NOT NULL, version bigint NOT NULL DEFAULT 0, CONSTRAINT quality__inspection_record_decision_check CHECK (decision IN ('APPROVED', 'REJECTED')), CONSTRAINT quality__inspection_record_inspected_pos CHECK (inspected_quantity > 0), CONSTRAINT quality__inspection_record_rejected_nonneg CHECK (rejected_quantity >= 0), CONSTRAINT quality__inspection_record_rejected_bounded CHECK (rejected_quantity <= inspected_quantity) ); CREATE UNIQUE INDEX quality__inspection_record_code_uk ON quality__inspection_record (code); CREATE INDEX quality__inspection_record_item_idx ON quality__inspection_record (item_code); CREATE INDEX quality__inspection_record_source_idx ON quality__inspection_record (source_reference); CREATE INDEX quality__inspection_record_decision_idx ON quality__inspection_record (decision); CREATE INDEX quality__inspection_record_inspected_at_idx ON quality__inspection_record (inspected_at); DROP TABLE quality__inspection_record;