Próbuję ręcznie utworzyć/zaktualizować plik db/structure.sql do celów testowych. Mam "config.active_record.schema_format = :sql
" ustawione w application.rb. Zastanawiam się, czy istnieje polecenie równoważne "ActiveRecord::SchemaDumper.dump
", które będzie tworzyć lub aktualizować structure.sql. Próbowałem structure_dump, ale wyjście jest zerowa:Potrzebujesz pomocy w tworzeniu struct.sql dla mojej aplikacji Railsowej
> ActiveRecord::Base.connection.structure_dump
=> nil
Próbowałem też przechodząc plik do tej metody:
> File.open(File.join(Rails.root, 'db/structure.sql')) { |f| ActiveRecord::Base.connection.structure_dump() }
=> nil
Do tej pory jedynym sposobem byłem w stanie wygenerować lub zaktualizuj db/structure.sql przez uruchomienie programu rake db: migrate. Jakieś alternatywy? Czy też brakuje mi czegoś podczas próby uruchomienia ActiveRecord :: Base.connection.structure_dump?
'rake db: schema: dump' tylko regeneruje schema.rb. Próbuję uzyskać structure.sql. – MothOnMars
moje złe. zapomniałem, że używasz formatu sql. zobacz zaktualizowaną odpowiedź – jvnill
Dzięki za aktualizację. Właściwie to zastanawiam się, czy istnieje sposób na zrobienie tego bez rake'u, tylko dlatego, że będę go wywoływał z testu, a wywoływanie zadania rake'a wydaje się, że nie powinno być to konieczne (chociaż jestem całkiem nowy Szyny, więc mogę zakładać zbyt wiele). Myślałem, że jeśli ActiveRecord :: SchemaDumper.dump jest odpowiednikiem polecenia rake db: schema: dump, może istnieje podobny jednoliniowy odpowiednik rake db: structure: dump ...? – MothOnMars