You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
bandolier-website/migrations/20220224195155_livestream.cjs

24 lines
866 B

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');
};