70 lines
1.8 KiB
SQL
70 lines
1.8 KiB
SQL
REVOKE ALL ON FUNCTION condon.create_usage_record_v2(
|
|
uuid,
|
|
uuid,
|
|
uuid,
|
|
varchar,
|
|
date,
|
|
date,
|
|
varchar,
|
|
smallint,
|
|
text,
|
|
uuid
|
|
) FROM PUBLIC;
|
|
REVOKE ALL ON FUNCTION condon.ensure_booking_for_usage() FROM PUBLIC;
|
|
|
|
DROP FUNCTION condon.create_usage_record_v2(
|
|
uuid,
|
|
uuid,
|
|
uuid,
|
|
varchar,
|
|
date,
|
|
date,
|
|
varchar,
|
|
smallint,
|
|
text,
|
|
uuid
|
|
);
|
|
DROP TRIGGER usage_records_booking_trg ON condon.usage_records;
|
|
DROP FUNCTION condon.ensure_booking_for_usage();
|
|
|
|
DROP INDEX condon.usage_records_source_location_key;
|
|
DROP INDEX condon.bookings_created_idx;
|
|
|
|
ALTER TABLE condon.usage_records
|
|
DROP CONSTRAINT usage_records_confirmation_booking_fk,
|
|
DROP CONSTRAINT usage_records_room_count_check,
|
|
DROP CONSTRAINT usage_records_source_location_check,
|
|
DROP CONSTRAINT usage_records_multiplier_check,
|
|
DROP CONSTRAINT usage_records_use_nights_check,
|
|
DROP CONSTRAINT usage_records_balance_check;
|
|
|
|
ALTER TABLE condon.usage_records
|
|
DROP COLUMN import_batch,
|
|
DROP COLUMN source_sequence,
|
|
DROP COLUMN source_row,
|
|
DROP COLUMN source_sheet,
|
|
DROP COLUMN room_count,
|
|
DROP COLUMN raw_used_room_type;
|
|
|
|
ALTER TABLE condon.usage_records
|
|
ALTER COLUMN used_room_type_code SET NOT NULL,
|
|
ALTER COLUMN applied_multiplier SET NOT NULL;
|
|
|
|
ALTER TABLE condon.usage_records
|
|
ADD CONSTRAINT usage_records_confirmation_no_key UNIQUE (confirmation_no),
|
|
ADD CONSTRAINT usage_records_multiplier_check
|
|
CHECK (applied_multiplier BETWEEN 1 AND 3),
|
|
ADD CONSTRAINT usage_records_use_nights_check
|
|
CHECK (
|
|
use_nights = night_count * applied_multiplier
|
|
AND use_nights > 0
|
|
),
|
|
ADD CONSTRAINT usage_records_balance_check
|
|
CHECK (
|
|
balance_before >= use_nights
|
|
AND balance_after = balance_before - use_nights
|
|
AND balance_after >= 0
|
|
);
|
|
|
|
DROP TABLE condon.bookings;
|