将 sequelize-cli
应用部署到 Heroku 并处理 DATABASE_URL
问题涉及几个关键步骤和概念。以下是详细的解答:
在 Heroku 上部署应用时,可能会遇到 DATABASE_URL
环境变量未正确设置或 Sequelize 无法识别该变量的问题。
DATABASE_URL
。DATABASE_URL
。DATABASE_URL
:Config Vars
中是否有 DATABASE_URL
。config/config.json
或 config/database.js
文件。config/config.json
中:config/config.json
中:package.json
中有正确的脚本:package.json
中有正确的脚本:假设你有一个简单的 Sequelize 模型:
// models/User.js
module.exports = (sequelize, DataTypes) => {
const User = sequelize.define('User', {
username: DataTypes.STRING,
email: DataTypes.STRING
});
return User;
};
在 index.js
中初始化 Sequelize:
const { Sequelize } = require('sequelize');
const env = process.env.NODE_ENV || 'development';
const config = require('./config/config.json')[env];
const sequelize = new Sequelize(config.database, config.username, config.password, config);
// 同步模型
sequelize.sync({ force: true }).then(() => {
console.log('Database & tables created!');
});
通过以上步骤,你应该能够成功地将 sequelize-cli
应用部署到 Heroku 并正确处理 DATABASE_URL
问题。确保环境变量设置正确,并在配置文件中使用 use_env_variable
来读取 Heroku 提供的数据库 URL。
领取专属 10元无门槛券
手把手带您无忧上云