You can synchronize DDL operations when you migrate data between MySQL tenants of OceanBase Database.
Supported DDL operations for synchronization
Creating a table by using the
CREATE TABLEstatement.You can create partitioned tables but cannot use
CREATE TABLE AS SELECTto create tables. HASH, RANGE, and LIST partitioned tables, and HASH, RANGE, and LIST sub-partition tables are supported.Dropping a table by using the
DROP TABLEstatement.Truncating a table by using the
TRUNCATE TABLEstatement.Renaming a table by using the
RENAME TABLEorALTER TABLE RENAMEstatement.Adding a column by using the
ALTER TABLE ADD COLUMNstatement.Modifying a column by using the
ALTER TABLE MODIFY COLUMNstatement.ImportantYou can increase the column length but you cannot modify the column type.
Creating an index by using the
CREATE INDEXstatement.Dropping an index by using the
DROP INDEXstatement.Adding or dropping a comment about a table or column by using the
COMMENTstatement.
Limits of DDL synchronization
If a table to be synchronized involves DDL operations that are not supported, the data migration project may be interrupted and unrecoverable data exceptions may occur.
Frequent DDL operations on a table are not supported. After the store finishes a DDL operation, which can be determined based on the timestamp, it proceeds to the next DDL operation. Otherwise, the store may unexpectedly exit and unrecoverable data exceptions may occur.
Make sure that no DDL operations are performed before you create a store and when a store is being started. If log pulling is involved, make sure that no DDL operations are performed during the period from the start time when logs are pulled to the current time. Otherwise, the store may unexpectedly exit and unrecoverable data exceptions may occur.
The table names before and after the
RENAME TABLEstatement must be both included or both not included in the list of tables to be synchronized.A table creation DDL operation that involves the
case when indexstatement cannot be synchronized.If you enable DDL synchronization, the index dropped in the source database by executing the
DROP INDEXstatement is also dropped in the destination database. This may cause index loss in the destination database.