我向(现有)gem 添加了一个新迁移,并且在运行rake db:migrate命令时,迁移被完全忽略。我尝试使用rake db:migrate:redo VERSION=[my migration version]强制它运行,但它报告它找不到该版本的迁移。
我正在使用带有 rails 3.1.3 的 ruby 1.9.2p320,并且由于我直接从文件系统中使用它,因此使用错误的 gem 版本应该没有问题(尽管我尝试通过捆绑安装/更新) .
另外,我不确定在 gem 上定义迁移是否是正确的方法,但由于这个库与 rails 站点高度耦合,特别是因为它是遗留代码,除非绝对必要,否则我不会将其移走。
编辑: gem 中的迁移被定义为它们通常在任何 rails 应用程序中定义:
gem_folder
|
|- db
... |
|- migrate
|
|- <migration files>
...