pub const MIGRATION_001_SQL: &str = r#"
CREATE TABLE IF NOT EXISTS schema_migrations (
version INTEGER PRIMARY KEY,
applied_at INTEGER NOT NULL,
description TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS bookmarks (
id TEXT PRIMARY KEY,
original_url TEXT NOT NULL,
canonical_url TEXT NOT NULL,
title TEXT NOT NULL DEFAULT '',
description TEXT,
collection TEXT,
source_kind TEXT NOT NULL,
source_id TEXT,
external_id TEXT,
added_at INTEGER NOT NULL,
last_seen_at INTEGER NOT NULL,
raw TEXT,
archived INTEGER NOT NULL DEFAULT 0
);
CREATE UNIQUE INDEX IF NOT EXISTS bookmarks_canonical_url_uidx
ON bookmarks (canonical_url) WHERE archived = 0;
CREATE INDEX IF NOT EXISTS bookmarks_last_seen_idx ON bookmarks (last_seen_at DESC);
CREATE INDEX IF NOT EXISTS bookmarks_collection_idx ON bookmarks (collection);
CREATE TABLE IF NOT EXISTS tags (
bookmark_id TEXT NOT NULL,
tag TEXT NOT NULL,
PRIMARY KEY (bookmark_id, tag),
FOREIGN KEY (bookmark_id) REFERENCES bookmarks(id) ON DELETE CASCADE
);
CREATE INDEX IF NOT EXISTS tags_tag_idx ON tags (tag);
"#;Expand description
SQL body for migration version 1. Stored separately so the const initializers above stay readable.