Before a migration runs, DBConvert checks the destination tree and flags anything worth fixing first, so the run goes through cleanly. There are two kinds of flags, both highlighted directly in the tree:
- error: the run cannot proceed until you fix it.
- warning: the run isn't blocked - but it's worth fixing now, while you're here, so the result comes out clean.
Expand the tree and click a marked node to see the explanation. Double-click jumps straight to the field/index that triggered the message.
Errors
- Database cannot be converted correctly
- Table cannot be converted correctly - fields
- Table cannot be converted correctly - indexes
- Table cannot be converted correctly - foreign keys
- Table cannot be converted correctly - mixed
- Garbage symbols in the name
- Not all fields required by index are selected for conversion
- Not all fields required by foreign key are selected for conversion
- Cyclic reference detected
- First symbol of field name or index must be a letter or underscore (FoxPro)
- Field, index, or foreign-key name too long (FoxPro)
- Foreign-key constraint fails (FoxPro)
Warnings
- Autoincrement field should be a Primary Key
- Field/index name matches a FoxPro reserved word
- Database will be converted with small defects
- Table will be converted with small defects
- Filter errors (number/date/boolean format)
Database cannot be converted correctly
The selected database has issues that block the migration.
Example: the destination database is marked red because some of its objects can cause problems.

Double-click the red-marked tables, fields, or indexes to drill into the problem.

In the example, an index named Order Details_PRIMARY raises "Not all fields required by index are selected for conversion".
Table cannot be converted correctly - fields
The selected table has one or more problematic fields.
Example: the Categories table is red because the field Category[Name] contains garbage symbols. Fix the same way as Garbage symbols in the name:
- Rename the field manually in Name (right panel). Remove the offending characters -
[and]in this example.
- Or use the global Garbage symbols to replace/remove field in Database options. Enter every character to replace, click Replace all.

Confirm each suggested name with OK, or click Apply All to apply the chosen Replace with character to every match.

Once fixed, previously red objects clear.

Table cannot be converted correctly - indexes
The selected table has problematic indexes.
Example: Order Details is red. Expand the table, then expand Indexes.

Indexes Order Details_PRIMARY and Order Details_Order Details_OrderID raise "Not all fields required by index are selected for conversion".

Table cannot be converted correctly - foreign keys
The selected table has problematic foreign keys.
Example: Orders table is red.

Expand Orders, then expand Foreign Keys.

The foreign key Orders_CustomerID_fkey raises "Not all fields required by foreign key are selected for conversion".

Table cannot be converted correctly - mixed
The table has a combination of field, index, and foreign-key issues. Expand Fields, Indexes, and Foreign Keys to see each one.
Example: Categories is red, with a garbage symbol in a field name and indexes that are missing required fields. Fix each issue using the procedure for its category.
Garbage symbols in the name
The name of a table, field, or index contains characters reserved by the target engine.
Two fixes:
- Rename the object manually in Destination name - remove or replace the offending characters with
_. - Use Garbage symbols to replace/remove in Database options for bulk replacement (same procedure as in Fields).
Not all fields required by index are selected for conversion
An index references fields that are unchecked in the customization tree.
Example: index Order Details_pKey requires OrderID and ProductID. Tick both fields in the tree and the error clears.
Not all fields required by foreign key are selected for conversion
A foreign key references fields that are unchecked in the customization tree.
Example: Order Details_ProductID_fkey requires Order Details.ProductID and Products.ProductID. If ProductID in Products is unchecked, the error appears - tick it to clear.
Cyclic reference detected
Foreign-key relationships form a cycle. Any attempt to recreate the schema in dependency order will fail.
Fix: deselect one foreign key in the cycle. After the run, recreate it manually on the target.
First symbol of field name or index must be a letter or underscore
FoxPro target requirement. Rename the field or index so its name starts with a letter or _.
Field, index, or foreign-key name too long
FoxPro limits names to 10 characters. Rename the object to 10 characters or fewer.
Foreign-key constraint fails
When converting to FoxPro/MySQL, a foreign key references rows that do not exist in the parent table. Often happens with self-referencing tables.
Fix: deselect the foreign key for the initial run; add it back manually on the target afterwards.
Autoincrement field should be a Primary Key
An autoincrement field requires a Primary Key index. Without one, autoincrement is dropped on the target.
Example: CategoryID is autoincrement but not a Primary Key.

Fix: enable the existing Primary Key on this field, or create one in the source database before the run.


Field/index name matches a FoxPro reserved word
FoxPro target requirement. The name is a reserved word and will cause runtime errors.

Fix: rename the field or index.

Database will be converted with small defects
The migration will succeed but the result may have minor issues. Double-click the yellow-marked objects to see what.


Typically the cause is an unrelated warning like Autoincrement field should be a Primary Key.
Table will be converted with small defects
Same as the database-level warning but scoped to one table. Double-click the yellow-marked fields to see the cause.

Filter errors
Errors raised by the filter editor (see Data filters).
Wrong number format
A numeric column got a non-numeric value in the condition.


Wrong date/time format
The condition value does not match the database's date/time format.


Wrong boolean format
Boolean conditions accept 1 or 0 only.

