에서 실행되지 않습니다. 는 그럼 난 내 생산 ENV에서 그것을 실행,하지만이 실패레일 마이그레이션 내가 레일 마이그레이션 일부 데이터를 변환하고 자극
[email protected]:~/pt_api $ RAILS_ENV="production" rake db:migrate
I, [2017-09-04T07:11:51.315838 #29058] INFO -- : Migrating to MigrateInstancesToFacets (20170831110928)
== 20170831110928 MigrateInstancesToFacets: migrating =========================
-- Found 25671 records to migrate
-- Migrating instances...
rake aborted!
StandardError: An error has occurred, all later migrations canceled:
uninitialized constant Instance::Catalog
/home/pi/pt_api/db/migrate/20170831110928_migrate_instances_to_facets.rb:9:in `block (2 levels) in change'
/home/pi/pt_api/db/migrate/20170831110928_migrate_instances_to_facets.rb:8:in `block in change'
/home/pi/pt_api/db/migrate/20170831110928_migrate_instances_to_facets.rb:5:in `change'
NameError: uninitialized constant Instance::Catalog
/home/pi/pt_api/db/migrate/20170831110928_migrate_instances_to_facets.rb:9:in `block (2 levels) in change'
/home/pi/pt_api/db/migrate/20170831110928_migrate_instances_to_facets.rb:8:in `block in change'
/home/pi/pt_api/db/migrate/20170831110928_migrate_instances_to_facets.rb:5:in `change'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
이 인스턴스에 카탈로그를 액세스 할 수 없음을 말하고있다. 나는 콘솔을 열었고 같은 코드를 실행했다. 모두 좋다. 마이그레이션 할 때 환경을로드하지 않습니까?
--- 편집 --- 인스턴스 모델 :
class Instance < ActiveRecord::Base
belongs_to :catalog
belongs_to :photo
before_destroy :delete_photo
def delete_photo
catalog = Catalog.find self.catalog_id
catalog.delete_photo(self.photo_id)
end
end
로를 만들 마이그레이션 코드를 업데이트하는 시도 할 수 있습니다 그대로 instence를 전달 번들 exec rake db를 사용하여 시도 : migrate? –
제안 해 주셔서 감사합니다.하지만 불행히도 아무 것도 바뀌지 않았습니다 ... – martin
여기서 중요한 문제 중 하나는'.create'를 실행하고 리턴 값을 검사하여 레코드가 저장되었는지 아닌지를 확인하는 것입니다. – max