经验丰富的Rails/ActiveRecord 2.1.1
您创建了第一个版本(例如)ruby脚本\生成脚手架产品标题:字符串描述:text image_url:string
这创建(例如)名为20080910122415_create_products.rb的迁移文件
您可以使用rake db:migrate应用迁移
现在,使用ruby脚本\ generate migration add_price_to_product price:decimal将产品表添加到产品表中
这将创建一个名为20080910125745_add_price_to_product.rb的迁移文件
如果您尝试运行rake db:migrate,它实际上将恢复第一次迁移,而不是应用下一次迁移!所以你的产品表将被销毁!
但是,如果你单独使用rake,它会告诉你一个迁移正在等待
请注意,应用rake db:migrate(一旦表被销毁)将按顺序应用所有迁移.
我找到的唯一解决方法是指定新迁移的版本,如下所示:
rake db:migrate version=20080910125745
所以我想知道:这是一个预期的新行为吗?