Отказано в соединении по героку с использованием генератора-sql-fullstack

0

ты мой последний шанс здесь. Поэтому я создал проект с пакетом generator-sql-fullstack и попытался развернуть его на герою.

К сожалению, я не могу подключиться к базе данных Heroku, поскольку получаю сообщение об ошибке R10. Я пробовал разные способы подключения к postgres через sequelize - ни один из них не работал. Главное было сделать его совместимым с ssl, но он все еще не подключается (или, может быть, я неправильно его использую)

Проект работает отлично, приложение также создается без ошибок.

Пожалуйста, ознакомьтесь с журналами Heroku и основными файлами для подключения. Надеюсь, вы сможете мне помочь здесь. Спасибо.

$ heroku logs
2016-04-18T21:27:36.994697+00:00 app[web.1]: > node server/app.js
2016-04-18T21:27:36.994705+00:00 app[web.1]: 
2016-04-18T21:27:37.784886+00:00 app[web.1]: Express server listening on 55648, in production mode
2016-04-18T21:28:34.891786+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
2016-04-18T21:28:34.891786+00:00 heroku[web.1]: Stopping process with SIGKILL
2016-04-18T21:28:35.750471+00:00 heroku[web.1]: Process exited with status 137

/server/config/environment/production.js

module.exports = {
  database: 'DBNAME',
  username: 'DBUSERNAME',
  password: 'DBPASSWORD',
  sql: {
      host: 'DBHOST',
      port: process.env.PORT || '5432',
      dialect: 'postgres',
       dialectOptions: {
        ssl: true
      }
    }
};

/server/api/index.js

var sequelize = new Sequelize(config.database, config.username, config.password, config.sql);

Кроме этого, на стороне сервера ничего не трогало. Я предполагаю, что я использую Sequelize неправильно, но я следил за документацией (для адаптации SSL для heroku).

Пожалуйста, дайте мне знать, хотите ли вы видеть больше файлов конфигурации.

Спасибо за любой вклад!

Теги:
sequelize.js
heroku
yeoman-generator-angular

1 ответ

0

Эта:

var sequelize =  new Sequelize(process.env.DATABASE_URL);

должно быть достаточно для подключения к Heroku Postgres. Вы можете проверить, что DATABASE_URL в панели инструментов Heroku → YourApp → Настройки → Config Variables. Вы также можете взять учетные данные db из этой строки, но вам это не нужно.

process.env.PORT - это не порт базы данных, а порт, на котором вы должны запустить свой сервер (поэтому Heroku может выполнять свои внутренние функции маршрутизации), например:

server.listen(process.env.PORT || 5432)

Поэтому файл конфигурации должен выглядеть примерно так:

module.exports = {
 port: process.env.PORT || 5432,
 database: {
  uri: process.env.DATABASE_URL
 }
};

И подключение к базе данных:

var sequelize =  new Sequelize(config.database.uri);
  • 0
    Да, я пробовал это .. Та же проблема. Есть ли способ отладки соединения вручную? Я так расстроен ..
  • 0
    Ошибка R10 (Тайм-аут загрузки) -> Веб-процессу не удалось привязаться к $ PORT в течение 60 секунд после запуска - это не проблема Sequelize или Postgres. Но вы можете подключиться к вашей базе данных с помощью любого менеджера pg db или с помощью heroku cli: heroku pg: psql --app yourappname DATABASE

Ещё вопросы

Сообщество Overcoder
Наверх
Меню