2013-01-22 30 views
6

Sadece ayrıca test için bir kukla uygulaması olan bir raylar motorunu geliştiren bir proje katıldı. Ben kukla uygulamasından rake db:migrate, her şey iyi isenasıl yönetilir göçler

foo/ 
foo/spec/dummy/ 

foo/db/migrate/ 
foo/spec/dummy/db/migrate/ 

özdeş göçler vardır. Aynı şeyi motordan yaparsam (geçerli dizin = foo) aynı ada sahip birden fazla geçiş hakkında bir hata alıyorum.

Q1) Rakefiles borked musunuz? (Kukla app aşağı db:migrate recurse? Olmalı)

Q2) göçleri sadece bir dizinde olmalı? Eğer öyleyse, hangisi?

Biz Rails 3.2.9, yakut 1.9.3p194 kullanıyor.

cevap

7

Soru 1
Rakefile Spec/kukla app hesaba bir girdi olmalıdır. Örneğin,

Bundler::GemHelper.install_tasks 
APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__) 
load 'rails/tasks/engine.rake' 

Burada/IMO, göçler sadece foo/db/göç klasör bulunması gereken https://github.com/twinge/questionnaire_engine/blob/engine2/Rakefile

Soru, 2
daha ayrıntılı bir örnek rakefile, ve değil foo spec/kukla/db/göç ederler. Aslında, mankenin db/migrat veya db/schema'yı kontrol etmem.

Neden? Kukla uygulamasını kullanarak motorumun tam yüklü bir şekilde% 100 çalışmasını sağlarım. Bu nedenle, eğer sürüm foo/spec/dummy db durumunu kontrol ettiysem, önceki bir kurulummuş gibi test ederdim.

Örnek Motor
https://github.com/twinge/questionnaire_engine/tree/engine2

İlgili konular