SORU
15 EYLÜL 2008, PAZARTESİ


(Ve olsun) raylar uygulama ile doldurmak için ilk veri nasıl

Kullanıcılar oturum açmak için sahip olduğu bir rails uygulaması var. Uygulama kullanılabilir, günlük olarak gelen ilk kişiye sisteminde ilk kullanıcı olmalı bu nedenle sipariş (sonraki kullanıcılar oluşturabilir). Şu ana kadar bir geçiş veritabanı için özel bir kullanıcı eklemek için kullandım.

this question, sorduktan sonra db:şema:yük, göçler çalıştırmak yerine, yeni bir gelişme makinelerde temiz veritabanları kurmak için kullanıyorum. Ne yazık ki, bu, vb tablolar tuşları olan, sadece bu olan göçler vardır görünmüyor.

Benim sorum, bu durumun üstesinden gelmek için en iyi yolu nedir:

  1. Yol d:s:ben veri ekleme göçler vardır.
  2. Hiç göçler veri eklemek için bu yolu kullanıyor olması gerekmez mi?
  3. Ön-doldurma veri ile veritabanı olması gerekmez mi? Kullanıcılar incelikle yok nereye durumunda kolları, ve ilk bir kullanım sağlar, böylece uygulama kodu güncellemek live hesabı uygulama içinde oluşturulmalıdır?
  4. Başka seçenek var mı? :)

CEVAP
15 EYLÜL 2008, PAZARTESİ


Komisyon bir görev çalışın. Örneğin:

  1. Dosya oluşturmak//bootstrap/görevler lib.komisyon
  2. Dosya, görev varsayılan kullanıcı oluşturmak için Ekle:

    namespace :bootstrap do
      desc "Add the default user"
      task :default_user => :environment do
        User.create( :name => 'default', :password => 'password' )
      end

      desc "Create the default comment"
      task :default_comment => :environment do
        Comment.create( :title => 'Title', :body => 'First post!' )
      end

      desc "Run all bootstrapping tasks"
      task :all => [:default_user, :default_comment]
    end
  1. İlk kez sizin app kurma olduğunuzda, rake db:göç VEYA rake db:şema:yük, ve komisyon bootstrap:tüm yapmak.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Derek Banas

    Derek Banas

    12 AĞUSTOS 2008
  • geraldnonadoez

    geraldnonado

    3 Temmuz 2013
  • Kevin Bruckert

    Kevin Brucke

    30 Aralık 2006