This question is locked. New answers and comments are not allowed.
I've noticed that changing field lengths on foreign key varchar or char fields produces some unexpected results. I started off with a field that was 50 characters. I changed to 10 characters and ran a reverse update merge.
As you can see here, the configuration settings show 10 for the fk id field (the first one) and 50 for the lookup field.
<field name="_lookupCriteriaOperatorCode">
<extension key="db-column">
<extension key="db-type" value="VARCHAR" />
<extension key="db-column-name" value="lookup_criteria_operator_code" />
<extension key="db-length" value="10" />
</extension>
</field>
<field name="_lookupCriteriaOperator">
<extension key="db-column">
<extension key="db-type" value="VARCHAR" />
<extension key="db-column-name" value="lookup_criteria_operator_code" />
<extension key="db-length" value="50" />
</extension>
</field>
The only way to correct this was to go back and manually edit the incorrect xml. This seems like a bug. It can be dangerous on char/varchar fields because it causes string truncation when the value is lower than it should be.