/** * @param { import("knex").Knex } knex * @returns { Promise } */ exports.up = function(knex) { return knex.schema.hasTable('invites').then(function(exists) { if (!exists) { return knex.schema.createTable('invites', (table) => { table.increments('id').primary(); table.integer('user_id').unsigned().references('id').inTable('users'); table.string('token').notNullable(); table.datetime('created').defaultTo(knex.fn.now()); table.datetime('expires').notNullable(); }); } }); }; /** * @param { import("knex").Knex } knex * @returns { Promise } */ exports.down = function(knex) { return knex.schema.hasTable('invites').then(function(exists) { if (exists) { return knex.schema.dropTable('invites'); } }); };