exports.up = async (knex) => { // using async/await lets you work with multiple tables in one up/down await knex.schema.createTable('livestream', (table) => { table.increments('id'); table.timestamps(true, true); table.string("title").notNullable(); table.text("description").notNullable(); table.string('poster'); table.string("source"); table.datetime("starts_on").notNullable(); table.boolean('is_free').defaultTo(false).notNullable(); // only four states really needed in most payment systems table.enum('state', ['pending', 'live', 'finished', 'archived']).notNull().default('pending'); }); // because this is an async it'll automatically be a promise for knex // add any other tables here with an await, no need to return }; exports.down = async (knex) => { await knex.schema.dropTable('livestream'); };