2013-03-01 2 views
11

Deneme amacıyla db/structure.sql dosyasını manuel olarak oluşturmaya/güncellemeye çalışıyorum. Application.rb dosyasında "config.active_record.schema_format = :sql" var. Struct.sql oluşturacak veya güncelleyecek "ActiveRecord::SchemaDumper.dump" komutuna eşdeğer bir komut olup olmadığını merak ediyorum. Ben structure_dump denedim ama çıkış nil: Ben de o yönteme bir dosya geçirerek çalıştıRails uygulaması için struct.sql oluşturma konusunda yardıma mı ihtiyacınız var

> ActiveRecord::Base.connection.structure_dump 
=> nil 

:

> File.open(File.join(Rails.root, 'db/structure.sql')) { |f| ActiveRecord::Base.connection.structure_dump() } 
=> nil 

Şimdiye kadar üretmek mümkün oldum tek yolu veya db/structure.sql güncellemesi, komisyon db: migrate. Herhangi bir alternatif var mı? Veya ActiveRecord :: Base.connection.structure_dump çalıştırmaya çalışırken bir şey mi eksik?

cevap

23

Veritabanından db/structure.sql yeniden oluşturacak olan rake db:structure:dump deneyin.

+1

rake db: şema: dökümü sadece schema.rb'yi yeniler. Ben struct.sql almaya çalışıyorum. – MothOnMars

+0

kötüyüm. sql formatını kullandığınızı unuttu. güncellenmiş cevaba bakın – jvnill

+0

Güncelleme için teşekkürler. Ben aslında bunu bir testten çağıracağım ve komisyon görevini gerekli görmemesi gerektiği gibi görünmesi (aslında oldukça yeni olsam da Raylar, çok fazla tahmin edebilirim). ActiveRecord :: SchemaDumper.dump, komisyon db: schema: dump komutunun eşdeğeri ise, belki de komisyon db: structure: dump ... 'a benzer bir tek çizgi eşdeğeri var mı diye düşünüyordum? – MothOnMars