mrfrys-node-server/src/standaloneUtils/dbSetup.js
2021-05-26 19:03:05 +02:00

41 lines
1.2 KiB
JavaScript

const utils = require('../../dist/utils/utils.js').default // eslint-disable-line
const logger = require('../../dist/utils/logger.js').default // eslint-disable-line
const dbtools = require('../../dist/utils/dbtools.js').default // eslint-disable-line
const { v4: uuidv4 } = require('uuid') // eslint-disable-line
const dbStructPaths = [
{ structPath: '../modules/api/usersDBStruct.json', name: 'users.db' },
{ structPath: '../modules/api/msgsDbStruct.json', name: 'msgs.db' },
]
dbStructPaths.forEach((data) => {
const { structPath, name } = data
createDB(structPath, name)
})
function createDB(path, name) {
const dbStruct = utils.ReadJSON(path)
const db = dbtools.GetDB(`./${name}`)
db.pragma('synchronous = OFF')
Object.keys(dbStruct).forEach((tableName) => {
const tableData = dbStruct[tableName]
dbtools.CreateTable(
db,
tableName,
tableData.tableStruct,
tableData.foreignKey
)
})
printDb(db, dbStruct)
db.close()
logger.Log('Done')
}
function printDb(db, dbStruct) {
Object.keys(dbStruct).forEach((key) => {
console.log(dbtools.TableInfo(db, key))
console.log(dbtools.SelectAll(db, key))
})
}