-- +goose Up
CREATE TABLE users (
    id int GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
    username varchar(20) UNIQUE NOT NULL,
    password char(60) NOT NULL
);

CREATE TABLE favourites (
    id int GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
    user_id int NOT NULL,
    event_guid uuid,
    event_id int,
    UNIQUE(user_id, event_guid, event_id),
    CONSTRAINT chk_favourites CHECK (event_guid IS NOT NULL OR event_id IS NOT NULL),
    FOREIGN KEY (user_id) REFERENCES users(id)
);

