Я изменяю кодировку всех моих таблиц с latin1
на utf8mb4
, используя задачу raike rake.
Я хочу:
- Захватить все таблицы, где НЕ используется кодировка utf8mb4
- Изменить набор символов для каждой из этих таблиц.
Я могу захватить все таблицы, которые имеют неправильное окончание с
results = ActiveRecord::Base.connection.execute <<-STRING
SHOW TABLE STATUS WHERE collation <> 'utf8mb4'
STRING
Я застрял с тем, как передать table name
для каждой из этих таблиц в mysqlзапрос, чтобы можно было изменить кодировку таблицы.
results.each do |table|
ActiveRecord::Base.connection.execute <<-STRING
ALTER TABLE #{table.table_name} CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin
STRING
end