This flag makes migration silently and happily discard any existing foreign keys on migrated table. This is useful for intentional dropping of foreign keys, as gh-ost does not otherwise have support for foreign key migration.
At some time in the future gh-ost may support foreign key migration, at which time this flag will be removed
When processing binlog insert statements, we want to use `sharedColumns`
to decide which values to fetch and convert from the insert DML event.
We only want to `mappedShareColumns` to define the column names in the
`replace into ...` statement.
This catches a bug in `sql.BuildDMLInsertQuery` where we we are fetching
the insert values using the renamed column's name, and end up fetching
the value of the wrong column.
The test in `localtests/rename` did not catch this because binlog
update events were "correcting" the error, as they follow a different
code path that does not contain the bug.
This catches a bug in `sql.BuildDMLInsertQuery` where we are using the target
column's Charset to drive the value conversion. In the case where we are
altering the charset, the Charset used for conversion will be different than
the original column's charset, resulting in an erroneous conversion.
- Identifying textual characters sets; converting into specific type when applying dml events
- Refactored `ColumnsList`: introducing `Column` type
- Refactored `unsigned` handling, as part of `Column`
- `Column` type supports `convertArg()`: converting value of argument according to column data type
- DB URI attempts `utf8mb4,utf8,latin1` charsets in that order (first one to be recognized wins)
- Local tests filter by pattern
- Local tests append table schema on failure
- Local tests do not have postpone flag file
- Added character set local tests: `utf8`, `utf8mb4`, `latin1`