Mysql columns with colons and other special chars are not quoted

Description

From http://forum.liquibase.org/topic/columns-are-properly-enclosed-in-mysql#49382000000945014

if you have columns in MySQL that needs you to enclose their names in the create table statement, they are not properly enclosed in the migrate command.
Example:

CREATE TABLE test (`val:ue` INT);

will generate a changeLog-entry like this:

<createTable tableName="test">
<column name="`val:ue`" type="INT" />
</createTable>

which will generate a create-Table statement like this on migrate-command:

CREATE TABLE test (val:ue INT);

which is not valid because the : is a special symbol and therefore not implicit part of the column name. A column name "val:ue" is allowed by MySQL but only able to be used correct enclosed by MySQLs column enclosings (`). I think it's not only on special chars but also on some reserved words that MySQL could mistake in the command. Anyway it seems important to enclose those.

Environment

Mysql

Status

Reporter

Nathan Voxland

Fix versions

Affects versions

Priority

Major
Configure