Description:
Error message when trying to delete definition, using sharding remove_definition command shard table inside definition has been removed previously.
How to repeat:
List definition indicates there is only one definition
-bash-4.1$ mysqlfabric sharding list_definitions
Command :
{ success = True
return = [[1, 'RANGE', 'my_group4']]
activities =
}
Removed table from definition
-bash-4.1$ mysqlfabric sharding remove_table oltp.oltp
Procedure :
{ uuid = 807292f7-e816-4220-8553-04e52b719f63,
finished = True,
success = True,
return = True,
activities =
}
Then if we try to remove definition, got foreign key constraint error
-bash-4.1$ mysqlfabric sharding remove_definition 1
Procedure :
{ uuid = 5fe5b7d8-bc92-43db-b321-b831228df720,
finished = True,
success = False,
return = DatabaseError: ("Command (DELETE FROM shard_maps WHERE shard_mapping_id = %s, ('1',)) failed: 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`fabric`.`shard_tables`, CONSTRAINT `fk_shard_mapping_id` FOREIGN KEY (`shard_mapping_id`) REFERENCES `shard_maps` (`shard_mapping_id`))", 1451),
activities =
}