Problema durante il push di sqlite3 db su heroku: lib / taps / schema.rb: 30: in `sqlite_config ': metodo indefinito` []' per zero: NilClass (NoMethodError)

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

  •  06-07-2019
  •  | 
  •  

Domanda

Ho un'app Sinatra DataMapper che colpisce un database sqlite3 che sto tentando di distribuire su Heroku. Primo passaggio, ho incluso il mio file di database nel repository git. Funziona, come nell'esecuzione dell'app, ma i dati di produzione non appartengono al repository. In realtà non funziona perché il database è di sola lettura.

Ho quindi rimosso il file db per il controllo del codice sorgente e ho tentato un heroku db: push sqlite: //db/my-app.db . Questo comando produce la seguente traccia di stato:

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

Hai idea di cosa potrebbe causare questo e come posso risolverlo?

È stato utile?

Soluzione

Heroku ha bisogno di uno schema.rb per 'preparare' l'istanza del database (Postgres) che riceverà i tuoi dati tramite heroku db: push . Ho generato un schema.rb tramite rotaie. Distribuito a heroku e poi il db push ha funzionato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top