j-martin commented on issue #24526:
URL: https://github.com/apache/airflow/issues/24526#issuecomment-1344890185

   For posterity and in case it helps somebody else we fix our schema with the 
queries below. Note that it assumes that the migrations from 2.2 to 2.3 have 
not been executed and failed. Since DDL changes are not transaction in MySQL 
(or at least the way Alembic is configured), the state of the database will be 
different after a failed migration.
   
   ```sql
   ALTER DATABASE airflow CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 
   ALTER TABLE dag_tag DROP FOREIGN KEY dag_tag_ibfk_1;
   ALTER TABLE dag_tag MODIFY dag_id VARCHAR(250) CHARACTER SET utf8mb3 COLLATE 
utf8mb3_bin;
   ALTER TABLE dag MODIFY dag_id VARCHAR(250) CHARACTER SET utf8mb3 COLLATE 
utf8mb3_bin;
   ALTER TABLE dag_tag ADD CONSTRAINT dag_tag_ibfk_1 FOREIGN KEY (dag_id) 
REFERENCES dag (dag_id) ON DELETE CASCADE;
   
   ALTER TABLE task_fail MODIFY dag_id VARCHAR(250) CHARACTER SET utf8mb3 
COLLATE utf8mb3_bin;
   
   ALTER TABLE job MODIFY dag_id VARCHAR(250) CHARACTER SET utf8mb3 COLLATE 
utf8mb3_bin;
   ALTER TABLE log MODIFY dag_id VARCHAR(250) CHARACTER SET utf8mb3 COLLATE 
utf8mb3_bin;
   ALTER TABLE sensor_instance MODIFY dag_id VARCHAR(250) CHARACTER SET utf8mb3 
COLLATE utf8mb3_bin;
   ALTER TABLE serialized_dag MODIFY dag_id VARCHAR(250) CHARACTER SET utf8mb3 
COLLATE utf8mb3_bin;
   ALTER TABLE sla_miss MODIFY dag_id VARCHAR(250) CHARACTER SET utf8mb3 
COLLATE utf8mb3_bin;
   
   alter table task_instance drop foreign key task_instance_dag_run_fkey;
   ALTER TABLE task_reschedule DROP FOREIGN KEY task_reschedule_ti_fkey;
   ALTER TABLE task_reschedule MODIFY task_id VARCHAR(255) CHARACTER SET 
utf8mb3 COLLATE utf8mb3_bin;
   
   ALTER TABLE task_instance MODIFY dag_id VARCHAR(250) CHARACTER SET utf8mb3 
COLLATE utf8mb3_bin;
   alter table task_instance add constraint task_instance_dag_run_fkey foreign 
key (dag_id, run_id) references dag_run (dag_id, run_id) on delete cascade;
   
   ALTER TABLE task_reschedule MODIFY dag_id VARCHAR(250) CHARACTER SET utf8mb3 
COLLATE utf8mb3_bin;
   ALTER TABLE xcom MODIFY dag_id VARCHAR(250) CHARACTER SET utf8mb3 COLLATE 
utf8mb3_bin;
   
   ALTER TABLE task_instance MODIFY task_id VARCHAR(255) CHARACTER SET utf8mb3 
COLLATE utf8mb3_bin;
   
   ALTER TABLE task_reschedule ADD CONSTRAINT task_reschedule_ti_fkey FOREIGN 
KEY (dag_id, task_id, run_id) REFERENCES task_instance (dag_id, task_id, 
run_id);
   
   ALTER TABLE rendered_task_instance_fields MODIFY dag_id VARCHAR(255) 
CHARACTER SET utf8mb3 COLLATE utf8mb3_bin;
   ALTER TABLE rendered_task_instance_fields MODIFY task_id VARCHAR(255) 
CHARACTER SET utf8mb3 COLLATE utf8mb3_bin;
   ALTER TABLE task_fail MODIFY task_id VARCHAR(255) CHARACTER SET utf8mb3 
COLLATE utf8mb3_bin;
   ALTER TABLE task_fail MODIFY dag_id VARCHAR(255) CHARACTER SET utf8mb3 
COLLATE utf8mb3_bin;
   
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to