MySQL 5.6 não aceita strings vazias em campos numéricos

Eu estava usando o seguinte comando dentro de uma migração para preencher uma tabela após sua criação.

Fixtures.create_fixtures('test/fixtures', 'one_csv_to_import')

Ele estava funcionando bem com versões anteriores do MySQL, mas agora na versão 5.6 ele começou a abortar a migração sempre que for encontrado um valor NULL para uma coluna decimal.

Como isso:

CREATE TABLE `example_table` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`one_column` decimal(6,2) DEFAULT 0.00,
`another_column` int(11) DEFAULT NULL
PRIMARY KEY
(`id`)
) ENGINE=InnoDB;

Portanto, ter um arquivo de entrada como este one_csv_to_import.csv:

id,one_column,another_column
1,,2

E executando uma migração, ele falhará em dizer

Mysql::Error: Incorrect decimal value: '' for column 'one_column' at row 1: INSERT INTO `example_table` (`id`, `one_column`, `another_column`) VALUES (1, '', 2)

A única maneira que encontrei de contornar o problema foi substituir o Fixtures.create_fixturespor

# setting default values for created_at and updated_at
execute
<<-SQL
ALTER TABLE example_table MODIFY COLUMN created_at DATETIME NOT NULL DEFAULT now
()
SQL


execute
<<-SQL
ALTER TABLE example_table MODIFY COLUMN updated_at DATETIME NOT NULL DEFAULT now
()
SQL


# using the MySQL-way to import CSVs
ActiveRecord::Base.connection.execute <<-SQL
LOAD DATA LOCAL INFILE
'test/fixtures/one_csv_to_import.csv'
INTO TABLE example_table

FIELDS

TERMINATED BY
','
LINES TERMINATED BY
'n'
IGNORE
1 LINES
(
id
,one_column,another_column
);
SQL

Se você encontrar alguma outra solução para fazer o MySQL aceitar esses valores, comente abaixo.

Obrigado,
NC