You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
1010 B
21 lines
1010 B
import * as db from "../database";
|
|
import * as dirty from "dirty";
|
|
|
|
async function run () {
|
|
await db.query('CREATE TABLE IF NOT EXISTS ch_bans(channel VARCHAR(25), target VARCHAR(45), time BIGINT, length INT DEFAULT 30)');
|
|
console.log('!!! This migration has a race condition when run from the `npm run migrate` command. If thats how this was called, please re-run this migration manually.\n!!! Run `npm run v3-manual` to do so');
|
|
var bansdb = new dirty('./config/bans.db')
|
|
bansdb.on('load', async () => {
|
|
bansdb.forEach(async (key, val) => {
|
|
let ips = Object.keys(val);
|
|
for(var i=0;i<ips.length;i++){
|
|
await db.query('INSERT INTO ch_bans (channel, target, time, length) VALUES ('+db.raw.escape(key)+', '+db.raw.escape(ips[i])+', '+val[ips[i]].time+', '+val[ips[i]].length+')');
|
|
}
|
|
});
|
|
await db.query('INSERT INTO db_meta (version) VALUES (3)');
|
|
console.log('Done migrating bans.db');
|
|
console.log('If this was a manual migration, you can kill the process now.');
|
|
});
|
|
}
|
|
|
|
export { run } |