Skip to main content

MIGRATION_001_SQL

Constant MIGRATION_001_SQL 

Source
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.