📜  knex 迁移更改表已存在 - Shell-Bash (1)

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

使用 Knex 迁移更改表已存在

简介

Knex.js 是一个流行的 Node.js SQL query builder 和 ORM 工具。它使用 JavaScript API 构建 SQL 查询,并使数据库的访问更加直观和易于管理。

本文将介绍如何使用 Knex 迁移更改已存在的表。如果您需要更改表结构或更改某些列的数据类型,则必须使用迁移。

准备工作

在继续之前,您需要安装 Node.js 和 Knex.js。如果您已经安装了 Node.js,请打开终端并运行以下命令安装 Knex。

npm install knex
创建迁移文件

首先在终端中进入您的项目目录,并使用以下命令创建一个新的迁移文件。

knex migrate:make change_existing_table

在上面的命令中,我们使用 'change_existing_table' 作为迁移文件的名称。您应该选择一个具有描述性的名称,以便在日后更好地管理您的迁移。

迁移文件将在您的项目根目录中的 migrations 文件夹中创建。打开新文件以编辑您的迁移代码。

修改现有表

在新创建的迁移文件中,我们将使用 'alter table' 语句来更改已存在的表。

exports.up = function(knex) {
  return knex.schema.alterTable('existing_table', function(table) {
    // 在这里添加您需要更改表的代码
    // 例如:
    // table.string('new_column', 255);
  });
};

exports.down = function(knex) {
  return knex.schema
    .table('existing_table', function(table) {
      // 在这里添加您需要还原更改的代码
      // 例如:
      // table.dropColumn('new_column');
    });
};

在上面的代码中,我们使用 'alterTable' 语句更改 'existing_table' 表。在 'up' 函数中添加更改,而在 'down' 函数中添加需要还原更改的代码。

请注意,'exports.up' 和 'exports.down' 函数必须返回一个 promise。

运行迁移

当您准备好运行迁移时,只需使用以下命令在终端中运行迁移即可。

knex migrate:latest

这将运行所有未运行的迁移文件,并将更改应用于您的数据库表。

总结

在本文中,我们介绍了如何使用 Knex 迁移更改已存在的表。通过编写一个新的迁移文件,您可以更改表结构或更改某些列的数据类型。只需确保您的修改在 'up' 函数中添加,而在 'down' 函数中添加需要还原更改的代码。运行 'knex migrate:latest' 命令以应用您的更改。