Sto provando a creare/aggiornare manualmente il file db/structure.sql a scopo di test. Ho "config.active_record.schema_format = :sql
" impostato in application.rb. Mi chiedo se esiste un comando equivalente a "ActiveRecord::SchemaDumper.dump
" che creerà o aggiornerà structure.sql. Ho provato structure_dump, ma l'uscita è pari a zero:Ho bisogno di aiuto per creare structure.sql per la mia app Rails
> ActiveRecord::Base.connection.structure_dump
=> nil
Ho provato anche il superamento di un file da quel metodo:
> File.open(File.join(Rails.root, 'db/structure.sql')) { |f| ActiveRecord::Base.connection.structure_dump() }
=> nil
Finora, l'unico modo sono stato in grado di generare o aggiornare db/structure.sql è eseguendo rake db: migrate. Qualche alternativa? O mi manca qualcosa quando provo ad eseguire ActiveRecord :: Base.connection.structure_dump?
'rake db: schema: dump' semplicemente rigenera schema.rb. Sto cercando di ottenere structure.sql. – MothOnMars
il mio male. Dimenticavo che stai usando il formato sql. guarda la risposta aggiornata – jvnill
Grazie per l'aggiornamento. In realtà mi sto chiedendo se c'è un modo non rake di farlo, solo perché lo chiamerò da un test, e chiamare il rake sembra come se non fosse necessario (anche se sono abbastanza nuovo per Rails, quindi posso presumere troppo). Stavo pensando che se ActiveRecord :: SchemaDumper.dump è il comando equivalente di rake db: schema: dump, forse c'è un equivalente a una linea equivalente a rake db: structure: dump ...? – MothOnMars