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 |