{ "formatVersion": 1, "database": { "version": 5, "identityHash": "5f96db8ef034b3e68703165267fd3696", "entities": [ { "tableName": "links", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER NOT NULL, `url` TEXT NOT NULL, `title` TEXT NOT NULL, `description` TEXT NOT NULL, `tags` TEXT NOT NULL, `is_private` INTEGER NOT NULL, `is_pinned` INTEGER NOT NULL, `created_at` INTEGER NOT NULL, `updated_at` INTEGER NOT NULL, `sync_status` TEXT NOT NULL, `local_modified_at` INTEGER NOT NULL, `thumbnail_url` TEXT, `reading_time_minutes` INTEGER, `content_type` TEXT NOT NULL, `site_name` TEXT, `excerpt` TEXT, `link_check_status` TEXT NOT NULL, `fail_count` INTEGER NOT NULL, `last_health_check` INTEGER NOT NULL, `excluded_from_health_check` INTEGER NOT NULL, PRIMARY KEY(`id`))", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "url", "columnName": "url", "affinity": "TEXT", "notNull": true }, { "fieldPath": "title", "columnName": "title", "affinity": "TEXT", "notNull": true }, { "fieldPath": "description", "columnName": "description", "affinity": "TEXT", "notNull": true }, { "fieldPath": "tags", "columnName": "tags", "affinity": "TEXT", "notNull": true }, { "fieldPath": "isPrivate", "columnName": "is_private", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "isPinned", "columnName": "is_pinned", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "createdAt", "columnName": "created_at", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updated_at", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "syncStatus", "columnName": "sync_status", "affinity": "TEXT", "notNull": true }, { "fieldPath": "localModifiedAt", "columnName": "local_modified_at", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "thumbnailUrl", "columnName": "thumbnail_url", "affinity": "TEXT", "notNull": false }, { "fieldPath": "readingTimeMinutes", "columnName": "reading_time_minutes", "affinity": "INTEGER", "notNull": false }, { "fieldPath": "contentType", "columnName": "content_type", "affinity": "TEXT", "notNull": true }, { "fieldPath": "siteName", "columnName": "site_name", "affinity": "TEXT", "notNull": false }, { "fieldPath": "excerpt", "columnName": "excerpt", "affinity": "TEXT", "notNull": false }, { "fieldPath": "linkCheckStatus", "columnName": "link_check_status", "affinity": "TEXT", "notNull": true }, { "fieldPath": "failCount", "columnName": "fail_count", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "lastHealthCheck", "columnName": "last_health_check", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "excludedFromHealthCheck", "columnName": "excluded_from_health_check", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "indices": [ { "name": "index_links_sync_status", "unique": false, "columnNames": [ "sync_status" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_links_sync_status` ON `${TABLE_NAME}` (`sync_status`)" }, { "name": "index_links_is_private", "unique": false, "columnNames": [ "is_private" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_links_is_private` ON `${TABLE_NAME}` (`is_private`)" }, { "name": "index_links_created_at", "unique": false, "columnNames": [ "created_at" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_links_created_at` ON `${TABLE_NAME}` (`created_at`)" }, { "name": "index_links_is_pinned", "unique": false, "columnNames": [ "is_pinned" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_links_is_pinned` ON `${TABLE_NAME}` (`is_pinned`)" }, { "name": "index_links_url", "unique": true, "columnNames": [ "url" ], "orders": [], "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_links_url` ON `${TABLE_NAME}` (`url`)" }, { "name": "index_links_content_type", "unique": false, "columnNames": [ "content_type" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_links_content_type` ON `${TABLE_NAME}` (`content_type`)" }, { "name": "index_links_site_name", "unique": false, "columnNames": [ "site_name" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_links_site_name` ON `${TABLE_NAME}` (`site_name`)" }, { "name": "index_links_link_check_status", "unique": false, "columnNames": [ "link_check_status" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_links_link_check_status` ON `${TABLE_NAME}` (`link_check_status`)" }, { "name": "index_links_last_health_check", "unique": false, "columnNames": [ "last_health_check" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_links_last_health_check` ON `${TABLE_NAME}` (`last_health_check`)" } ], "foreignKeys": [] }, { "ftsVersion": "FTS4", "ftsOptions": { "tokenizer": "simple", "tokenizerArgs": [], "contentTable": "links", "languageIdColumnName": "", "matchInfo": "FTS4", "notIndexedColumns": [], "prefixSizes": [], "preferredOrder": "ASC" }, "contentSyncTriggers": [ "CREATE TRIGGER IF NOT EXISTS room_fts_content_sync_links_fts_BEFORE_UPDATE BEFORE UPDATE ON `links` BEGIN DELETE FROM `links_fts` WHERE `docid`=OLD.`rowid`; END", "CREATE TRIGGER IF NOT EXISTS room_fts_content_sync_links_fts_BEFORE_DELETE BEFORE DELETE ON `links` BEGIN DELETE FROM `links_fts` WHERE `docid`=OLD.`rowid`; END", "CREATE TRIGGER IF NOT EXISTS room_fts_content_sync_links_fts_AFTER_UPDATE AFTER UPDATE ON `links` BEGIN INSERT INTO `links_fts`(`docid`, `url`, `title`, `description`, `tags`, `excerpt`) VALUES (NEW.`rowid`, NEW.`url`, NEW.`title`, NEW.`description`, NEW.`tags`, NEW.`excerpt`); END", "CREATE TRIGGER IF NOT EXISTS room_fts_content_sync_links_fts_AFTER_INSERT AFTER INSERT ON `links` BEGIN INSERT INTO `links_fts`(`docid`, `url`, `title`, `description`, `tags`, `excerpt`) VALUES (NEW.`rowid`, NEW.`url`, NEW.`title`, NEW.`description`, NEW.`tags`, NEW.`excerpt`); END" ], "tableName": "links_fts", "createSql": "CREATE VIRTUAL TABLE IF NOT EXISTS `${TABLE_NAME}` USING FTS4(`url` TEXT NOT NULL, `title` TEXT NOT NULL, `description` TEXT NOT NULL, `tags` TEXT NOT NULL, `excerpt` TEXT, content=`links`)", "fields": [ { "fieldPath": "url", "columnName": "url", "affinity": "TEXT", "notNull": true }, { "fieldPath": "title", "columnName": "title", "affinity": "TEXT", "notNull": true }, { "fieldPath": "description", "columnName": "description", "affinity": "TEXT", "notNull": true }, { "fieldPath": "tags", "columnName": "tags", "affinity": "TEXT", "notNull": true }, { "fieldPath": "excerpt", "columnName": "excerpt", "affinity": "TEXT", "notNull": false } ], "primaryKey": { "autoGenerate": false, "columnNames": [] }, "indices": [], "foreignKeys": [] }, { "tableName": "tags", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`name` TEXT NOT NULL, `occurrences` INTEGER NOT NULL, `last_used_at` INTEGER NOT NULL, `color` INTEGER, `is_favorite` INTEGER NOT NULL, PRIMARY KEY(`name`))", "fields": [ { "fieldPath": "name", "columnName": "name", "affinity": "TEXT", "notNull": true }, { "fieldPath": "occurrences", "columnName": "occurrences", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "lastUsedAt", "columnName": "last_used_at", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "color", "columnName": "color", "affinity": "INTEGER", "notNull": false }, { "fieldPath": "isFavorite", "columnName": "is_favorite", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "name" ] }, "indices": [ { "name": "index_tags_name", "unique": true, "columnNames": [ "name" ], "orders": [], "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_tags_name` ON `${TABLE_NAME}` (`name`)" }, { "name": "index_tags_occurrences", "unique": false, "columnNames": [ "occurrences" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_tags_occurrences` ON `${TABLE_NAME}` (`occurrences`)" } ], "foreignKeys": [] }, { "tableName": "link_tag_cross_ref", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`link_id` INTEGER NOT NULL, `tag_name` TEXT NOT NULL, PRIMARY KEY(`link_id`, `tag_name`))", "fields": [ { "fieldPath": "linkId", "columnName": "link_id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "tagName", "columnName": "tag_name", "affinity": "TEXT", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "link_id", "tag_name" ] }, "indices": [], "foreignKeys": [] }, { "tableName": "collections", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT NOT NULL, `description` TEXT, `icon` TEXT NOT NULL, `color` INTEGER, `is_smart` INTEGER NOT NULL, `query` TEXT, `sort_order` INTEGER NOT NULL, `created_at` INTEGER NOT NULL, `updated_at` INTEGER NOT NULL)", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "name", "columnName": "name", "affinity": "TEXT", "notNull": true }, { "fieldPath": "description", "columnName": "description", "affinity": "TEXT", "notNull": false }, { "fieldPath": "icon", "columnName": "icon", "affinity": "TEXT", "notNull": true }, { "fieldPath": "color", "columnName": "color", "affinity": "INTEGER", "notNull": false }, { "fieldPath": "isSmart", "columnName": "is_smart", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "query", "columnName": "query", "affinity": "TEXT", "notNull": false }, { "fieldPath": "sortOrder", "columnName": "sort_order", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "createdAt", "columnName": "created_at", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updated_at", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": true, "columnNames": [ "id" ] }, "indices": [ { "name": "index_collections_name", "unique": false, "columnNames": [ "name" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_collections_name` ON `${TABLE_NAME}` (`name`)" }, { "name": "index_collections_is_smart", "unique": false, "columnNames": [ "is_smart" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_collections_is_smart` ON `${TABLE_NAME}` (`is_smart`)" }, { "name": "index_collections_sort_order", "unique": false, "columnNames": [ "sort_order" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_collections_sort_order` ON `${TABLE_NAME}` (`sort_order`)" } ], "foreignKeys": [] }, { "tableName": "collection_links", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`collection_id` INTEGER NOT NULL, `link_id` INTEGER NOT NULL, `added_at` INTEGER NOT NULL, PRIMARY KEY(`collection_id`, `link_id`))", "fields": [ { "fieldPath": "collectionId", "columnName": "collection_id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "linkId", "columnName": "link_id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "addedAt", "columnName": "added_at", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "collection_id", "link_id" ] }, "indices": [], "foreignKeys": [] } ], "views": [], "setupQueries": [ "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)", "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '5f96db8ef034b3e68703165267fd3696')" ] } }