![]() A new column that is not nullable can create problems for clients that haven't received the schema update. Either avoid using a "default" or temporarily disable the data capture system while adding the column. ![]() Some database systems will update each row of the table with the default value, causing all the data to be captured. During data synchronization, if a node receives data for a table that doesn't exist yet, it is just ignored.īe careful defining a column with a "default" value or "not null". Remember to add an entry in sym_trigger for change data capture. During data synchronization, if a node receives data for a table that no longer exists, it is just ignored. Here are some of the problems to look out for with a schema upgrade:īecause a trigger creates a dependency on the table, you should remove the entry from sym_trigger and run "Sync Triggers" so SymmetricDS can drop the trigger first. In some situations, it may be best to ensure there are no outstanding batches before upgrading, but in most cases, SymmetricDS will try to adapt to differences in schema. The data may be captured using the old schema, while other nodes have upgraded to the new schema. ![]() Since data synchronization is asynchronous, there may be data changes captured at a node that have not been sent yet. Understanding how SymmetricDS detects schema change and automatically adjusts to different schemas can help you plan a roll out. The schema changes are queued in the change data capture log just like other changes, so they will be played back in the same order at other nodes. Now that triggers match the tables, you can proceed with updating data. Symadmin send-sql -node 00001 mytable "alter table mytable add newcolumn varchar(100)"
0 Comments
Leave a Reply. |