30 lines
807 B
JavaScript
30 lines
807 B
JavaScript
/**
|
|
* @param { import("knex").Knex } knex
|
|
* @returns { Promise<void> }
|
|
*/
|
|
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<void> }
|
|
*/
|
|
exports.down = function(knex) {
|
|
return knex.schema.hasTable('invites').then(function(exists) {
|
|
if (exists) {
|
|
return knex.schema.dropTable('invites');
|
|
}
|
|
});
|
|
};
|