@@ -137,6 +137,11 @@ def _trigger_column_copies(cols):
137137 yield f"`{ c } ` = NEW.`{ c } `"
138138
139139
140+ def _make_trigger_name (name ):
141+ """ Helper that enforces the trigger must be <= 64 chars """
142+ return name [:64 ]
143+
144+
140145def _generate_sql_copy_commands (
141146 existing_table , map_data , columns , new_table , alter_commands_iter
142147):
@@ -175,7 +180,11 @@ def _generate_sql_copy_commands(
175180
176181 cols = set (columns )
177182
178- yield f"CREATE OR REPLACE TRIGGER copy_inserts_from_{ existing_table .name } _to_{ new_table .name } "
183+ inserts_trigger_name = _make_trigger_name (
184+ f"copy_inserts_from_{ existing_table .name } _to_{ new_table .name } "
185+ )
186+
187+ yield f"CREATE OR REPLACE TRIGGER { inserts_trigger_name } "
179188 yield f"\t AFTER INSERT ON { existing_table .name } FOR EACH ROW"
180189 yield f"\t \t INSERT INTO { new_table .name } SET"
181190
@@ -192,7 +201,11 @@ def _generate_sql_copy_commands(
192201 log .info ("No columns to copy, so no UPDATE trigger being constructed." )
193202 return
194203
195- yield f"CREATE OR REPLACE TRIGGER copy_updates_from_{ existing_table .name } _to_{ new_table .name } "
204+ updates_trigger_name = _make_trigger_name (
205+ f"copy_updates_from_{ existing_table .name } _to_{ new_table .name } "
206+ )
207+
208+ yield f"CREATE OR REPLACE TRIGGER { updates_trigger_name } "
196209 yield f"\t AFTER UPDATE ON { existing_table .name } FOR EACH ROW"
197210 yield f"\t \t UPDATE { new_table .name } SET"
198211
0 commit comments