From 9638d500f53e4032b47d630985bc8fd80f26aa02 Mon Sep 17 00:00:00 2001 From: peter Date: Thu, 13 Aug 2020 12:24:35 +0200 Subject: [PATCH] fix migrations --- .gitignore | 1 + .../002_signups_addColumn_not_attending.js | 40 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 migrations/002_signups_addColumn_not_attending.js diff --git a/.gitignore b/.gitignore index 92e919d..f690bb9 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,7 @@ log.txt !src/**/* +!migrations/**/* node_modules src/frontend/node_modules src/frontend/out-tsc diff --git a/migrations/002_signups_addColumn_not_attending.js b/migrations/002_signups_addColumn_not_attending.js new file mode 100644 index 0000000..3c080b2 --- /dev/null +++ b/migrations/002_signups_addColumn_not_attending.js @@ -0,0 +1,40 @@ +const readline = require('readline') +const process = require('process') + + +exports.up = function (knex) { + return knex.schema.hasColumn('signups', 'absent').then(absent => { + if (!absent) { + + const r1 = readline.createInterface({ + input: process.stdin, + output: process.stdout + }) + return new Promise((res, rej) => { + return knex.schema.dropTable('signups').then(_ => { + return knex.schema.createTable('signups', function (table) { + table.increments('id').primary() + table.unique(['raidid', 'characterid']) + table.integer('raidid') + table.foreign('raidid').references('id').inTable('raids').onDelete('CASCADE') + table.integer('characterid') + table.foreign('characterid').references('id').inTable('characters').onDelete('CASCADE') + table.boolean('benched').defaultTo('false') + table.boolean('late') + table.boolean('absent').defaultTo(false) + table.timestamp('timestamp').defaultTo(knex.fn.now()) + table.string('memo').nullable() + res() + }).catch(rej) + }) + }) + } + }) +} + + +exports.down = function (knex) { + return knex.schema.table('signups', function (table) { + table.dropColumn('absent') + }) +} \ No newline at end of file