无法 运行 在 Heroku 上迁移 Postgres
Failing to run migration Postgres on Heroku
好吧,当我输入 heroku bash 并尝试 运行 npx typeorm migration:run
时,它只会抛出一个错误:
奇怪的是,当数据库位于本地主机上时,它在本地工作,就像在 .env 文件中这样:
DATABASE_URL=postgres://postgres:docker@localhost:5432/gittin
这是我的 ormconfig.js
:
module.exports = {
"type": "postgres",
"url": process.env.DATABASE_URL,
"entities": ["dist/entities/*.js"],
"cli": {
"migrationsDir": "src/database/migrations",
"entitiesDir": "src/entities"
}
}
是的,我在应用程序中添加了 heroku postgres 插件。
PS:如果需要,这是项目的回购:https://github.com/joaocasarin/gittin
正如我在评论中与 Carlo 讨论的那样,我不得不在 ormconfig.js
中添加 ssl
属性,但不仅要在环境为 production
。所以根据 ,我必须在生产模式时输入 { rejectUnauthorized: false }
,在非生产模式时输入 false。
所以 ormconfig.js
现在是这样的:
module.exports = {
"type": "postgres",
"ssl": process.env.NODE_ENV === 'production' ? { rejectUnauthorized: false } : false,
"url": process.env.DATABASE_URL,
"entities": ["dist/entities/*.js"],
"cli": {
"migrationsDir": "src/database/migrations",
"entitiesDir": "src/entities"
}
}
好吧,当我输入 heroku bash 并尝试 运行 npx typeorm migration:run
时,它只会抛出一个错误:
奇怪的是,当数据库位于本地主机上时,它在本地工作,就像在 .env 文件中这样:
DATABASE_URL=postgres://postgres:docker@localhost:5432/gittin
这是我的 ormconfig.js
:
module.exports = {
"type": "postgres",
"url": process.env.DATABASE_URL,
"entities": ["dist/entities/*.js"],
"cli": {
"migrationsDir": "src/database/migrations",
"entitiesDir": "src/entities"
}
}
是的,我在应用程序中添加了 heroku postgres 插件。
PS:如果需要,这是项目的回购:https://github.com/joaocasarin/gittin
正如我在评论中与 Carlo 讨论的那样,我不得不在 ormconfig.js
中添加 ssl
属性,但不仅要在环境为 production
。所以根据 { rejectUnauthorized: false }
,在非生产模式时输入 false。
所以 ormconfig.js
现在是这样的:
module.exports = {
"type": "postgres",
"ssl": process.env.NODE_ENV === 'production' ? { rejectUnauthorized: false } : false,
"url": process.env.DATABASE_URL,
"entities": ["dist/entities/*.js"],
"cli": {
"migrationsDir": "src/database/migrations",
"entitiesDir": "src/entities"
}
}