51 lines
1.6 KiB
TypeScript
51 lines
1.6 KiB
TypeScript
import type Database from 'better-sqlite3'
|
|
|
|
// const migrateV1 = (db: Database.Database) => {
|
|
// const sql = `
|
|
// DROP TABLE "main"."download_list";
|
|
|
|
// CREATE TABLE "download_list" (
|
|
// "id" TEXT NOT NULL,
|
|
// "isComplate" INTEGER NOT NULL,
|
|
// "status" TEXT NOT NULL,
|
|
// "statusText" TEXT NOT NULL,
|
|
// "progress_downloaded" INTEGER NOT NULL,
|
|
// "progress_total" INTEGER NOT NULL,
|
|
// "url" TEXT,
|
|
// "quality" TEXT NOT NULL,
|
|
// "ext" TEXT NOT NULL,
|
|
// "fileName" TEXT NOT NULL,
|
|
// "filePath" TEXT NOT NULL,
|
|
// "musicInfo" TEXT NOT NULL,
|
|
// "position" INTEGER NOT NULL,
|
|
// PRIMARY KEY("id")
|
|
// );
|
|
// `
|
|
// db.exec(sql)
|
|
// db.prepare('UPDATE "main"."db_info" SET "field_value"=@value WHERE "field_name"=@name').run({ name: 'version', value: '2' })
|
|
// }
|
|
|
|
const migrateV1 = (db: Database.Database) => {
|
|
const sql = `
|
|
CREATE TABLE "dislike_list" (
|
|
"type" TEXT NOT NULL,
|
|
"content" TEXT NOT NULL,
|
|
"meta" TEXT
|
|
);
|
|
`
|
|
db.exec(sql)
|
|
db.prepare('UPDATE "main"."db_info" SET "field_value"=@value WHERE "field_name"=@name').run({ name: 'version', value: '2' })
|
|
}
|
|
|
|
export default (db: Database.Database) => {
|
|
// PRAGMA user_version = x
|
|
// console.log(db.prepare('PRAGMA user_version').get().user_version)
|
|
// https://github.com/WiseLibs/better-sqlite3/issues/668#issuecomment-1145285728
|
|
const version = (db.prepare<[string]>('SELECT "field_value" FROM "main"."db_info" WHERE "field_name" = ?').get('version') as { field_value: string }).field_value
|
|
switch (version) {
|
|
case '1':
|
|
migrateV1(db)
|
|
break
|
|
}
|
|
}
|