📜  heroku 运行 knex 迁移 - Shell-Bash (1)

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

Heroku运行Knex迁移 - Shell/Bash

当你的Node.js应用程序需要在Heroku上部署时,你可能会使用Knex.js进行数据库迁移和查询。在本篇文章中,我们将介绍如何在Heroku上安装和运行Knex迁移。

前置条件

在开始之前,你应该熟悉以下技术:

  • 基本的Shell/Bash命令
  • Node.js应用程序开发
  • PostgreSQL数据库
步骤

以下是在Heroku上运行Knex迁移的步骤:

  1. 安装Heroku CLI

在Heroku CLI官网上下载并安装Heroku CLI,然后用你的账号登录。

# 安装
$ curl https://cli-assets.heroku.com/install.sh | sh

# 登录
$ heroku login
  1. 安装Knex和相关驱动程序

在你的Node.js项目的根目录下,使用npm安装Knex和相关驱动程序。

$ npm install knex pg
  1. 配置数据库连接

在你的项目中,使用.env文件或者Heroku Config Vars设置你的数据库连接参数。例如:

DATABASE_URL=postgres://user:password@host:port/database
  1. 创建Knexfile.js文件

在你的项目的根目录下,创建一个名为Knexfile.js的新文件,并添加以下代码:

module.exports = {
  development: {
    client: 'pg',
    connection: process.env.DATABASE_URL
  },

  production: {
    client: 'pg',
    connection: process.env.DATABASE_URL
  }
};
  1. 创建迁移文件

在项目中创建新的迁移文件:

$ npx knex migrate:make migration_name
  1. 编写迁移文件

在迁移文件中,使用Knex.js提供的API编写你的迁移逻辑。例如:

exports.up = function(knex, Promise) {
  return knex.schema.createTable('users', function(table) {
    table.increments('id');
    table.string('name');
    table.string('email').unique();
    table.timestamps();
  });
};

exports.down = function(knex, Promise) {
  return knex.schema.dropTable('users');
};
  1. 运行迁移

使用以下命令来运行你的迁移:

$ npx knex migrate:latest

这将连接到你配置的数据库并运行所有未运行过的迁移文件。

总结

在本文中,我们介绍了如何在Heroku上使用Knex.js进行数据库迁移。通过遵循这些步骤,你可以轻松地在Heroku上运行Knex迁移,确保你的应用程序具有正确的数据库结构。