MySQL & Rails 4 - bundle exec rake db:migrate - 不支持迁移到 UTF-8 的数据库
MySQL & Rails 4 - bundle exec rake db:migrate - Unsupported database for migration to UTF-8
我在 Rails 4 上有一个 Ruby 我从 Github 克隆的应用程序,我正试图在我的 MacBook 上启动并 运行ning环境。
最初应用程序抱怨找不到 MySQL,所以我找到了 brew install mysql
。我现在有 mysqld
运行 用户名 root
并且没有密码并且应用程序能够连接到它,所以我克服了第一个障碍。
不过,数据库中还没有构建模式——我可以在 db/migrate/
目录中看到大约 115 个文件,名称如 004_make_unicode_fiendly.rb
和 016_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'
运行ning 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
我的问题:为什么会出现迁移错误?
讨论的答案:
- 执行 (bundle exec rake) db:create, db:reset
这将使用您的种子和模式创建数据库,就像它们在另一台机器上一样。不知道具体的错误详细信息,我无法评论您一开始收到错误的原因(除非它说您无法迁移到 UTF-8,因为您 已经 使用 UTF -8).
仅供参考,除非您现有的代码库有待迁移,否则 DB:Migrate 不是必需的。
我在 Rails 4 上有一个 Ruby 我从 Github 克隆的应用程序,我正试图在我的 MacBook 上启动并 运行ning环境。
最初应用程序抱怨找不到 MySQL,所以我找到了 brew install mysql
。我现在有 mysqld
运行 用户名 root
并且没有密码并且应用程序能够连接到它,所以我克服了第一个障碍。
不过,数据库中还没有构建模式——我可以在 db/migrate/
目录中看到大约 115 个文件,名称如 004_make_unicode_fiendly.rb
和 016_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'
运行ning 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
我的问题:为什么会出现迁移错误?
讨论的答案: - 执行 (bundle exec rake) db:create, db:reset
这将使用您的种子和模式创建数据库,就像它们在另一台机器上一样。不知道具体的错误详细信息,我无法评论您一开始收到错误的原因(除非它说您无法迁移到 UTF-8,因为您 已经 使用 UTF -8).
仅供参考,除非您现有的代码库有待迁移,否则 DB:Migrate 不是必需的。