shadowsocks-manager
Version:
A shadowsocks manager tool for multi user and traffic control.
43 lines (34 loc) • 1.14 kB
JavaScript
;
const knex = appRequire('init/knex').knex;
const tableName = 'account_flow';
const createTable = async () => {
const exist = await knex.schema.hasTable(tableName);
if (exist) {
const hasStatus = await knex.schema.hasColumn(tableName, 'status');
if (!hasStatus) {
await knex.schema.table(tableName, function (table) {
table.string('status').defaultTo('checked');
});
}
const hasAutobanTime = await knex.schema.hasColumn(tableName, 'autobanTime');
if (!hasAutobanTime) {
await knex.schema.table(tableName, function (table) {
table.bigInteger('autobanTime');
});
}
return;
}
return knex.schema.createTableIfNotExists(tableName, function (table) {
table.increments('id');
table.integer('serverId');
table.integer('accountId');
table.integer('port');
table.bigInteger('updateTime');
table.bigInteger('checkTime');
table.bigInteger('nextCheckTime');
table.bigInteger('autobanTime');
table.bigInteger('flow').defaultTo(0);
table.string('status').defaultTo('checked');
});
};
exports.createTable = createTable;