Rails 4.0 uygulamasında sqlite ile çalışıyorum (varsayılan olarak Rails için) Bir üst modele sahip olaylar (hackathons) için geliştirme ortamı), birçok Press_Blurbs olabilir Olay, için. Ben modellere bazı ilişkileri eklendiRaylar 4: schema.db "No tablehodError # undefined metodu" nu "Nil Tablo" tanımlanmamış yöntemi nedeniyle "Tabloyu boşaltılamadı" olaylarını gösterir.
Sonraclass CreateEvents < ActiveRecord::Migration
def change
create_table :events do |t|
t.string :city
t.string :theme
t.datetime :hackathon_start
t.datetime :hackathon_end
t.datetime :show_start
t.datetime :show_end
t.text :about
t.string :hack_rsvp_url
t.string :show_rsvp_url
t.timestamps
end
end
end
class CreatePressBlurbs < ActiveRecord::Migration
def change
create_table :press_blurbs do |t|
t.string :headline
t.string :source_name
t.string :source_url
t.string :logo_uri
t.timestamps
end
end
end
:
Öncelikle ben sorun olmadan görünüşte koştu bazı göçler oluşturulan bazı iskele jeneratörleri ranclass Event < ActiveRecord::Base
has_many :press_blurbs
end
class PressBlurb < ActiveRecord::Base
belongs_to :event
end
... ve/ekledi Ben baktığımda Yine
class AddEventRefToPressBlurbs < ActiveRecord::Migration
def change
add_column :press_blurbs, :event, :reference
end
end
: bir tablo başvuru eklemek için taşımayı koştu
# Could not dump table "events" because of following NoMethodError
# undefined method `[]' for nil:NilClass
# Could not dump table "press_blurbs" because of following NoMethodError
# undefined method `[]' for nil:NilClass
Diğer alakasız tabloları mükemmel ince schema.rb görünür, ancak bunlar yok: schema.db bu yerine tabloları tanımların gördükleri şeydir. Ne olduğuna dair bir fikrin var mı?
"Rake db: migrate" komutunu çalıştırdığınızda şema güncelleştiriliyor mu? –
Hayır. :(Dosya, sürüm numarası ile aynı kalıyor. – huertanix