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

时间:2011-11-20 09:48:35

标签: mysql ruby-on-rails-3 character-encoding collation

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

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

3 个答案:

答案 0 :(得分:6)

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

Change charset and collation of an existing mysql

here修改:

答案 1 :(得分:3)

我使用了Migrating your Rails application to Unicode并更改了:

  

当'MySQL'

  

当'Mysql2'

答案 2 :(得分:3)

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

def self.up
  execute "ALTER DATABASE `#{ActiveRecord::Base.connection.current_database}` CHARACTER SET charset_here COLLATE collation_here;"
end

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

production:
  adapter: mysql2
  encoding: utf8mb4
  collation: utf8mb4_unicode_ci