This is the code that runs https://bandolier.learnjsthehardway.com/ for you to review. It uses the https://git.learnjsthehardway.com/learn-javascript-the-hard-way/bandolier-template to create the documentation for the project.
https://bandolier.learnjsthehardway.com/
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.
24 lines
866 B
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');
|
|
};
|
|
|