Bugfix for csv migration update logic (task #2507)
Bugfix for csv migration update logic (task #2507)

Currently when updating a csv migration table we check the csv
migration fields, against the db table fields, as fetched from
the csv file. This causes issues with combined fields, such
as money, where a `cost` field will be checked against db fields
and will be considered as new column, while `cost_amount` and
`cost_currency` columns will be dropped.

With this new logic, the csv migration fields are first passed
to the `fieldToDb()` method which, in case of money type field,
will generate the appropriate `DbField` objects (in our example
`cost` money csv field will generate two `DbField` instances,
one with `cost_amount` and one with `cost_currency` names.
Finally the new objects will be checked against db fields and
will be considered as existing columns.

QoboLtd/cakephp-csv-migrations,QoboLtd/cakephp-csv-migrations