19 lines
857 B
SQL
19 lines
857 B
SQL
CREATE TABLE songs (
|
|
id TEXT PRIMARY KEY NOT NULL CHECK(length(trim(id)) BETWEEN 1 AND 120),
|
|
title TEXT NOT NULL CHECK(length(trim(title)) BETWEEN 1 AND 200),
|
|
composer TEXT NOT NULL DEFAULT '',
|
|
source_json TEXT NOT NULL CHECK(json_valid(source_json)),
|
|
created_at_ms INTEGER NOT NULL CHECK(created_at_ms >= 0),
|
|
updated_at_ms INTEGER NOT NULL CHECK(updated_at_ms >= created_at_ms)
|
|
) STRICT;
|
|
-- vamp-statement
|
|
CREATE TABLE page_state (
|
|
id INTEGER PRIMARY KEY CHECK(id = 1),
|
|
song_id TEXT NOT NULL CHECK(length(trim(song_id)) BETWEEN 1 AND 120),
|
|
page_index INTEGER NOT NULL CHECK(page_index >= 0),
|
|
next_count INTEGER NOT NULL DEFAULT 0 CHECK(next_count >= 0),
|
|
previous_count INTEGER NOT NULL DEFAULT 0 CHECK(previous_count >= 0),
|
|
last_command TEXT NOT NULL DEFAULT '',
|
|
updated_at_ms INTEGER NOT NULL CHECK(updated_at_ms >= 0)
|
|
) STRICT;
|