【发布时间】:2018-06-20 15:58:13
【问题描述】:
运行轨道 5.0.2
我们在源代码管理中的 schema.rb 中的表似乎大多具有以下格式:
create_table "app_files",
force: :cascade,
options: "ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci"
do |t|
注意最后的COLLATE=utf8_unicode_ci"。
当我运行迁移时,生成的 schemaa.rb 基本相同,但从这些行中删除了 COLLATE=utf8_unicode_ci",所以它现在看起来像:
create_table "app_files",
force: :cascade,
options: "ENGINE=InnoDB DEFAULT CHARSET=utf8"
do |t|
根据其他 SO 帖子,我尝试了两件事来解决此问题
1) 在我的/etc/mysql/my.cnf 中,我补充说:
[mysqld]
character-set-server = utf8
collation-server = utf8_unicode_ci
2) 在我的database.yml 中,我将collation: utf8_general_ci 添加到所有相关环境中
然后我重新启动了 mysql,删除、创建和迁移了我的数据库,但整理行仍然消失了。
对于我需要更改什么配置以自动生成该位有什么想法吗?
【问题讨论】:
-
你有没有想过这个问题?
-
@stephenmurdoch 很遗憾没有
标签: mysql sql ruby-on-rails rails-migrations