У меня есть Express API, развернутый в Heroku, но когда я пытаюсь запустить миграцию, он выдает следующую ошибку:
heroku run knex migrate: последний Запуск knex migrate: последний на ⬢ закладках-node-api ... up, run.9925 (бесплатно) Использование среды: производство Ошибка: connect ECONNREFUSED 127.0.0.1:5432 в TCPConnectWrap.afterConnect [as oncomplete] (net.js: 1117: 14)
В моем knexfile.js
у меня есть:
production: {
client: 'postgresql',
connection: {
database: process.env.DATABASE_URL
},
pool: {
min: 2,
max: 10
},
migrations: {
directory: './database/migrations'
}
}
Я также попытался назначить каталог миграций для tableName: 'knex_migrations'
, который выдает ошибку:
heroku run knexmigrate: последний Запуск knex migrate: последний на ⬢ bookmarks-node-api ... up, run.7739 (бесплатно) Использование среды: производство Ошибка: ENOENT: такого файла или каталога нет, scandir '/ app / migrations'
Вот конфигурация, установленная в Heroku:
-node-api git:(master) heroku pg:info
=== DATABASE_URL
Plan: Hobby-dev
Status: Available
Connections: 0/20
PG Version: 10.7
Created: 2019-02-21 12:58 UTC
Data Size: 7.6 MB
Tables: 0
Rows: 0/10000 (In compliance)
Fork/Follow: Unsupported
Rollback: Unsupported
Я думаю, проблема в том, что по какой-то причине она смотрит на localhost
для базы данных, как если бы средачитается как development
, хотя трассировка показывает Using environment: production
.