Rails 3:更改现有mysql数据库的charset和collat​​ion

ref*_*los 3 mysql collation character-encoding ruby-on-rails-3

是否可以使用Rails迁移或其他选项更改现有Mysql数据库的charset和collat​​ion?

什么是最初配置数据库字符集和整理的最佳方法?

Mun*_*sim 7

对于最新版本的Rails,您可以使用此要点:

更改现有mysql的charset和collat​​ion

这里修改:


ksa*_*nas 6

本机查询可以在 rails 迁移中执行:

def self.up
  execute "ALTER DATABASE `#{ActiveRecord::Base.connection.current_database}` CHARACTER SET charset_here COLLATE collation_here;"
end
Run Code Online (Sandbox Code Playgroud)

对于初始配置,您可以在database.yml文件中预定义字符集和排序规则,如下所示:

production:
  adapter: mysql2
  encoding: utf8mb4
  collation: utf8mb4_unicode_ci
Run Code Online (Sandbox Code Playgroud)