def cascade_delete(self, tb_id): relation_model = Relation() share_model = Share() gen_model = Gen() rel_tbs = [tb_id] # 需要删除此表的所有依赖表 rel_tb_infos = [] relation_model.get_all_rel_tables(tb_id, rel_tb_infos) for tb_info in rel_tb_infos: rel_tbs.append(tb_info['tb_id']) for tb_id in rel_tbs: # 删除数据表 self.delete(tb_id) # 删除合表规则 gen_model._delete({Gen.TB_ID: tb_id}) # 删除分享表 share_model.delete_tb_share(tb_id) # 删除此表的依赖关系 relation_model.delete_rel_info(tb_id) self.logger.warn('delete tb: %s' % ','.join(rel_tbs))