In Full Convert, you can customize the way tables are placed in different schemas, as well as the way we map data types source table columns use to their closest equivalents in target database.
Schemas are defined as simple <source>=<target> pairs and rules are case-insensitive (we will match Sales, sales, SALES schemas with a single rule).
- - HumanResources=hr (HumanResources.Employee will become hr.Employee)
- - test=dbo (test.x will become dbo.x in target)
There is also a wildcard (*, a multiplication symbol) rule. When you use it as a source schema, it will apply to anything:
- - *=hr (HumanResources.Employee will become hr.Employee, Sales.Discount will become hr.Discount, etc.)
- - *= (HumanResources.Employee will become Employee, Sales.Discount will become Discount, etc.)
Finally, we can make a rule for the case when source table has no schema:
- - =test (Employee will become test.Employee, Discount will become test.Discount, etc.)
Schema mapping can be overridden in console application via OSM switch.
Data type mapping
Again, data type mapping rules are listed as simple <source>=<target> pairs and first matching rule will be applied. Rest of the rules won't be applied.
To learn which rule you should specify to override default behavior, it's best to go to Manual mapping screen and note source data type for table column you want to change.
Rules can be specific or non-specific. Specific rule will match precision (and scale), while non-specific rule will match data type regardless of precision.
List as many rules as you want.
- - varchar=char (varchar(10) will become char(10), varchar(100) will become char(100))
- - varchar(10)=char (varchar(10) will become char(1), varchar(100) will become char(1))
- - decimal(10,4)=double (only decimal with precision of 10 and scale of 4 will become double in target)