diff --git a/persistence/migrations/001_dendrite_db_init.sql b/persistence/migrations/001_dendrite_db_init.sql deleted file mode 100644 index 90584bc..0000000 --- a/persistence/migrations/001_dendrite_db_init.sql +++ /dev/null @@ -1,21 +0,0 @@ -CREATE TABLE IF NOT EXISTS notes ( - id TEXT PRIMARY KEY, - path TEXT UNIQUE, - title TEXT, - slug TEXT UNIQUE NOT NULL, - created_at TEXT NOT NULL, - updated_at TEXT NOT NULL -); - -CREATE TABLE IF NOT EXISTS links ( - from_note_id TEXT NOT NULL, - to_note_id TEXT NOT NULL, - raw TEXT, - FOREIGN KEY(from_note_id) REFERENCES notes(id) ON DELETE CASCADE, - FOREIGN KEY(to_note_id) REFERENCES notes(id) ON DELETE CASCADE -); - -CREATE INDEX IF NOT EXISTS idx_notes_slug ON notes(slug); -CREATE INDEX IF NOT EXISTS idx_links_from ON links(from_note_id); -CREATE INDEX IF NOT EXISTS idx_links_to ON links(to_note_id); - diff --git a/persistence/migrations/001_note.sql b/persistence/migrations/001_note.sql new file mode 100644 index 0000000..9a5214b --- /dev/null +++ b/persistence/migrations/001_note.sql @@ -0,0 +1,12 @@ +CREATE TABLE IF NOT EXISTS note ( + id TEXT PRIMARY KEY, + path TEXT UNIQUE, + title TEXT, + slug TEXT UNIQUE NOT NULL, + created_at TEXT NOT NULL, + updated_at TEXT NOT NULL +); + + +CREATE INDEX IF NOT EXISTS idx_note_slug ON note(slug); + diff --git a/persistence/migrations/002_tags.sql b/persistence/migrations/002_tags.sql index f8e59dc..bf0bc27 100644 --- a/persistence/migrations/002_tags.sql +++ b/persistence/migrations/002_tags.sql @@ -1,12 +1,12 @@ -CREATE TABLE IF NOT EXISTS tags ( +CREATE TABLE IF NOT EXISTS tag ( id TEXT PRIMARY KEY, name TEXT UNIQUE ); -CREATE TABLE IF NOT EXISTS note_tags ( +CREATE TABLE IF NOT EXISTS note_tag ( note_id TEXT, tag_id TEXT, PRIMARY KEY (note_id, tag_id), - FOREIGN KEY(note_id) REFERENCES notes(id) ON DELETE CASCADE, - FOREIGN KEY(tag_id) REFERENCES tags(id) ON DELETE CASCADE + FOREIGN KEY(note_id) REFERENCES note(id) ON DELETE CASCADE, + FOREIGN KEY(tag_id) REFERENCES tag(id) ON DELETE CASCADE ); diff --git a/persistence/migrations/003_link.sql b/persistence/migrations/003_link.sql new file mode 100644 index 0000000..a7b77ec --- /dev/null +++ b/persistence/migrations/003_link.sql @@ -0,0 +1,14 @@ +CREATE TABLE IF NOT EXISTS link ( + id TEXT PRIMARY KEY, + from_note_id TEXT NOT NULL, + target_slug TEXT NOT NULL, + display TEXT, + raw TEXT NOT NULL, + line INTEGER NOT NULL, + col INTEGER NOT NULL, + FOREIGN KEY(from_note_id) REFERENCES note(id) ON DELETE CASCADE, +); + +CREATE INDEX idx_link_from ON links(from_note_id); +CREATE INDEX idx_link_target ON links(target_slug); +