Problema al empujar sqlite3 db a heroku: lib / taps / schema.rb: 30: en `sqlite_config ': método indefinido` []' para nil: NilClass (NoMethodError)

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

  •  06-07-2019
  •  | 
  •  

Pregunta

Tengo una aplicación Sinatra DataMapper que golpea una base de datos sqlite3 que intento implementar en Heroku. Primer paso, incluí mi archivo de base de datos en el repositorio de git. Esto funciona, como se ejecuta en la aplicación, pero los datos de producción no pertenecen al repositorio. Sin embargo, en realidad no funciona porque la base de datos es de solo lectura.

Luego eliminé el archivo db para controlar la fuente e intenté un heroku db: push sqlite: //db/my-app.db . Este comando produce el siguiente seguimiento de estado:

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

¿Alguna idea de qué puede estar causando esto y cómo puedo solucionarlo?

¿Fue útil?

Solución

Heroku necesita un schema.rb para 'preparar' la instancia de la base de datos (Postgres) que recibirá sus datos a través de heroku db: push . Generé un schema.rb a través de rieles. Implementé eso en heroku y luego el db push funcionó.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top