56 lines
1.5 KiB
JavaScript
56 lines
1.5 KiB
JavaScript
import * as SQLite from "expo-sqlite";
|
|
import {
|
|
createNovelTableQuery,
|
|
createUrlIndexQuery,
|
|
createLibraryIndexQuery,
|
|
} from "./tables/NovelTable";
|
|
import {
|
|
createChapterTableQuery,
|
|
createNovelIdIndexQuery,
|
|
createUnreadChaptersIndexQuery,
|
|
} from "./tables/ChapterTable";
|
|
import {
|
|
createHistoryTableQuery,
|
|
createChapterIdIndexQuery,
|
|
} from "./tables/HistoryTable";
|
|
import { createDownloadTableQuery } from "./tables/DownloadTable";
|
|
import {
|
|
createUpdatesTableQuery,
|
|
updatesSeedDataQuery,
|
|
} from "./tables/UpdateTable";
|
|
|
|
/**
|
|
* Database Version = 2
|
|
*/
|
|
|
|
const dbName = "lnreader.db";
|
|
|
|
const db = SQLite.openDatabase(dbName);
|
|
|
|
export const createDB = () => {
|
|
db.transaction((tx) => {
|
|
tx.executeSql(createNovelTableQuery);
|
|
tx.executeSql(createChapterTableQuery);
|
|
tx.executeSql(createHistoryTableQuery);
|
|
tx.executeSql(createDownloadTableQuery);
|
|
tx.executeSql(createUpdatesTableQuery);
|
|
|
|
//Db indexes
|
|
tx.executeSql(createUrlIndexQuery);
|
|
tx.executeSql(createLibraryIndexQuery);
|
|
tx.executeSql(createNovelIdIndexQuery);
|
|
tx.executeSql(createUnreadChaptersIndexQuery);
|
|
tx.executeSql(createChapterIdIndexQuery);
|
|
});
|
|
};
|
|
|
|
export const deleteDb = () => {
|
|
db.transaction((tx) => {
|
|
tx.executeSql("DROP TABLE novels");
|
|
tx.executeSql("DROP TABLE chapters");
|
|
tx.executeSql("DROP TABLE history");
|
|
tx.executeSql("DROP TABLE downloads");
|
|
tx.executeSql("DROP TABLE updates");
|
|
});
|
|
};
|