📅  最后修改于: 2023-12-03 15:02:31.719000             🧑  作者: Mango
Knex.js 是一个流行的 Node.js SQL 查询构建器和 ORM 工具。它可以让我们使用 JavaScript 对 SQL 数据库进行操作。
在使用 Knex.js 进行数据库迁移时,我们需要创建迁移文件和执行迁移命令。本文将介绍如何使用 Knex.js 执行迁移。
我们可以使用 Knex.js CLI(命令行界面)创建迁移文件。安装 CLI 命令:
npm install -g knex
然后在项目目录中执行以下命令:
knex migrate:make create_users_table
以上命令将创建一个名为 create_users_table
的迁移文件,它应该位于 ./migrations
目录中。我们可以按照如下的方式编辑该文件:
exports.up = function(knex, Promise) {
return knex.schema.createTable('users', function(table) {
table.increments('id');
table.string('username').notNullable().unique();
table.string('password').notNullable();
table.timestamps(true, true);
});
};
exports.down = function(knex, Promise) {
return knex.schema.dropTable('users');
};
上面的代码定义了一个 up
函数和一个 down
函数。up
函数在向数据库添加新表时运行,down
函数在从数据库中删除表时运行。在本例中,up
函数创建一个名为 users
的表格,down
函数从数据库中删除该表格。
要执行数据库迁移,我们可以使用 Knex.js 的 migrate:latest
命令。在项目目录中,执行以下命令:
knex migrate:latest
以上命令将执行 ./migrations
目录中的所有未执行的迁移文件。
我们可以使用 migrate:rollback
命令将迁移操作回滚到上一次迁移前的状态:
knex migrate:rollback
此命令将撤消最后一次执行的迁移,并运行对应的 down
函数。
如果我们只需要将迁移回滚到某个特定的迁移点,可以通过运行以下命令:
knex migrate:rollback --to 20191226123456_create_users_table.js
注意,上面的命令中 20191226123456_create_users_table.js
应该替换为我们想要回滚到的迁移文件名。
此外,我们还可以使用 migrate:make
命令创建新迁移文件:
knex migrate:make add_email_to_users_table
以上命令将创建一个名为 add_email_to_users_table
的迁移文件,它也应该位于 ./migrations
目录中。
在本文中,我们介绍了如何使用 Knex.js 创建迁移文件和执行迁移命令。Knex.js 提供了一种方便的方法来管理数据库迁移,使得我们可以轻松地向数据库添加,修改或删除表格。