| OLD | NEW |
| 1 import common | 1 import common |
| 2 from autotest_lib.database import db_utils | 2 from autotest_lib.database import db_utils |
| 3 | 3 |
| 4 UP_SQL = """ | 4 UP_SQL = """ |
| 5 CREATE INDEX afe_drone_sets_drones_droneset_ibfk | 5 CREATE INDEX afe_drone_sets_drones_droneset_ibfk |
| 6 ON afe_drone_sets_drones (droneset_id); | 6 ON afe_drone_sets_drones (droneset_id); |
| 7 | 7 |
| 8 ALTER TABLE afe_drone_sets_drones | 8 ALTER TABLE afe_drone_sets_drones |
| 9 DROP KEY afe_drone_sets_drones_unique; | 9 DROP KEY afe_drone_sets_drones_unique; |
| 10 | 10 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 34 ALTER TABLE afe_drone_sets_drones | 34 ALTER TABLE afe_drone_sets_drones |
| 35 DROP KEY afe_drone_sets_drones_droneset_ibfk; | 35 DROP KEY afe_drone_sets_drones_droneset_ibfk; |
| 36 """ | 36 """ |
| 37 | 37 |
| 38 | 38 |
| 39 def migrate_up(manager): | 39 def migrate_up(manager): |
| 40 query = ('SELECT * FROM afe_drone_sets_drones ' | 40 query = ('SELECT * FROM afe_drone_sets_drones ' |
| 41 'GROUP BY drone_id HAVING COUNT(*) > 1') | 41 'GROUP BY drone_id HAVING COUNT(*) > 1') |
| 42 rows = manager.execute(query) | 42 rows = manager.execute(query) |
| 43 if rows: | 43 if rows: |
| 44 raise Exception('Some drones are associated with more than one drone ' | 44 raise Exception('Some drones are associated with more than one drone ' |
| 45 'set. Please remove all duplicates before running this ' | 45 'set. Please remove all duplicates before running this ' |
| 46 'migration.') | 46 'migration.') |
| 47 manager.execute_script(UP_SQL) | 47 manager.execute_script(UP_SQL) |
| 48 | 48 |
| 49 if db_utils.check_index_exists(manager, 'afe_drone_sets_drones', | 49 if db_utils.check_index_exists(manager, 'afe_drone_sets_drones', |
| 50 'afe_drone_sets_drones_drone_ibfk'): | 50 'afe_drone_sets_drones_drone_ibfk'): |
| 51 manager.execute(DROP_KEY_SQL) | 51 manager.execute(DROP_KEY_SQL) |
| OLD | NEW |