SORU
17 NİSAN 2009, Cuma


Raylar bir veritabanı tohum için en iyi yolu nedir?

Benim raylar app bazı ilk veri dolduran komisyon bir görev var. Örneğin, ülkeler, eyaletler, mobil taşıyıcılar, vb.

Bende öyle kurmak /dosyalar ifadeleri oluşturmak db/Fikstür bir grup ve onları işleyen komisyon bir görev var. Örneğin, ben bir model temalar. Bir tema var./rb dosyası bu gibi görünüyor/demirbaş db:

Theme.delete_all
Theme.create(:id => 1, :name=>'Lite', :background_color=>'0xC7FFD5', :title_text_color=>'0x222222',
                      :component_theme_color=>'0x001277', :carrier_select_color=>'0x7683FF', :label_text_color=>'0x000000',
                      :join_upper_gradient=>'0x6FAEFF', :join_lower_gradient=>'0x000000', :join_text_color=>'0xFFFFFF',
                      :cancel_link_color=>'0x001277', :border_color=>'0x888888', :carrier_text_color=>'0x000000', :public => true)

Theme.create(:id => 2, :name=>'Metallic', :background_color=>'0x000000', :title_text_color=>'0x7299FF',
                      :component_theme_color=>'0xDBF2FF', :carrier_select_color=>'0x000000', :label_text_color=>'0xDBF2FF',
                      :join_upper_gradient=>'0x2B25FF', :join_lower_gradient=>'0xBEFFAC', :join_text_color=>'0x000000',
                      :cancel_link_color=>'0xFF7C12', :border_color=>'0x000000', :carrier_text_color=>'0x000000', :public => true)

Theme.create(:id => 3, :name=>'Blues', :background_color=>'0x0060EC', :title_text_color=>'0x000374',
                      :component_theme_color=>'0x000374', :carrier_select_color=>'0x4357FF', :label_text_color=>'0x000000',
                      :join_upper_gradient=>'0x4357FF', :join_lower_gradient=>'0xffffff', :join_text_color=>'0x000000',
                      :cancel_link_color=>'0xffffff', :border_color=>'0x666666', :carrier_text_color=>'0x000000', :public => true)
puts "Success: Theme data loaded"

Burada fikir kullanıcılar ile başlamak için bazı hisse senedi temalar yüklemek istiyorum. Bu yöntem ile ilgili bir sorun var.

KİMLİĞİ ayarı çalışmıyor. Bu demek oluyor ki eğer ben karar veririm Ekle bir tema arayalım 'Kırmızı', sonra ben sadece eklemek istediğiniz temayı ifade etmek için bu Fikstür dosyası ve ara komisyon görev için araştırma veritabanı. Eğer temalar diğer nesneleri ve yeniden başlatma bunun üzerine kimliklerini değiştirmek için ait olduğu için, bunu yaparsam, tüm bağlantılar koptu.

Benim sorum her şeyden önce, bu iyi bir şekilde yerleştiren bir veritabanı işlemek için mi? Bir önceki sonrası, bu bana tavsiye edildi.

Eğer öyleyse, ne kadar zor bir kimlik kodu ve orada herhangi bir etkilerinin miyim?

Tohum için en iyi yolu veritabanı nedir?

Gerçekten uzun takdir edeceğim ve en iyi uygulamaları içeren cevaplar düşünülmüş.

Teşekkür ederim!

CEVAP
15 Ocak 2010, Cuma


Bu cevapları beri güncelleme biraz eski bazıları hala geçerli olsa da).

Basit bir özellik 2.3.4, db/tohum raylar eklendi.rb

Sağlar Yeni komisyon bir görev

rake db:seed

Birleşik Devletleri gibi ortak statik kayıtları yerleştirmek için iyi, vb... ülkeler

http://railscasts.com/episodes/179-seed-data

*Eğer zaten onları da tohum aşağıdaki koyarak db:seed görevi doldurmak için yaratılmış olsaydı armatürleri kullanabilirsiniz.dosya (railscast bölüm) rb:

require 'active_record/fixtures'
Fixtures.create_fixtures("#{Rails.root}/test/fixtures", "operating_systems")

3 Raylar.x':: ActiveRecord' yerine 'Demirbaş' sabit . Fikstür kullanın

require 'active_record/fixtures'
ActiveRecord::Fixtures.create_fixtures("#{Rails.root}/test/fixtures", "fixtures_file_name")

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CareyHolzman

    CareyHolzman

    24 Ocak 2008
  • Chilla Frilla™

    Chilla Frill

    7 Aralık 2006
  • Mary Jane Tauyan

    Mary Jane Ta

    20 AĞUSTOS 2009