📅  最后修改于: 2023-12-03 15:31:07.635000             🧑  作者: Mango
在 Heroku 上运行 Knex 迁移可以让你轻松地对数据库进行管理和维护。本文将介绍如何在 Heroku 上使用 Knex 迁移。
在使用 Heroku 运行 Knex 迁移之前,你需要做以下准备工作:
在开始使用 Knex 迁移之前,你需要先安装 Knex。你可以使用以下命令在你的项目中安装 Knex:
npm install --save knex
在使用 Knex 迁移之前,你需要先配置 Knex。你可以在你的项目根目录中创建一个 knexfile.js
文件来配置 Knex。
下面是一个示例 knexfile.js
文件,其中包含了 Knex 的基本配置信息:
module.exports = {
development: {
client: 'postgresql',
connection: 'postgres://localhost/mydb'
},
production: {
client: 'postgresql',
connection: process.env.DATABASE_URL
}
};
在上面的配置文件中,我们定义了两个数据库环境:development
和 production
。在 development
环境中,我们使用本地的 PostgreSQL 数据库 mydb
。在 production
环境中,我们使用 Heroku 上的 PostgreSQL 数据库。
在配置好 Knex 后,你可以开始创建迁移了。你可以使用以下命令来创建一个新的迁移:
npx knex migrate:make migration_name
其中 migration_name
是你想要给这个迁移起的名字。
该命令将在 migrations
目录中创建一个新的迁移文件,该文件的命名规则为 timestamp_migration_name.js
,其中 migration_name
是你给这个迁移起的名字,timestamp
是该迁移创建的时间戳。
下面是一个示例迁移文件 20210101120000_add_users_table.js
:
exports.up = function(knex) {
return knex.schema.createTable('users', function (table) {
table.increments('id').primary();
table.string('name').notNullable();
table.string('email').unique().notNullable();
table.timestamps(true, true);
});
};
exports.down = function(knex) {
return knex.schema.dropTable('users');
};
在上面的示例迁移文件中,我们通过 exports.up
和 exports.down
创建了一个名为 users
的数据库表。exports.up
用来向数据库中添加新表或新列,exports.down
用来删除表或列。
在创建好迁移之后,你可以使用以下命令来运行迁移:
npx knex migrate:latest
该命令将会依次运行你所有尚未运行的迁移,将数据库表更新到最新状态。
如果你需要回滚已经完成的迁移,你可以使用以下命令:
npx knex migrate:rollback
该命令将会撤销最后一次运行的迁移,将数据库表恢复到上一个状态。
Heroku 和 Knex 迁移是非常强大的工具,可以帮助你方便地管理和维护你的数据库。本文介绍了如何在 Heroku 上运行 Knex 迁移,包括安装 Knex、配置 Knex、创建迁移、运行迁移和回滚迁移。希望这篇文章对你有所帮助!