CREATE TABLE users(
    uuid TEXT PRIMARY KEY,
    name TEXT UNIQUE,
    password TEXT,
    admin BOOLEAN,
    state TEXT
);

CREATE TABLE sessions(
    id TEXT PRIMARY KEY,
    user_id TEXT,

    FOREIGN KEY(user_id) REFERENCES users(uuid)
);

CREATE TABLE games(
    id TEXT PRIMARY KEY,
    type_ TEXT,
    gm TEXT,
    name TEXT,

    FOREIGN KEY(gm) REFERENCES users(uuid)
);

CREATE TABLE characters(
    uuid TEXT PRIMARY KEY,
    game TEXT,
    data TEXT,

    FOREIGN KEY(game) REFERENCES games(uuid)
);

CREATE TABLE roles(
    user_id TEXT,
    game_id TEXT,
    role TEXT,

    FOREIGN KEY(user_id) REFERENCES users(uuid),
    FOREIGN KEY(game_id) REFERENCES games(uuid)
);