yarn run knex migrate:make $NAME
yarn run knex migrate:latest
yarn run knex migrate:rollback
{
"scripts": {
"latest": "yarn run knex migrate:latest",
"rollback": "yarn run knex migrate:rollback"
},
}
yarn run knex migrate:make $verb_table
yarn run knex migrate:make createTable_users
yarn run knex migrate:make alterTable_users_add_createdBy
Avoid an "init" file.
For example, do not have a: 20190424135724_init.js
Instead just do: 20190424135724_create_entries.js
This explains what the file does.
exports.up = function(knex, Promise) {
return knex.schema
.createTable('users', table => {
table
.uuid('uuid')
.primary();
table
.datetime('createdAt')
.defaultTo(knex.fn.now())
.index();
table
.datetime('updatedAt')
.defaultTo(knex.fn.now())
.index();
table
.string('name')
.collate('utf8mb4_unicode_ci')
.defaultTo('')
.notNullable();
table
.string('email')
.collate('utf8mb4_unicode_ci')
.unique()
.defaultTo('')
.notNullable();
})
};
exports.down = function(knex, Promise) {
return knex.schema
.dropTable('users');
};