Problem Summary
How to add a column to the target database that was added previously to the source database
A source DB that had replication running has been upgraded and a table has been recreated in the source DB with an extra column. Our capture process has been suspended during the source database upgrade. When restarting the capture Local Data Processing successfully identifies that a table (that has been in our sync config) has been dropped and recreated again with an extra column.
Now I'm trying to get this extra column also at the target side by adding it to the table config and running Local Data Processing Initialize process at the target side but I'm not able to add this column at the target side.
Can you please help me with the procedure to add this column at the target side?
Answer
If you have AdaptDDL defined on your channel then it should take care of structure synchronization without any manual intervention if however, this action is not present you can fix with the following steps
- Select Table Explorer, selecting the Source to connect. The table that changed will be highlighted 'Extra Column". Select that line then click 'Replace' at bottom of the screen to add this new column.
- Run Initialize for the Capture and Integrate location with "Scripts and Jobs" checked as well as "Table Enrollment"
- Then after you can perform an Online Refresh with Recreate mismatched tables option for the affected table. This will be necessary to get the data and layout back in sync.