@@ -18,8 +18,7 @@
|
||||
"heartbeat_path": "/run/product-vamp/heartbeat.json"
|
||||
},
|
||||
"database": {
|
||||
"path": "/var/lib/product-vamp/vamp.db",
|
||||
"migrations_path": "/usr/share/product-vamp/migrations"
|
||||
"path": "/var/lib/product-vamp/vamp.db"
|
||||
},
|
||||
"control": {
|
||||
"endpoint": {
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
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;
|
||||
@@ -1,5 +0,0 @@
|
||||
ALTER TABLE songs ADD COLUMN part TEXT NOT NULL DEFAULT '';
|
||||
-- vamp-statement
|
||||
ALTER TABLE songs ADD COLUMN source_path TEXT NOT NULL DEFAULT '';
|
||||
-- vamp-statement
|
||||
CREATE INDEX idx_songs_title_part ON songs(title, part);
|
||||
@@ -1,14 +0,0 @@
|
||||
ALTER TABLE songs ADD COLUMN key_signature TEXT NOT NULL DEFAULT '';
|
||||
-- vamp-statement
|
||||
CREATE TABLE practice_exercises (
|
||||
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 '',
|
||||
key_signature TEXT NOT NULL DEFAULT 'C',
|
||||
source_json TEXT NOT NULL CHECK(json_valid(source_json)),
|
||||
source_path TEXT NOT NULL DEFAULT '',
|
||||
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 INDEX idx_practice_exercises_title ON practice_exercises(title);
|
||||
@@ -1,9 +0,0 @@
|
||||
ALTER TABLE practice_exercises ADD COLUMN practice_type_id TEXT NOT NULL DEFAULT 'general';
|
||||
-- vamp-statement
|
||||
ALTER TABLE practice_exercises ADD COLUMN practice_type_title TEXT NOT NULL DEFAULT 'General Practice';
|
||||
-- vamp-statement
|
||||
ALTER TABLE practice_exercises ADD COLUMN lesson_group_id TEXT NOT NULL DEFAULT 'general';
|
||||
-- vamp-statement
|
||||
ALTER TABLE practice_exercises ADD COLUMN lesson_group_title TEXT NOT NULL DEFAULT 'General';
|
||||
-- vamp-statement
|
||||
CREATE INDEX idx_practice_exercises_hierarchy ON practice_exercises(practice_type_id, lesson_group_id, source_path, title);
|
||||
@@ -1,7 +0,0 @@
|
||||
ALTER TABLE songs ADD COLUMN catalog_managed INTEGER NOT NULL DEFAULT 1 CHECK(catalog_managed IN (0, 1));
|
||||
-- vamp-statement
|
||||
ALTER TABLE practice_exercises ADD COLUMN catalog_managed INTEGER NOT NULL DEFAULT 1 CHECK(catalog_managed IN (0, 1));
|
||||
-- vamp-statement
|
||||
CREATE INDEX idx_songs_catalog_managed ON songs(catalog_managed);
|
||||
-- vamp-statement
|
||||
CREATE INDEX idx_practice_exercises_catalog_managed ON practice_exercises(catalog_managed);
|
||||
Reference in New Issue
Block a user