This is the template project that's checked out and configured when you run the bando-up command from ljsthw-bandolier. This is where the code really lives.
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-template/migrations/20220224195155_livestream.cjs

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