lx-music-desktop/src/main/worker/dbService/verifyDB.ts

26 lines
928 B
TypeScript

import type Database from 'better-sqlite3'
import tables from './tables'
const rxp = /\n|\s|;|--.+/g
export default (db: Database.Database) => {
const result = db.prepare('SELECT type,name,tbl_name,sql FROM "main".sqlite_master WHERE sql NOT NULL;').all()
const dbTableMap = new Map<string, string>()
for (const info of result) dbTableMap.set(info.name, info.sql.replace(rxp, ''))
return Array.from(tables.entries()).every(([name, sql]) => {
const dbSql = dbTableMap.get(name)
return dbSql && dbSql == sql.replace(rxp, '')
})
// console.log(dbTableMap)
// for (const [name, sql] of tables.entries()) {
// const dbSql = dbTableMap.get(name)
// if (dbSql) {
// if (dbSql == sql.replace(rxp, '')) continue
// console.log(dbSql)
// console.log(sql.replace(rxp, ''))
// } else {
// console.log(name)
// }
// }
// if (result.every((info) => { tables.includes() }))
}