16 lines
486 B
SQL
16 lines
486 B
SQL
-- Add constraint to prevent bids on inactive listings
|
|
-- This ensures atomicity at the database level
|
|
|
|
-- Create a trigger to prevent bids on inactive listings
|
|
-- This is more reliable than CHECK constraints in SQLite
|
|
CREATE TRIGGER prevent_bid_on_inactive_listing
|
|
BEFORE INSERT ON bids
|
|
FOR EACH ROW
|
|
WHEN (
|
|
SELECT COALESCE(is_active, 0) FROM listings WHERE id = NEW.listing_id
|
|
) != 1
|
|
BEGIN
|
|
SELECT RAISE(ABORT, 'Cannot place bid on inactive listing');
|
|
END;
|
|
|