POGOserver/src/db/create.js
Felix 19b3e3b5f2 Update
- Improve live map object editing
- Added fort table
- Restructured world, forts and cells
- Todo: Make sure forts always have unique uid, likely breaks when add
and delete multiple forts
2016-08-30 18:56:57 +02:00

52 lines
1.1 KiB
JavaScript

import fs from "fs";
import print from "../print";
import CFG from "../../cfg";
export function createTableIfNotExists(name) {
return new Promise((resolve) => {
this.db.query(`SHOW TABLES LIKE '${name}';`, (e, rows, fields) => {
if (e) console.log(e);
else {
// exists
if (rows && rows.length) resolve();
// create user table
else this.createTables().then(resolve);
}
});
});
}
/**
* @param {String} name
*/
export function createTables() {
return new Promise((resolve) => {
this.createTable(CFG.MYSQL_USERS_TABLE).then(() => {
this.createTable(CFG.MYSQL_OWNED_PKMN_TABLE).then(() => {
this.createTable(CFG.MYSQL_FORT_TABLE).then(() => {
resolve();
});
});
});
});
}
export function createTable(name) {
print(`Creating table ${name}`, 36);
let query = `
CREATE TABLE IF NOT EXISTS ${name} (
${fs.readFileSync(__dirname + "/tables/" + name + ".table", "utf8")}
) ENGINE=InnoDB;
`;
return new Promise((resolve) => {
this.db.query(query, (e, rows) => {
if (e) console.log(e);
else resolve();
});
});
}