Проблема при отправке sqlite3 db в heroku: lib / taps / schema.rb: 30: в `sqlite_config ': неопределенный метод` []' для nil: NilClass (NoMethodError)

StackOverflow https://stackoverflow.com/questions/1634693

  •  06-07-2019
  •  | 
  •  

Вопрос

У меня есть приложение Sinatra DataMapper, работающее с базой данных sqlite3, которую я пытаюсь развернуть в Heroku. Сначала я включил свой файл базы данных в репозиторий git. Это работает, как в приложении, но производственные данные не принадлежат хранилищу. Это на самом деле не работает, потому что база данных доступна только для чтения.

Затем я удалил файл db для контроля исходного кода и попытался выполнить heroku db: push sqlite: //db/my-app.db . Эта команда выдает следующую трассировку:

my-app/(master) ~ heroku db:push sqlite:://db/my-app.db 
Sending schema
/Library/Ruby/Gems/1.8/gems/taps-0.2.19/lib/taps/../../bin/../lib/taps/schema.rb:30:in `sqlite_config': undefined method `[]' for nil:NilClass (NoMethodError)
    from /Library/Ruby/Gems/1.8/gems/taps-0.2.19/lib/taps/../../bin/../lib/taps/schema.rb:24:in `create_config'
    from /Library/Ruby/Gems/1.8/gems/taps-0.2.19/lib/taps/../../bin/../lib/taps/schema.rb:36:in `connection'
    from /Library/Ruby/Gems/1.8/gems/taps-0.2.19/lib/taps/../../bin/../lib/taps/schema.rb:43:in `dump'
    from /Library/Ruby/Gems/1.8/gems/taps-0.2.19/lib/taps/../../bin/../lib/taps/schema.rb:52:in `dump_without_indexes'
    from /Library/Ruby/Gems/1.8/gems/taps-0.2.19/lib/taps/../../bin/schema:24
Sending data
0 tables, 0 records
Sending indexes
/Library/Ruby/Gems/1.8/gems/taps-0.2.19/lib/taps/../../bin/../lib/taps/schema.rb:30:in `sqlite_config': undefined method `[]' for nil:NilClass (NoMethodError)
    from /Library/Ruby/Gems/1.8/gems/taps-0.2.19/lib/taps/../../bin/../lib/taps/schema.rb:24:in `create_config'
    from /Library/Ruby/Gems/1.8/gems/taps-0.2.19/lib/taps/../../bin/../lib/taps/schema.rb:36:in `connection'
    from /Library/Ruby/Gems/1.8/gems/taps-0.2.19/lib/taps/../../bin/../lib/taps/schema.rb:43:in `dump'
    from /Library/Ruby/Gems/1.8/gems/taps-0.2.19/lib/taps/../../bin/../lib/taps/schema.rb:62:in `indexes'
    from /Library/Ruby/Gems/1.8/gems/taps-0.2.19/lib/taps/../../bin/schema:26
Resetting sequences

Есть идеи, что может быть причиной и как я могу это исправить?

Это было полезно?

Решение

Heroku нужен schema.rb для «подготовки» экземпляра базы данных (Postgres), который будет получать ваши данные через heroku db: push . Я сгенерировал schema.rb через рельсы. Развернул это на геройку и тут сработал db push.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top