📜  knex.js 迁移执行 - Javascript (1)

📅  最后修改于: 2023-12-03 15:02:31.719000             🧑  作者: Mango

Knex.js 迁移执行

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 提供了一种方便的方法来管理数据库迁移,使得我们可以轻松地向数据库添加,修改或删除表格。