{ "formatVersion": 1, "database": { "version": 92, "identityHash": "43e0a02ed8063766bf739654b904fd27", "entities": [ { "tableName": "books", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`bookUrl` TEXT NOT NULL DEFAULT '', `tocUrl` TEXT NOT NULL DEFAULT '', `origin` TEXT NOT NULL DEFAULT 'loc_book', `originName` TEXT NOT NULL DEFAULT '', `name` TEXT NOT NULL DEFAULT '', `author` TEXT NOT NULL DEFAULT '', `kind` TEXT, `customTag` TEXT, `coverUrl` TEXT, `customCoverUrl` TEXT, `intro` TEXT, `customIntro` TEXT, `remark` TEXT, `charset` TEXT, `type` INTEGER NOT NULL DEFAULT 0, `group` INTEGER NOT NULL DEFAULT 0, `latestChapterTitle` TEXT, `latestChapterTime` INTEGER NOT NULL DEFAULT 0, `lastCheckTime` INTEGER NOT NULL DEFAULT 0, `lastCheckCount` INTEGER NOT NULL DEFAULT 0, `totalChapterNum` INTEGER NOT NULL DEFAULT 0, `durChapterTitle` TEXT, `durChapterIndex` INTEGER NOT NULL DEFAULT 0, `durChapterPos` INTEGER NOT NULL DEFAULT 0, `durChapterTime` INTEGER NOT NULL DEFAULT 0, `wordCount` TEXT, `canUpdate` INTEGER NOT NULL DEFAULT 1, `order` INTEGER NOT NULL DEFAULT 0, `originOrder` INTEGER NOT NULL DEFAULT 0, `variable` TEXT, `readConfig` TEXT, `syncTime` INTEGER NOT NULL DEFAULT 0, PRIMARY KEY(`bookUrl`))", "fields": [ { "fieldPath": "bookUrl", "columnName": "bookUrl", "affinity": "TEXT", "notNull": true, "defaultValue": "''" }, { "fieldPath": "tocUrl", "columnName": "tocUrl", "affinity": "TEXT", "notNull": true, "defaultValue": "''" }, { "fieldPath": "origin", "columnName": "origin", "affinity": "TEXT", "notNull": true, "defaultValue": "'loc_book'" }, { "fieldPath": "originName", "columnName": "originName", "affinity": "TEXT", "notNull": true, "defaultValue": "''" }, { "fieldPath": "name", "columnName": "name", "affinity": "TEXT", "notNull": true, "defaultValue": "''" }, { "fieldPath": "author", "columnName": "author", "affinity": "TEXT", "notNull": true, "defaultValue": "''" }, { "fieldPath": "kind", "columnName": "kind", "affinity": "TEXT" }, { "fieldPath": "customTag", "columnName": "customTag", "affinity": "TEXT" }, { "fieldPath": "coverUrl", "columnName": "coverUrl", "affinity": "TEXT" }, { "fieldPath": "customCoverUrl", "columnName": "customCoverUrl", "affinity": "TEXT" }, { "fieldPath": "intro", "columnName": "intro", "affinity": "TEXT" }, { "fieldPath": "customIntro", "columnName": "customIntro", "affinity": "TEXT" }, { "fieldPath": "remark", "columnName": "remark", "affinity": "TEXT" }, { "fieldPath": "charset", "columnName": "charset", "affinity": "TEXT" }, { "fieldPath": "type", "columnName": "type", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "group", "columnName": "group", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "latestChapterTitle", "columnName": "latestChapterTitle", "affinity": "TEXT" }, { "fieldPath": "latestChapterTime", "columnName": "latestChapterTime", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "lastCheckTime", "columnName": "lastCheckTime", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "lastCheckCount", "columnName": "lastCheckCount", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "totalChapterNum", "columnName": "totalChapterNum", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "durChapterTitle", "columnName": "durChapterTitle", "affinity": "TEXT" }, { "fieldPath": "durChapterIndex", "columnName": "durChapterIndex", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "durChapterPos", "columnName": "durChapterPos", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "durChapterTime", "columnName": "durChapterTime", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "wordCount", "columnName": "wordCount", "affinity": "TEXT" }, { "fieldPath": "canUpdate", "columnName": "canUpdate", "affinity": "INTEGER", "notNull": true, "defaultValue": "1" }, { "fieldPath": "order", "columnName": "order", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "originOrder", "columnName": "originOrder", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "variable", "columnName": "variable", "affinity": "TEXT" }, { "fieldPath": "readConfig", "columnName": "readConfig", "affinity": "TEXT" }, { "fieldPath": "syncTime", "columnName": "syncTime", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "bookUrl" ] }, "indices": [ { "name": "index_books_name_author", "unique": false, "columnNames": [ "name", "author" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_books_name_author` ON `${TABLE_NAME}` (`name`, `author`)" }, { "name": "index_books_durChapterTime", "unique": false, "columnNames": [ "durChapterTime" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_books_durChapterTime` ON `${TABLE_NAME}` (`durChapterTime`)" } ] }, { "tableName": "book_groups", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`groupId` INTEGER NOT NULL, `groupName` TEXT NOT NULL, `cover` TEXT, `order` INTEGER NOT NULL, `enableRefresh` INTEGER NOT NULL DEFAULT 1, `show` INTEGER NOT NULL DEFAULT 1, `bookSort` INTEGER NOT NULL DEFAULT -1, `isPrivate` INTEGER NOT NULL DEFAULT 0, PRIMARY KEY(`groupId`))", "fields": [ { "fieldPath": "groupId", "columnName": "groupId", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "groupName", "columnName": "groupName", "affinity": "TEXT", "notNull": true }, { "fieldPath": "cover", "columnName": "cover", "affinity": "TEXT" }, { "fieldPath": "order", "columnName": "order", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "enableRefresh", "columnName": "enableRefresh", "affinity": "INTEGER", "notNull": true, "defaultValue": "1" }, { "fieldPath": "show", "columnName": "show", "affinity": "INTEGER", "notNull": true, "defaultValue": "1" }, { "fieldPath": "bookSort", "columnName": "bookSort", "affinity": "INTEGER", "notNull": true, "defaultValue": "-1" }, { "fieldPath": "isPrivate", "columnName": "isPrivate", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "groupId" ] } }, { "tableName": "book_sources", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`bookSourceUrl` TEXT NOT NULL, `bookSourceName` TEXT NOT NULL, `bookSourceGroup` TEXT, `bookSourceType` INTEGER NOT NULL, `bookUrlPattern` TEXT, `customOrder` INTEGER NOT NULL DEFAULT 0, `enabled` INTEGER NOT NULL DEFAULT 1, `enabledExplore` INTEGER NOT NULL DEFAULT 1, `jsLib` TEXT, `enabledCookieJar` INTEGER DEFAULT 0, `concurrentRate` TEXT, `header` TEXT, `loginUrl` TEXT, `loginUi` TEXT, `loginCheckJs` TEXT, `coverDecodeJs` TEXT, `bookSourceComment` TEXT, `variableComment` TEXT, `lastUpdateTime` INTEGER NOT NULL, `respondTime` INTEGER NOT NULL, `weight` INTEGER NOT NULL, `exploreUrl` TEXT, `exploreScreen` TEXT, `ruleExplore` TEXT, `searchUrl` TEXT, `ruleSearch` TEXT, `ruleBookInfo` TEXT, `ruleToc` TEXT, `ruleContent` TEXT, `ruleReview` TEXT, `eventListener` INTEGER NOT NULL DEFAULT 0, `customButton` INTEGER NOT NULL DEFAULT 0, `homepageModules` TEXT, PRIMARY KEY(`bookSourceUrl`))", "fields": [ { "fieldPath": "bookSourceUrl", "columnName": "bookSourceUrl", "affinity": "TEXT", "notNull": true }, { "fieldPath": "bookSourceName", "columnName": "bookSourceName", "affinity": "TEXT", "notNull": true }, { "fieldPath": "bookSourceGroup", "columnName": "bookSourceGroup", "affinity": "TEXT" }, { "fieldPath": "bookSourceType", "columnName": "bookSourceType", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "bookUrlPattern", "columnName": "bookUrlPattern", "affinity": "TEXT" }, { "fieldPath": "customOrder", "columnName": "customOrder", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "enabled", "columnName": "enabled", "affinity": "INTEGER", "notNull": true, "defaultValue": "1" }, { "fieldPath": "enabledExplore", "columnName": "enabledExplore", "affinity": "INTEGER", "notNull": true, "defaultValue": "1" }, { "fieldPath": "jsLib", "columnName": "jsLib", "affinity": "TEXT" }, { "fieldPath": "enabledCookieJar", "columnName": "enabledCookieJar", "affinity": "INTEGER", "defaultValue": "0" }, { "fieldPath": "concurrentRate", "columnName": "concurrentRate", "affinity": "TEXT" }, { "fieldPath": "header", "columnName": "header", "affinity": "TEXT" }, { "fieldPath": "loginUrl", "columnName": "loginUrl", "affinity": "TEXT" }, { "fieldPath": "loginUi", "columnName": "loginUi", "affinity": "TEXT" }, { "fieldPath": "loginCheckJs", "columnName": "loginCheckJs", "affinity": "TEXT" }, { "fieldPath": "coverDecodeJs", "columnName": "coverDecodeJs", "affinity": "TEXT" }, { "fieldPath": "bookSourceComment", "columnName": "bookSourceComment", "affinity": "TEXT" }, { "fieldPath": "variableComment", "columnName": "variableComment", "affinity": "TEXT" }, { "fieldPath": "lastUpdateTime", "columnName": "lastUpdateTime", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "respondTime", "columnName": "respondTime", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "weight", "columnName": "weight", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "exploreUrl", "columnName": "exploreUrl", "affinity": "TEXT" }, { "fieldPath": "exploreScreen", "columnName": "exploreScreen", "affinity": "TEXT" }, { "fieldPath": "ruleExplore", "columnName": "ruleExplore", "affinity": "TEXT" }, { "fieldPath": "searchUrl", "columnName": "searchUrl", "affinity": "TEXT" }, { "fieldPath": "ruleSearch", "columnName": "ruleSearch", "affinity": "TEXT" }, { "fieldPath": "ruleBookInfo", "columnName": "ruleBookInfo", "affinity": "TEXT" }, { "fieldPath": "ruleToc", "columnName": "ruleToc", "affinity": "TEXT" }, { "fieldPath": "ruleContent", "columnName": "ruleContent", "affinity": "TEXT" }, { "fieldPath": "ruleReview", "columnName": "ruleReview", "affinity": "TEXT" }, { "fieldPath": "eventListener", "columnName": "eventListener", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "customButton", "columnName": "customButton", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "homepageModules", "columnName": "homepageModules", "affinity": "TEXT" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "bookSourceUrl" ] }, "indices": [ { "name": "index_book_sources_bookSourceUrl", "unique": false, "columnNames": [ "bookSourceUrl" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_book_sources_bookSourceUrl` ON `${TABLE_NAME}` (`bookSourceUrl`)" } ] }, { "tableName": "chapters", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`url` TEXT NOT NULL, `title` TEXT NOT NULL, `isVolume` INTEGER NOT NULL, `baseUrl` TEXT NOT NULL, `bookUrl` TEXT NOT NULL, `index` INTEGER NOT NULL, `isVip` INTEGER NOT NULL, `isPay` INTEGER NOT NULL, `resourceUrl` TEXT, `tag` TEXT, `wordCount` TEXT, `start` INTEGER, `end` INTEGER, `startFragmentId` TEXT, `endFragmentId` TEXT, `variable` TEXT, `reviewImg` TEXT, PRIMARY KEY(`url`, `bookUrl`), FOREIGN KEY(`bookUrl`) REFERENCES `books`(`bookUrl`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "url", "columnName": "url", "affinity": "TEXT", "notNull": true }, { "fieldPath": "title", "columnName": "title", "affinity": "TEXT", "notNull": true }, { "fieldPath": "isVolume", "columnName": "isVolume", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "baseUrl", "columnName": "baseUrl", "affinity": "TEXT", "notNull": true }, { "fieldPath": "bookUrl", "columnName": "bookUrl", "affinity": "TEXT", "notNull": true }, { "fieldPath": "index", "columnName": "index", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "isVip", "columnName": "isVip", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "isPay", "columnName": "isPay", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "resourceUrl", "columnName": "resourceUrl", "affinity": "TEXT" }, { "fieldPath": "tag", "columnName": "tag", "affinity": "TEXT" }, { "fieldPath": "wordCount", "columnName": "wordCount", "affinity": "TEXT" }, { "fieldPath": "start", "columnName": "start", "affinity": "INTEGER" }, { "fieldPath": "end", "columnName": "end", "affinity": "INTEGER" }, { "fieldPath": "startFragmentId", "columnName": "startFragmentId", "affinity": "TEXT" }, { "fieldPath": "endFragmentId", "columnName": "endFragmentId", "affinity": "TEXT" }, { "fieldPath": "variable", "columnName": "variable", "affinity": "TEXT" }, { "fieldPath": "reviewImg", "columnName": "reviewImg", "affinity": "TEXT" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "url", "bookUrl" ] }, "indices": [ { "name": "index_chapters_bookUrl", "unique": false, "columnNames": [ "bookUrl" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_chapters_bookUrl` ON `${TABLE_NAME}` (`bookUrl`)" }, { "name": "index_chapters_bookUrl_index", "unique": true, "columnNames": [ "bookUrl", "index" ], "orders": [], "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_chapters_bookUrl_index` ON `${TABLE_NAME}` (`bookUrl`, `index`)" } ], "foreignKeys": [ { "table": "books", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "bookUrl" ], "referencedColumns": [ "bookUrl" ] } ] }, { "tableName": "replace_rules", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT NOT NULL DEFAULT '', `group` TEXT, `pattern` TEXT NOT NULL DEFAULT '', `replacement` TEXT NOT NULL DEFAULT '', `scope` TEXT, `scopeTitle` INTEGER NOT NULL DEFAULT 0, `scopeContent` INTEGER NOT NULL DEFAULT 1, `excludeScope` TEXT, `isEnabled` INTEGER NOT NULL DEFAULT 1, `isRegex` INTEGER NOT NULL DEFAULT 1, `timeoutMillisecond` INTEGER NOT NULL DEFAULT 3000, `sortOrder` INTEGER NOT NULL DEFAULT 0)", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "name", "columnName": "name", "affinity": "TEXT", "notNull": true, "defaultValue": "''" }, { "fieldPath": "group", "columnName": "group", "affinity": "TEXT" }, { "fieldPath": "pattern", "columnName": "pattern", "affinity": "TEXT", "notNull": true, "defaultValue": "''" }, { "fieldPath": "replacement", "columnName": "replacement", "affinity": "TEXT", "notNull": true, "defaultValue": "''" }, { "fieldPath": "scope", "columnName": "scope", "affinity": "TEXT" }, { "fieldPath": "scopeTitle", "columnName": "scopeTitle", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "scopeContent", "columnName": "scopeContent", "affinity": "INTEGER", "notNull": true, "defaultValue": "1" }, { "fieldPath": "excludeScope", "columnName": "excludeScope", "affinity": "TEXT" }, { "fieldPath": "isEnabled", "columnName": "isEnabled", "affinity": "INTEGER", "notNull": true, "defaultValue": "1" }, { "fieldPath": "isRegex", "columnName": "isRegex", "affinity": "INTEGER", "notNull": true, "defaultValue": "1" }, { "fieldPath": "timeoutMillisecond", "columnName": "timeoutMillisecond", "affinity": "INTEGER", "notNull": true, "defaultValue": "3000" }, { "fieldPath": "order", "columnName": "sortOrder", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" } ], "primaryKey": { "autoGenerate": true, "columnNames": [ "id" ] }, "indices": [ { "name": "index_replace_rules_id", "unique": false, "columnNames": [ "id" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_replace_rules_id` ON `${TABLE_NAME}` (`id`)" } ] }, { "tableName": "searchBooks", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`bookUrl` TEXT NOT NULL, `origin` TEXT NOT NULL, `originName` TEXT NOT NULL, `type` INTEGER NOT NULL, `name` TEXT NOT NULL, `author` TEXT NOT NULL, `kind` TEXT, `coverUrl` TEXT, `intro` TEXT, `wordCount` TEXT, `latestChapterTitle` TEXT, `tocUrl` TEXT NOT NULL, `time` INTEGER NOT NULL, `variable` TEXT, `originOrder` INTEGER NOT NULL, `chapterWordCountText` TEXT, `chapterWordCount` INTEGER NOT NULL DEFAULT -1, `respondTime` INTEGER NOT NULL DEFAULT -1, PRIMARY KEY(`bookUrl`), FOREIGN KEY(`origin`) REFERENCES `book_sources`(`bookSourceUrl`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "bookUrl", "columnName": "bookUrl", "affinity": "TEXT", "notNull": true }, { "fieldPath": "origin", "columnName": "origin", "affinity": "TEXT", "notNull": true }, { "fieldPath": "originName", "columnName": "originName", "affinity": "TEXT", "notNull": true }, { "fieldPath": "type", "columnName": "type", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "name", "columnName": "name", "affinity": "TEXT", "notNull": true }, { "fieldPath": "author", "columnName": "author", "affinity": "TEXT", "notNull": true }, { "fieldPath": "kind", "columnName": "kind", "affinity": "TEXT" }, { "fieldPath": "coverUrl", "columnName": "coverUrl", "affinity": "TEXT" }, { "fieldPath": "intro", "columnName": "intro", "affinity": "TEXT" }, { "fieldPath": "wordCount", "columnName": "wordCount", "affinity": "TEXT" }, { "fieldPath": "latestChapterTitle", "columnName": "latestChapterTitle", "affinity": "TEXT" }, { "fieldPath": "tocUrl", "columnName": "tocUrl", "affinity": "TEXT", "notNull": true }, { "fieldPath": "time", "columnName": "time", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "variable", "columnName": "variable", "affinity": "TEXT" }, { "fieldPath": "originOrder", "columnName": "originOrder", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "chapterWordCountText", "columnName": "chapterWordCountText", "affinity": "TEXT" }, { "fieldPath": "chapterWordCount", "columnName": "chapterWordCount", "affinity": "INTEGER", "notNull": true, "defaultValue": "-1" }, { "fieldPath": "respondTime", "columnName": "respondTime", "affinity": "INTEGER", "notNull": true, "defaultValue": "-1" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "bookUrl" ] }, "indices": [ { "name": "index_searchBooks_bookUrl", "unique": true, "columnNames": [ "bookUrl" ], "orders": [], "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_searchBooks_bookUrl` ON `${TABLE_NAME}` (`bookUrl`)" }, { "name": "index_searchBooks_origin", "unique": false, "columnNames": [ "origin" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_searchBooks_origin` ON `${TABLE_NAME}` (`origin`)" } ], "foreignKeys": [ { "table": "book_sources", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "origin" ], "referencedColumns": [ "bookSourceUrl" ] } ] }, { "tableName": "search_keywords", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`word` TEXT NOT NULL, `usage` INTEGER NOT NULL, `lastUseTime` INTEGER NOT NULL, PRIMARY KEY(`word`))", "fields": [ { "fieldPath": "word", "columnName": "word", "affinity": "TEXT", "notNull": true }, { "fieldPath": "usage", "columnName": "usage", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "lastUseTime", "columnName": "lastUseTime", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "word" ] }, "indices": [ { "name": "index_search_keywords_word", "unique": true, "columnNames": [ "word" ], "orders": [], "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_search_keywords_word` ON `${TABLE_NAME}` (`word`)" } ] }, { "tableName": "cookies", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`url` TEXT NOT NULL, `cookie` TEXT NOT NULL, PRIMARY KEY(`url`))", "fields": [ { "fieldPath": "url", "columnName": "url", "affinity": "TEXT", "notNull": true }, { "fieldPath": "cookie", "columnName": "cookie", "affinity": "TEXT", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "url" ] }, "indices": [ { "name": "index_cookies_url", "unique": true, "columnNames": [ "url" ], "orders": [], "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_cookies_url` ON `${TABLE_NAME}` (`url`)" } ] }, { "tableName": "rssSources", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`sourceUrl` TEXT NOT NULL, `sourceName` TEXT NOT NULL, `sourceIcon` TEXT NOT NULL, `sourceGroup` TEXT, `sourceComment` TEXT, `enabled` INTEGER NOT NULL, `variableComment` TEXT, `jsLib` TEXT, `enabledCookieJar` INTEGER DEFAULT 0, `concurrentRate` TEXT, `header` TEXT, `loginUrl` TEXT, `loginUi` TEXT, `loginCheckJs` TEXT, `coverDecodeJs` TEXT, `sortUrl` TEXT, `singleUrl` INTEGER NOT NULL, `articleStyle` INTEGER NOT NULL DEFAULT 0, `ruleArticles` TEXT, `ruleNextPage` TEXT, `ruleTitle` TEXT, `rulePubDate` TEXT, `ruleDescription` TEXT, `ruleImage` TEXT, `ruleLink` TEXT, `ruleContent` TEXT, `contentWhitelist` TEXT, `contentBlacklist` TEXT, `shouldOverrideUrlLoading` TEXT, `style` TEXT, `enableJs` INTEGER NOT NULL DEFAULT 1, `loadWithBaseUrl` INTEGER NOT NULL DEFAULT 1, `injectJs` TEXT, `preloadJs` TEXT, `startHtml` TEXT, `startStyle` TEXT, `startJs` TEXT, `showWebLog` INTEGER NOT NULL DEFAULT 0, `lastUpdateTime` INTEGER NOT NULL DEFAULT 0, `customOrder` INTEGER NOT NULL DEFAULT 0, `type` INTEGER NOT NULL DEFAULT 0, `preload` INTEGER NOT NULL DEFAULT 0, `cacheFirst` INTEGER NOT NULL DEFAULT 0, `searchUrl` TEXT, `redirectPolicy` TEXT NOT NULL DEFAULT 'ASK_CROSS_ORIGIN', PRIMARY KEY(`sourceUrl`))", "fields": [ { "fieldPath": "sourceUrl", "columnName": "sourceUrl", "affinity": "TEXT", "notNull": true }, { "fieldPath": "sourceName", "columnName": "sourceName", "affinity": "TEXT", "notNull": true }, { "fieldPath": "sourceIcon", "columnName": "sourceIcon", "affinity": "TEXT", "notNull": true }, { "fieldPath": "sourceGroup", "columnName": "sourceGroup", "affinity": "TEXT" }, { "fieldPath": "sourceComment", "columnName": "sourceComment", "affinity": "TEXT" }, { "fieldPath": "enabled", "columnName": "enabled", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "variableComment", "columnName": "variableComment", "affinity": "TEXT" }, { "fieldPath": "jsLib", "columnName": "jsLib", "affinity": "TEXT" }, { "fieldPath": "enabledCookieJar", "columnName": "enabledCookieJar", "affinity": "INTEGER", "defaultValue": "0" }, { "fieldPath": "concurrentRate", "columnName": "concurrentRate", "affinity": "TEXT" }, { "fieldPath": "header", "columnName": "header", "affinity": "TEXT" }, { "fieldPath": "loginUrl", "columnName": "loginUrl", "affinity": "TEXT" }, { "fieldPath": "loginUi", "columnName": "loginUi", "affinity": "TEXT" }, { "fieldPath": "loginCheckJs", "columnName": "loginCheckJs", "affinity": "TEXT" }, { "fieldPath": "coverDecodeJs", "columnName": "coverDecodeJs", "affinity": "TEXT" }, { "fieldPath": "sortUrl", "columnName": "sortUrl", "affinity": "TEXT" }, { "fieldPath": "singleUrl", "columnName": "singleUrl", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "articleStyle", "columnName": "articleStyle", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "ruleArticles", "columnName": "ruleArticles", "affinity": "TEXT" }, { "fieldPath": "ruleNextPage", "columnName": "ruleNextPage", "affinity": "TEXT" }, { "fieldPath": "ruleTitle", "columnName": "ruleTitle", "affinity": "TEXT" }, { "fieldPath": "rulePubDate", "columnName": "rulePubDate", "affinity": "TEXT" }, { "fieldPath": "ruleDescription", "columnName": "ruleDescription", "affinity": "TEXT" }, { "fieldPath": "ruleImage", "columnName": "ruleImage", "affinity": "TEXT" }, { "fieldPath": "ruleLink", "columnName": "ruleLink", "affinity": "TEXT" }, { "fieldPath": "ruleContent", "columnName": "ruleContent", "affinity": "TEXT" }, { "fieldPath": "contentWhitelist", "columnName": "contentWhitelist", "affinity": "TEXT" }, { "fieldPath": "contentBlacklist", "columnName": "contentBlacklist", "affinity": "TEXT" }, { "fieldPath": "shouldOverrideUrlLoading", "columnName": "shouldOverrideUrlLoading", "affinity": "TEXT" }, { "fieldPath": "style", "columnName": "style", "affinity": "TEXT" }, { "fieldPath": "enableJs", "columnName": "enableJs", "affinity": "INTEGER", "notNull": true, "defaultValue": "1" }, { "fieldPath": "loadWithBaseUrl", "columnName": "loadWithBaseUrl", "affinity": "INTEGER", "notNull": true, "defaultValue": "1" }, { "fieldPath": "injectJs", "columnName": "injectJs", "affinity": "TEXT" }, { "fieldPath": "preloadJs", "columnName": "preloadJs", "affinity": "TEXT" }, { "fieldPath": "startHtml", "columnName": "startHtml", "affinity": "TEXT" }, { "fieldPath": "startStyle", "columnName": "startStyle", "affinity": "TEXT" }, { "fieldPath": "startJs", "columnName": "startJs", "affinity": "TEXT" }, { "fieldPath": "showWebLog", "columnName": "showWebLog", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "lastUpdateTime", "columnName": "lastUpdateTime", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "customOrder", "columnName": "customOrder", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "type", "columnName": "type", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "preload", "columnName": "preload", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "cacheFirst", "columnName": "cacheFirst", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "searchUrl", "columnName": "searchUrl", "affinity": "TEXT" }, { "fieldPath": "redirectPolicy", "columnName": "redirectPolicy", "affinity": "TEXT", "notNull": true, "defaultValue": "'ASK_CROSS_ORIGIN'" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "sourceUrl" ] }, "indices": [ { "name": "index_rssSources_sourceUrl", "unique": false, "columnNames": [ "sourceUrl" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_rssSources_sourceUrl` ON `${TABLE_NAME}` (`sourceUrl`)" } ] }, { "tableName": "bookmarks", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`time` INTEGER NOT NULL, `bookName` TEXT NOT NULL, `bookAuthor` TEXT NOT NULL DEFAULT '', `chapterIndex` INTEGER NOT NULL, `chapterPos` INTEGER NOT NULL, `chapterName` TEXT NOT NULL, `bookText` TEXT NOT NULL, `content` TEXT NOT NULL, PRIMARY KEY(`time`))", "fields": [ { "fieldPath": "time", "columnName": "time", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "bookName", "columnName": "bookName", "affinity": "TEXT", "notNull": true }, { "fieldPath": "bookAuthor", "columnName": "bookAuthor", "affinity": "TEXT", "notNull": true, "defaultValue": "''" }, { "fieldPath": "chapterIndex", "columnName": "chapterIndex", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "chapterPos", "columnName": "chapterPos", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "chapterName", "columnName": "chapterName", "affinity": "TEXT", "notNull": true }, { "fieldPath": "bookText", "columnName": "bookText", "affinity": "TEXT", "notNull": true }, { "fieldPath": "content", "columnName": "content", "affinity": "TEXT", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "time" ] }, "indices": [ { "name": "index_bookmarks_bookName_bookAuthor", "unique": false, "columnNames": [ "bookName", "bookAuthor" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_bookmarks_bookName_bookAuthor` ON `${TABLE_NAME}` (`bookName`, `bookAuthor`)" } ] }, { "tableName": "rssArticles", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`origin` TEXT NOT NULL, `sort` TEXT NOT NULL, `title` TEXT NOT NULL, `order` INTEGER NOT NULL, `link` TEXT NOT NULL, `pubDate` TEXT, `description` TEXT, `content` TEXT, `image` TEXT, `group` TEXT NOT NULL DEFAULT '默认分组', `read` INTEGER NOT NULL, `variable` TEXT, `type` INTEGER NOT NULL DEFAULT 0, `durPos` INTEGER NOT NULL DEFAULT 0, PRIMARY KEY(`origin`, `link`, `sort`))", "fields": [ { "fieldPath": "origin", "columnName": "origin", "affinity": "TEXT", "notNull": true }, { "fieldPath": "sort", "columnName": "sort", "affinity": "TEXT", "notNull": true }, { "fieldPath": "title", "columnName": "title", "affinity": "TEXT", "notNull": true }, { "fieldPath": "order", "columnName": "order", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "link", "columnName": "link", "affinity": "TEXT", "notNull": true }, { "fieldPath": "pubDate", "columnName": "pubDate", "affinity": "TEXT" }, { "fieldPath": "description", "columnName": "description", "affinity": "TEXT" }, { "fieldPath": "content", "columnName": "content", "affinity": "TEXT" }, { "fieldPath": "image", "columnName": "image", "affinity": "TEXT" }, { "fieldPath": "group", "columnName": "group", "affinity": "TEXT", "notNull": true, "defaultValue": "'默认分组'" }, { "fieldPath": "read", "columnName": "read", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "variable", "columnName": "variable", "affinity": "TEXT" }, { "fieldPath": "type", "columnName": "type", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "durPos", "columnName": "durPos", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "origin", "link", "sort" ] } }, { "tableName": "rssReadRecords", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`record` TEXT NOT NULL, `title` TEXT, `readTime` INTEGER, `read` INTEGER NOT NULL, `origin` TEXT NOT NULL DEFAULT '', `sort` TEXT NOT NULL DEFAULT '', `image` TEXT, `type` INTEGER NOT NULL DEFAULT 0, `durPos` INTEGER NOT NULL DEFAULT 0, `pubDate` TEXT, PRIMARY KEY(`record`))", "fields": [ { "fieldPath": "record", "columnName": "record", "affinity": "TEXT", "notNull": true }, { "fieldPath": "title", "columnName": "title", "affinity": "TEXT" }, { "fieldPath": "readTime", "columnName": "readTime", "affinity": "INTEGER" }, { "fieldPath": "read", "columnName": "read", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "origin", "columnName": "origin", "affinity": "TEXT", "notNull": true, "defaultValue": "''" }, { "fieldPath": "sort", "columnName": "sort", "affinity": "TEXT", "notNull": true, "defaultValue": "''" }, { "fieldPath": "image", "columnName": "image", "affinity": "TEXT" }, { "fieldPath": "type", "columnName": "type", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "durPos", "columnName": "durPos", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "pubDate", "columnName": "pubDate", "affinity": "TEXT" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "record" ] }, "indices": [ { "name": "index_rssReadRecords_origin", "unique": false, "columnNames": [ "origin" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_rssReadRecords_origin` ON `${TABLE_NAME}` (`origin`)" } ] }, { "tableName": "readRecordDetail", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`deviceId` TEXT NOT NULL, `bookName` TEXT NOT NULL, `bookAuthor` TEXT NOT NULL DEFAULT '', `date` TEXT NOT NULL, `readTime` INTEGER NOT NULL DEFAULT 0, `readWords` INTEGER NOT NULL DEFAULT 0, `firstReadTime` INTEGER NOT NULL DEFAULT 0, `lastReadTime` INTEGER NOT NULL DEFAULT 0, PRIMARY KEY(`deviceId`, `bookName`, `bookAuthor`, `date`))", "fields": [ { "fieldPath": "deviceId", "columnName": "deviceId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "bookName", "columnName": "bookName", "affinity": "TEXT", "notNull": true }, { "fieldPath": "bookAuthor", "columnName": "bookAuthor", "affinity": "TEXT", "notNull": true, "defaultValue": "''" }, { "fieldPath": "date", "columnName": "date", "affinity": "TEXT", "notNull": true }, { "fieldPath": "readTime", "columnName": "readTime", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "readWords", "columnName": "readWords", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "firstReadTime", "columnName": "firstReadTime", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "lastReadTime", "columnName": "lastReadTime", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "deviceId", "bookName", "bookAuthor", "date" ] } }, { "tableName": "readRecordSession", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `deviceId` TEXT NOT NULL, `bookName` TEXT NOT NULL, `bookAuthor` TEXT NOT NULL DEFAULT '', `startTime` INTEGER NOT NULL, `endTime` INTEGER NOT NULL, `words` INTEGER NOT NULL)", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "deviceId", "columnName": "deviceId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "bookName", "columnName": "bookName", "affinity": "TEXT", "notNull": true }, { "fieldPath": "bookAuthor", "columnName": "bookAuthor", "affinity": "TEXT", "notNull": true, "defaultValue": "''" }, { "fieldPath": "startTime", "columnName": "startTime", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "endTime", "columnName": "endTime", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "words", "columnName": "words", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": true, "columnNames": [ "id" ] } }, { "tableName": "rssStars", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`origin` TEXT NOT NULL, `sort` TEXT NOT NULL, `title` TEXT NOT NULL, `starTime` INTEGER NOT NULL, `link` TEXT NOT NULL, `pubDate` TEXT, `description` TEXT, `content` TEXT, `image` TEXT, `group` TEXT NOT NULL DEFAULT '默认分组', `variable` TEXT, `type` INTEGER NOT NULL DEFAULT 0, `durPos` INTEGER NOT NULL DEFAULT 0, PRIMARY KEY(`origin`, `link`))", "fields": [ { "fieldPath": "origin", "columnName": "origin", "affinity": "TEXT", "notNull": true }, { "fieldPath": "sort", "columnName": "sort", "affinity": "TEXT", "notNull": true }, { "fieldPath": "title", "columnName": "title", "affinity": "TEXT", "notNull": true }, { "fieldPath": "starTime", "columnName": "starTime", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "link", "columnName": "link", "affinity": "TEXT", "notNull": true }, { "fieldPath": "pubDate", "columnName": "pubDate", "affinity": "TEXT" }, { "fieldPath": "description", "columnName": "description", "affinity": "TEXT" }, { "fieldPath": "content", "columnName": "content", "affinity": "TEXT" }, { "fieldPath": "image", "columnName": "image", "affinity": "TEXT" }, { "fieldPath": "group", "columnName": "group", "affinity": "TEXT", "notNull": true, "defaultValue": "'默认分组'" }, { "fieldPath": "variable", "columnName": "variable", "affinity": "TEXT" }, { "fieldPath": "type", "columnName": "type", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "durPos", "columnName": "durPos", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "origin", "link" ] } }, { "tableName": "txtTocRules", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER NOT NULL, `name` TEXT NOT NULL, `rule` TEXT NOT NULL, `example` TEXT, `serialNumber` INTEGER NOT NULL, `enable` INTEGER NOT NULL, PRIMARY KEY(`id`))", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "name", "columnName": "name", "affinity": "TEXT", "notNull": true }, { "fieldPath": "rule", "columnName": "rule", "affinity": "TEXT", "notNull": true }, { "fieldPath": "example", "columnName": "example", "affinity": "TEXT" }, { "fieldPath": "serialNumber", "columnName": "serialNumber", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "enable", "columnName": "enable", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] } }, { "tableName": "readRecord", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`deviceId` TEXT NOT NULL, `bookName` TEXT NOT NULL, `bookAuthor` TEXT NOT NULL DEFAULT '', `readTime` INTEGER NOT NULL DEFAULT 0, `lastRead` INTEGER NOT NULL DEFAULT 0, PRIMARY KEY(`deviceId`, `bookName`, `bookAuthor`))", "fields": [ { "fieldPath": "deviceId", "columnName": "deviceId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "bookName", "columnName": "bookName", "affinity": "TEXT", "notNull": true }, { "fieldPath": "bookAuthor", "columnName": "bookAuthor", "affinity": "TEXT", "notNull": true, "defaultValue": "''" }, { "fieldPath": "readTime", "columnName": "readTime", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "lastRead", "columnName": "lastRead", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "deviceId", "bookName", "bookAuthor" ] } }, { "tableName": "httpTTS", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER NOT NULL, `name` TEXT NOT NULL, `url` TEXT NOT NULL, `contentType` TEXT, `concurrentRate` TEXT DEFAULT '0', `loginUrl` TEXT, `loginUi` TEXT, `header` TEXT, `jsLib` TEXT, `enabledCookieJar` INTEGER DEFAULT 0, `loginCheckJs` TEXT, `lastUpdateTime` INTEGER NOT NULL DEFAULT 0, PRIMARY KEY(`id`))", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "name", "columnName": "name", "affinity": "TEXT", "notNull": true }, { "fieldPath": "url", "columnName": "url", "affinity": "TEXT", "notNull": true }, { "fieldPath": "contentType", "columnName": "contentType", "affinity": "TEXT" }, { "fieldPath": "concurrentRate", "columnName": "concurrentRate", "affinity": "TEXT", "defaultValue": "'0'" }, { "fieldPath": "loginUrl", "columnName": "loginUrl", "affinity": "TEXT" }, { "fieldPath": "loginUi", "columnName": "loginUi", "affinity": "TEXT" }, { "fieldPath": "header", "columnName": "header", "affinity": "TEXT" }, { "fieldPath": "jsLib", "columnName": "jsLib", "affinity": "TEXT" }, { "fieldPath": "enabledCookieJar", "columnName": "enabledCookieJar", "affinity": "INTEGER", "defaultValue": "0" }, { "fieldPath": "loginCheckJs", "columnName": "loginCheckJs", "affinity": "TEXT" }, { "fieldPath": "lastUpdateTime", "columnName": "lastUpdateTime", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] } }, { "tableName": "caches", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`key` TEXT NOT NULL, `value` TEXT, `deadline` INTEGER NOT NULL, PRIMARY KEY(`key`))", "fields": [ { "fieldPath": "key", "columnName": "key", "affinity": "TEXT", "notNull": true }, { "fieldPath": "value", "columnName": "value", "affinity": "TEXT" }, { "fieldPath": "deadline", "columnName": "deadline", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "key" ] }, "indices": [ { "name": "index_caches_key", "unique": true, "columnNames": [ "key" ], "orders": [], "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_caches_key` ON `${TABLE_NAME}` (`key`)" } ] }, { "tableName": "ruleSubs", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER NOT NULL, `name` TEXT NOT NULL, `url` TEXT NOT NULL, `type` INTEGER NOT NULL, `customOrder` INTEGER NOT NULL, `autoUpdate` INTEGER NOT NULL, `update` INTEGER NOT NULL, PRIMARY KEY(`id`))", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "name", "columnName": "name", "affinity": "TEXT", "notNull": true }, { "fieldPath": "url", "columnName": "url", "affinity": "TEXT", "notNull": true }, { "fieldPath": "type", "columnName": "type", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "customOrder", "columnName": "customOrder", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "autoUpdate", "columnName": "autoUpdate", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "update", "columnName": "update", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] } }, { "tableName": "dictRules", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`name` TEXT NOT NULL, `urlRule` TEXT NOT NULL, `showRule` TEXT NOT NULL, `enabled` INTEGER NOT NULL DEFAULT 1, `sortNumber` INTEGER NOT NULL DEFAULT 0, PRIMARY KEY(`name`))", "fields": [ { "fieldPath": "name", "columnName": "name", "affinity": "TEXT", "notNull": true }, { "fieldPath": "urlRule", "columnName": "urlRule", "affinity": "TEXT", "notNull": true }, { "fieldPath": "showRule", "columnName": "showRule", "affinity": "TEXT", "notNull": true }, { "fieldPath": "enabled", "columnName": "enabled", "affinity": "INTEGER", "notNull": true, "defaultValue": "1" }, { "fieldPath": "sortNumber", "columnName": "sortNumber", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "name" ] } }, { "tableName": "keyboardAssists", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`type` INTEGER NOT NULL DEFAULT 0, `key` TEXT NOT NULL DEFAULT '', `value` TEXT NOT NULL DEFAULT '', `serialNo` INTEGER NOT NULL DEFAULT 0, PRIMARY KEY(`type`, `key`))", "fields": [ { "fieldPath": "type", "columnName": "type", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "key", "columnName": "key", "affinity": "TEXT", "notNull": true, "defaultValue": "''" }, { "fieldPath": "value", "columnName": "value", "affinity": "TEXT", "notNull": true, "defaultValue": "''" }, { "fieldPath": "serialNo", "columnName": "serialNo", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "type", "key" ] } }, { "tableName": "servers", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER NOT NULL, `name` TEXT NOT NULL, `type` TEXT NOT NULL, `config` TEXT, `sortNumber` INTEGER NOT NULL, PRIMARY KEY(`id`))", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "name", "columnName": "name", "affinity": "TEXT", "notNull": true }, { "fieldPath": "type", "columnName": "type", "affinity": "TEXT", "notNull": true }, { "fieldPath": "config", "columnName": "config", "affinity": "TEXT" }, { "fieldPath": "sortNumber", "columnName": "sortNumber", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] } }, { "tableName": "search_content_history", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `bookName` TEXT DEFAULT '', `bookAuthor` TEXT DEFAULT '', `query` TEXT NOT NULL, `time` INTEGER NOT NULL)", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "bookName", "columnName": "bookName", "affinity": "TEXT", "defaultValue": "''" }, { "fieldPath": "bookAuthor", "columnName": "bookAuthor", "affinity": "TEXT", "defaultValue": "''" }, { "fieldPath": "query", "columnName": "query", "affinity": "TEXT", "notNull": true }, { "fieldPath": "time", "columnName": "time", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": true, "columnNames": [ "id" ] }, "indices": [ { "name": "index_search_content_history_bookName_bookAuthor_query", "unique": true, "columnNames": [ "bookName", "bookAuthor", "query" ], "orders": [], "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_search_content_history_bookName_bookAuthor_query` ON `${TABLE_NAME}` (`bookName`, `bookAuthor`, `query`)" } ] }, { "tableName": "homepage_modules", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `sourceUrl` TEXT NOT NULL, `moduleKey` TEXT NOT NULL, `type` TEXT NOT NULL, `title` TEXT NOT NULL, `args` TEXT, `layoutConfig` TEXT, `url` TEXT, `isEnabled` INTEGER NOT NULL, `sortOrder` INTEGER NOT NULL, `customSetId` TEXT, `isUserCreated` INTEGER NOT NULL, `customTitle` TEXT, `customSetTitle` TEXT, `sourceJsonHash` TEXT, `syncedAt` INTEGER NOT NULL, PRIMARY KEY(`id`))", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "sourceUrl", "columnName": "sourceUrl", "affinity": "TEXT", "notNull": true }, { "fieldPath": "moduleKey", "columnName": "moduleKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "type", "columnName": "type", "affinity": "TEXT", "notNull": true }, { "fieldPath": "title", "columnName": "title", "affinity": "TEXT", "notNull": true }, { "fieldPath": "args", "columnName": "args", "affinity": "TEXT" }, { "fieldPath": "layoutConfig", "columnName": "layoutConfig", "affinity": "TEXT" }, { "fieldPath": "url", "columnName": "url", "affinity": "TEXT" }, { "fieldPath": "isEnabled", "columnName": "isEnabled", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "sortOrder", "columnName": "sortOrder", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "customSetId", "columnName": "customSetId", "affinity": "TEXT" }, { "fieldPath": "isUserCreated", "columnName": "isUserCreated", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "customTitle", "columnName": "customTitle", "affinity": "TEXT" }, { "fieldPath": "customSetTitle", "columnName": "customSetTitle", "affinity": "TEXT" }, { "fieldPath": "sourceJsonHash", "columnName": "sourceJsonHash", "affinity": "TEXT" }, { "fieldPath": "syncedAt", "columnName": "syncedAt", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] } }, { "tableName": "homepage_custom_sets", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `name` TEXT NOT NULL, `sortOrder` INTEGER NOT NULL, PRIMARY KEY(`id`))", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "name", "columnName": "name", "affinity": "TEXT", "notNull": true }, { "fieldPath": "sortOrder", "columnName": "sortOrder", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] } }, { "tableName": "highlightRules", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `name` TEXT NOT NULL, `pattern` TEXT NOT NULL, `sampleText` TEXT NOT NULL, `targetScope` INTEGER NOT NULL, `enabled` INTEGER NOT NULL, `position` INTEGER NOT NULL, `textColor` INTEGER, `bgColor` INTEGER, `underlineMode` INTEGER NOT NULL, `underlineColor` INTEGER, `underlineWidth` REAL NOT NULL, `underlineOffset` REAL NOT NULL, `underlineSvgPath` TEXT, `bgImage` TEXT, `bgImageFit` INTEGER NOT NULL, `bgImageScale` REAL NOT NULL, `configName` TEXT, `fontPath` TEXT, PRIMARY KEY(`id`))", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "name", "columnName": "name", "affinity": "TEXT", "notNull": true }, { "fieldPath": "pattern", "columnName": "pattern", "affinity": "TEXT", "notNull": true }, { "fieldPath": "sampleText", "columnName": "sampleText", "affinity": "TEXT", "notNull": true }, { "fieldPath": "targetScope", "columnName": "targetScope", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "enabled", "columnName": "enabled", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "position", "columnName": "position", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "textColor", "columnName": "textColor", "affinity": "INTEGER" }, { "fieldPath": "bgColor", "columnName": "bgColor", "affinity": "INTEGER" }, { "fieldPath": "underlineMode", "columnName": "underlineMode", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "underlineColor", "columnName": "underlineColor", "affinity": "INTEGER" }, { "fieldPath": "underlineWidth", "columnName": "underlineWidth", "affinity": "REAL", "notNull": true }, { "fieldPath": "underlineOffset", "columnName": "underlineOffset", "affinity": "REAL", "notNull": true }, { "fieldPath": "underlineSvgPath", "columnName": "underlineSvgPath", "affinity": "TEXT" }, { "fieldPath": "bgImage", "columnName": "bgImage", "affinity": "TEXT" }, { "fieldPath": "bgImageFit", "columnName": "bgImageFit", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "bgImageScale", "columnName": "bgImageScale", "affinity": "REAL", "notNull": true }, { "fieldPath": "configName", "columnName": "configName", "affinity": "TEXT" }, { "fieldPath": "fontPath", "columnName": "fontPath", "affinity": "TEXT" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] } }, { "tableName": "ai_provider_profiles", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `name` TEXT NOT NULL, `protocol` TEXT NOT NULL, `baseUrl` TEXT NOT NULL, `modelsUrl` TEXT, `apiKey` TEXT NOT NULL, `authType` TEXT NOT NULL, `secretRef` TEXT, `headersJson` TEXT, `chatPath` TEXT, `responsesPath` TEXT, `messagesPath` TEXT, `modelsPath` TEXT, `customHeadersJson` TEXT, `enabled` INTEGER NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`))", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "name", "columnName": "name", "affinity": "TEXT", "notNull": true }, { "fieldPath": "protocol", "columnName": "protocol", "affinity": "TEXT", "notNull": true }, { "fieldPath": "baseUrl", "columnName": "baseUrl", "affinity": "TEXT", "notNull": true }, { "fieldPath": "modelsUrl", "columnName": "modelsUrl", "affinity": "TEXT" }, { "fieldPath": "apiKey", "columnName": "apiKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "authType", "columnName": "authType", "affinity": "TEXT", "notNull": true }, { "fieldPath": "secretRef", "columnName": "secretRef", "affinity": "TEXT" }, { "fieldPath": "headersJson", "columnName": "headersJson", "affinity": "TEXT" }, { "fieldPath": "chatPath", "columnName": "chatPath", "affinity": "TEXT" }, { "fieldPath": "responsesPath", "columnName": "responsesPath", "affinity": "TEXT" }, { "fieldPath": "messagesPath", "columnName": "messagesPath", "affinity": "TEXT" }, { "fieldPath": "modelsPath", "columnName": "modelsPath", "affinity": "TEXT" }, { "fieldPath": "customHeadersJson", "columnName": "customHeadersJson", "affinity": "TEXT" }, { "fieldPath": "enabled", "columnName": "enabled", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] } }, { "tableName": "ai_model_profiles", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `providerId` TEXT NOT NULL, `displayName` TEXT NOT NULL, `modelId` TEXT NOT NULL, `contextWindow` INTEGER NOT NULL, `maxOutputTokens` INTEGER NOT NULL, `capabilities` TEXT NOT NULL, `defaultParamsJson` TEXT, `enabled` INTEGER NOT NULL, `sortNumber` INTEGER NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`))", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "providerId", "columnName": "providerId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "displayName", "columnName": "displayName", "affinity": "TEXT", "notNull": true }, { "fieldPath": "modelId", "columnName": "modelId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "contextWindow", "columnName": "contextWindow", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "maxOutputTokens", "columnName": "maxOutputTokens", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "capabilities", "columnName": "capabilities", "affinity": "TEXT", "notNull": true }, { "fieldPath": "defaultParamsJson", "columnName": "defaultParamsJson", "affinity": "TEXT" }, { "fieldPath": "enabled", "columnName": "enabled", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "sortNumber", "columnName": "sortNumber", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "indices": [ { "name": "index_ai_model_profiles_providerId", "unique": false, "columnNames": [ "providerId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_ai_model_profiles_providerId` ON `${TABLE_NAME}` (`providerId`)" } ] }, { "tableName": "ai_task_presets", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `taskType` TEXT NOT NULL, `name` TEXT NOT NULL, `modelProfileId` TEXT NOT NULL, `promptTemplate` TEXT NOT NULL, `paramsJson` TEXT, `chunkPolicyJson` TEXT, `enabled` INTEGER NOT NULL, `isDefault` INTEGER NOT NULL, `sortNumber` INTEGER NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`))", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "taskType", "columnName": "taskType", "affinity": "TEXT", "notNull": true }, { "fieldPath": "name", "columnName": "name", "affinity": "TEXT", "notNull": true }, { "fieldPath": "modelProfileId", "columnName": "modelProfileId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "promptTemplate", "columnName": "promptTemplate", "affinity": "TEXT", "notNull": true }, { "fieldPath": "paramsJson", "columnName": "paramsJson", "affinity": "TEXT" }, { "fieldPath": "chunkPolicyJson", "columnName": "chunkPolicyJson", "affinity": "TEXT" }, { "fieldPath": "enabled", "columnName": "enabled", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "isDefault", "columnName": "isDefault", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "sortNumber", "columnName": "sortNumber", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "indices": [ { "name": "index_ai_task_presets_taskType", "unique": false, "columnNames": [ "taskType" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_ai_task_presets_taskType` ON `${TABLE_NAME}` (`taskType`)" }, { "name": "index_ai_task_presets_modelProfileId", "unique": false, "columnNames": [ "modelProfileId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_ai_task_presets_modelProfileId` ON `${TABLE_NAME}` (`modelProfileId`)" } ] }, { "tableName": "ai_artifacts", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `taskType` TEXT NOT NULL, `bookUrl` TEXT NOT NULL, `chapterIndex` INTEGER, `contentHash` TEXT NOT NULL, `promptHash` TEXT NOT NULL, `modelProfileId` TEXT NOT NULL, `status` INTEGER NOT NULL, `output` TEXT, `errorMessage` TEXT, `schemaVersion` INTEGER NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`))", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "taskType", "columnName": "taskType", "affinity": "TEXT", "notNull": true }, { "fieldPath": "bookUrl", "columnName": "bookUrl", "affinity": "TEXT", "notNull": true }, { "fieldPath": "chapterIndex", "columnName": "chapterIndex", "affinity": "INTEGER" }, { "fieldPath": "contentHash", "columnName": "contentHash", "affinity": "TEXT", "notNull": true }, { "fieldPath": "promptHash", "columnName": "promptHash", "affinity": "TEXT", "notNull": true }, { "fieldPath": "modelProfileId", "columnName": "modelProfileId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "status", "columnName": "status", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "output", "columnName": "output", "affinity": "TEXT" }, { "fieldPath": "errorMessage", "columnName": "errorMessage", "affinity": "TEXT" }, { "fieldPath": "schemaVersion", "columnName": "schemaVersion", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "indices": [ { "name": "index_ai_artifacts_bookUrl_chapterIndex_taskType", "unique": false, "columnNames": [ "bookUrl", "chapterIndex", "taskType" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_ai_artifacts_bookUrl_chapterIndex_taskType` ON `${TABLE_NAME}` (`bookUrl`, `chapterIndex`, `taskType`)" }, { "name": "index_ai_artifacts_contentHash_promptHash_modelProfileId", "unique": false, "columnNames": [ "contentHash", "promptHash", "modelProfileId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_ai_artifacts_contentHash_promptHash_modelProfileId` ON `${TABLE_NAME}` (`contentHash`, `promptHash`, `modelProfileId`)" } ] }, { "tableName": "ai_chat_conversations", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `title` TEXT NOT NULL, `reasoningLevel` TEXT NOT NULL, `modelProfileId` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`))", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "title", "columnName": "title", "affinity": "TEXT", "notNull": true }, { "fieldPath": "reasoningLevel", "columnName": "reasoningLevel", "affinity": "TEXT", "notNull": true }, { "fieldPath": "modelProfileId", "columnName": "modelProfileId", "affinity": "TEXT" }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] } }, { "tableName": "ai_chat_messages", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `conversationId` TEXT NOT NULL, `role` TEXT NOT NULL, `partsJson` TEXT NOT NULL, `createdAt` INTEGER NOT NULL, `branchIndex` INTEGER NOT NULL, `isSelected` INTEGER NOT NULL, `parentMessageId` TEXT, `thinkingDuration` INTEGER NOT NULL DEFAULT 0, PRIMARY KEY(`id`))", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "conversationId", "columnName": "conversationId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "role", "columnName": "role", "affinity": "TEXT", "notNull": true }, { "fieldPath": "partsJson", "columnName": "partsJson", "affinity": "TEXT", "notNull": true }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "branchIndex", "columnName": "branchIndex", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "isSelected", "columnName": "isSelected", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "parentMessageId", "columnName": "parentMessageId", "affinity": "TEXT" }, { "fieldPath": "thinkingDuration", "columnName": "thinkingDuration", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "indices": [ { "name": "index_ai_chat_messages_conversationId_createdAt", "unique": false, "columnNames": [ "conversationId", "createdAt" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_ai_chat_messages_conversationId_createdAt` ON `${TABLE_NAME}` (`conversationId`, `createdAt`)" } ] }, { "tableName": "ai_memory", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`conversationId` TEXT NOT NULL, `key` TEXT NOT NULL, `value` TEXT NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`conversationId`, `key`))", "fields": [ { "fieldPath": "conversationId", "columnName": "conversationId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "key", "columnName": "key", "affinity": "TEXT", "notNull": true }, { "fieldPath": "value", "columnName": "value", "affinity": "TEXT", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "conversationId", "key" ] }, "indices": [ { "name": "index_ai_memory_conversationId", "unique": false, "columnNames": [ "conversationId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_ai_memory_conversationId` ON `${TABLE_NAME}` (`conversationId`)" } ] } ], "views": [ { "viewName": "book_sources_part", "createSql": "CREATE VIEW `${VIEW_NAME}` AS select bookSourceUrl, bookSourceName, bookSourceGroup, customOrder, enabled, enabledExplore, \n (loginUrl is not null and trim(loginUrl) <> '') hasLoginUrl, lastUpdateTime, respondTime, weight, \n (exploreUrl is not null and trim(exploreUrl) <> '') hasExploreUrl \n from book_sources" } ], "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, '43e0a02ed8063766bf739654b904fd27')" ] } }