2011-10-13 34 views
0

在我的Rails应用程序中,我引用了多个数据库。使用connection_ninja我告诉模型要指向哪里,但是我怎样才能进行迁移?Rails迁移目标特定数据库

RAILS_ENV不起作用,因为具体的迁移需要指向特定DBS在先进

感谢, 贾斯汀

UPDATE --------------

我发现establish_connection(连接到其他dbs的conn_ninja &的基础)不被ActiveRecord :: Migration所尊重,即使该方法是ActiveRecord :: Base的一部分。

有关如何解决这个问题的任何想法?

回答

0

ActiveRecord::Migration只是使用ActiveRecord::Base所以你应该假设能够把use_connection_ninja(:group)在迁移

+0

是啊,我试过了用:'需要“connection_ninja''然后'use_connection_ninja(:DB_NAME)',但它吐出回'未定义的方法 'use_connection_ninja' 为#<的ActiveRecord ::迁移:0x007fa0b721d4a0>' – Justin

+0

你可以依据你的堆栈跟踪吗? – ErsatzRyan

0

一个旧了一点,但我最近与此挣扎着最后发现不只是一个黑客,但实际解。

诀窍是使用Model连接,而不是修改ActiveRecord :: Base连接,当更新schema_migrations时,会在迁移后导致问题。

到这里看看:https://stackoverflow.com/a/34292909/2499227