ruby-on-rails – Ruby on Rails迁移,将表更改为MyISAM
发布时间:2020-12-17 02:51:32 所属栏目:百科 来源:网络整理
导读:如何正确创建Rails迁移,以便在 MySQL中将表更改为MyISAM?它目前是InnoDB.运行原始执行语句将更改表,但它不会更新db / schema.rb,因此当在测试环境中重新创建表时,它将返回到InnoDB并且我的全文搜索失败. 如何更改/添加迁移,以便将现有表修改为MyISAM并更新s
如何正确创建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书籍SELECT * FROM tmp (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |