Как сделать миграцию Rails в формате utf-8 вместо моего latin1 по умолчанию

#mysql #ruby-on-rails-3 #utf-8 #migration #latin1

#mysql #ruby-on-rails-3 #utf-8 #миграция #latin1

Вопрос:

Я только что проверил свои таблицы MySQL, и у меня по умолчанию установлено значение latin1. Это обычно используется по умолчанию?

Как я могу сделать явным для всех моих таблиц, что я хочу, чтобы база данных была utf-8?

Я знаю, что существует конфигурация БД, которая может изменить значение по умолчанию, но я думаю, что есть также способ сделать это для каждой миграции. Как я мог бы навсегда настроить свои миграции rails с этого момента на utf-8?

Спасибо!

Ответ №1:

create_table(:table_name, :options => 'ENGINE=InnoDB DEFAULT CHARSET=utf8')

Комментарии:

1. В качестве альтернативы вы можете установить default-storage-engine = InnoDB в своем my.cnf для MySQL. Вы также можете установить набор символов MySQL по умолчанию и параметры сортировки в utf8. Здесь есть много вариантов, поэтому вы захотите углубиться в документы для получения дополнительной информации об этом: dev.mysql.com/doc/refman/5.0/en/server-system-variables.html