Might be handled with DELETE CASCADE?