繁体   English   中英

MySQL&Rails 4-捆绑执行rake db:migrate-不支持的数据库迁移到UTF-8

[英]MySQL & Rails 4 - bundle exec rake db:migrate - Unsupported database for migration to UTF-8

我有一个从Github克隆的Ruby on Rails 4应用,正在尝试在开发环境中的MacBook上启动并运行。

最初,该应用程序抱怨找不到MySQL,因此我做了brew install mysql 现在,我使用用户名root和密码运行mysqld ,并且该应用程序能够连接到它,因此我摆脱了第一次驼峰。

但是,该模式尚未在数据库中构建-我可以在db/migrate/目录中看到大约115个文件,名称类似于004_make_unicode_fiendly.rb016_add_asin_column.rb

我试图运行bundle exec rake db:migrate ,但是在前三个迁移文件显然成功运行之后,出现错误:

Migration error: Unsupported database for migration to UTF-8 support
/Users/jon/work/amazing_app/db/migrate/004_make_unicode_friendly.rb:22:in `alter_database_and_tables_charsets'
/Users/jon/work/amazing_app/db/migrate/004_make_unicode_friendly.rb:3:in `up'

运行mysqladmin variables | grep utf8 mysqladmin variables | grep utf8显示:

| character_set_client                               | utf8
| character_set_connection                           | utf8
| character_set_database                             | utf8
| character_set_results                              | utf8
| character_set_server                               | utf8
| character_set_system                               | utf8
| collation_connection                               | utf8_general_ci
| collation_database                                 | utf8_general_ci
| collation_server                                   | utf8_general_ci

我的问题:为什么我在这里出现迁移错误?

讨论的答案:-执行(捆绑执行耙)db:create,db:reset

这将使用您的种子和模式来创建数据库,就像它们在另一台计算机上一样。 我不知道具体的错误详细信息,因此我无法评论您为什么首先收到该错误(除非这是因为您已经在UTF-8上,否则无法迁移到UTF-8)。

仅供参考,除非您现有的代码库具有挂起的迁移,否则不需要DB:Migrate。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM