CREATE TABLE IF NOT EXISTS listing_towns ( id SERIAL PRIMARY KEY, listing_id INTEGER NOT NULL REFERENCES listings(id) ON DELETE CASCADE, town VARCHAR(100) NOT NULL, UNIQUE(listing_id, town) ); CREATE TABLE IF NOT EXISTS service_listing_towns ( id SERIAL PRIMARY KEY, service_listing_id INTEGER NOT NULL REFERENCES service_listings(id) ON DELETE CASCADE, town VARCHAR(100) NOT NULL, UNIQUE(service_listing_id, town) );