ran*_*its 5 ruby activerecord ruby-on-rails
如何正确创建Rails迁移,以便在MySQL中将表更改为MyISAM?它目前是InnoDB.运行原始执行语句将更改表,但它不会更新db/schema.rb,因此当在测试环境中重新创建表时,它将返回到InnoDB并且我的全文搜索失败.
如何更改/添加迁移,以便将现有表修改为MyISAM并更新schema.rb,以便我的数据库和相应的测试数据库相应更新?
我没有找到一个很好的方法来做到这一点.您可以像建议的那样更改schema.rb,然后运行:rake db:schema:load
但是,这将覆盖您的数据.
我这样做的方式是(假设您正在尝试转换一个名为books的表):
从CLI保存现有数据: CREATE TABLE tmp SELECT * FROM books;
在新的迁移文件中,删除books表并重新创建它,:options => "ENGINE=MyISAM"
就像评论中有人说的那样
复制内容: INSERT INTO books SELECT * FROM tmp
归档时间: |
|
查看次数: |
3784 次 |
最近记录: |