Les ajouts de colonnes pendant un snapshot ne sont actuellement pas pris en charge. La solution de contournement recommandée consiste à effectuer les snapshots avant ou après les modifications de schéma planifiées ou, si le ClickPipe est déjà en échec, à ajouter manuellement une colonne du type approprié à la table de destination.
Valeurs par défaut des colonnes ajoutées
NULL, les littéraux binaires, les appels de fonction tels que CURRENT_TIMESTAMP, NOW() ou UUID(), ainsi que les valeurs de chaîne contenant des barres obliques inverses ou des caractères de contrôle. La colonne est tout de même ajoutée, mais ClickHouse utilise la valeur par défaut ordinaire de son type pour les parties antérieures à l’ajout de la colonne. Une actualisation complète de la table est nécessaire si ces lignes existantes doivent contenir la valeur par défaut de la source.
ClickPipes propage les valeurs par défaut uniquement dans le cadre de ALTER TABLE ADD COLUMN. Les opérations ultérieures qui modifient ou suppriment une valeur par défaut de colonne ne sont pas propagées vers ClickHouse.
Limitations de MySQL 5.x
binlog_row_metadata=FULL). ClickPipes suit donc les colonnes en fonction de leur position ordinale. Cela signifie :
- L’ajout d’une colonne à la fin (
ALTER TABLE ADD COLUMN ...) est pris en charge. - Toute DDL qui décale la position des colonnes provoquera une erreur du pipe, car les positions ordinales ne peuvent alors plus être mises en correspondance de façon fiable. Cela inclut :
ALTER TABLE DROP COLUMN ...ALTER TABLE ADD COLUMN ... AFTER .../FIRSTALTER TABLE MODIFY COLUMN ... AFTER .../FIRSTALTER TABLE CHANGE COLUMN ... AFTER .../FIRST