execute <<-SQL
commit
reindex database ActiveRecord::Base.configurations[Rails.env]['database']
SQL
분명히 작동하지 않지만 아이디어를 얻을 수 있습니다. 나는 위의 코드 구조가 심지어 그것을 찾기 위해 호출되었는지 알지 못한다.Rails 마이그레이션에서 트랜잭션 비활성화 : 다음 블록과 같은 블록에 루비 변수를 포함하려면 어떻게합니까?
포스트 그레스는 트랜잭션 내부의 DB를 재 인덱싱을 허용하지 않는, 그래서 나는 레일까지 거래를 해제하는 방법이있을 나타나지 않기 때문에 위의 해킹이 작동합니다 바라고 있어요 4
UPDATE
그래서 위의 작동하지 않았다, 그러나이 해킹했다 :
# force a reindex after we switched all those columns to citext
execute "commit;"
execute "reindex database #{ActiveRecord::Base.configurations[Rails.env]['database']} force;"
고맙습니다. Philipp. 확실히 해킹입니다. Rails 4가 안타 때까지 고비를 극복하려고합니다. 그들은''disable_ddl_transaction!''이라고 부르는 호출을 사용하여 위에서 수행하려고하는 것을 수행 할 수 있습니다. – AKWF