def delete_databases(tanant_name): # 根据机构名删除Tbl_PlatformUser表中对应数据、删除Tbl_CompanyDataSource表中对应数据, # 并删除数据库,删除Tbl_Business表中数据 tenantUuids = mydb.select( conn=DB_CONN, table='Tbl_Business', column='tenantUuid', condition='position("{}" in name)'.format(tanant_name)) for tenantUuid in tenantUuids: # 查询dbname dbname = mydb.select(conn=DB_CONN, table='Tbl_CompanyDataSource', column='db_name', condition='tenantUuid = "{}"'.format( tenantUuid[0])) # 根据dbname删除db mydb.drop_database(conn=DB_CONN, database_name="{}".format(dbname[0][0])) # 删除Tbl_CompanyDataSource表中删除db的记录数据 mydb.delete(conn=DB_CONN, table='Tbl_CompanyDataSource', condition='tenantUuid = "{}"'.format(tenantUuid[0])) # 删除Tbl_PlatformUser表中该机构的用户 mydb.delete(conn=DB_CONN, table='Tbl_PlatformUser', condition='tenantUuid = "{}" '.format(tenantUuid[0])) # 删除Tbl_Business表中name为tanant_name的数据 mydb.delete(conn=DB_CONN, table='Tbl_Business', condition='position("{}" in name)'.format(tanant_name))
def drop_db(): # 查询数据库名称 db_names = MysqlClent.select_join( DB_CONN, 'biz_company_datasource as a,biz_company as b', 'a.db_name', 'a.company_id = b.id', 'POSITION("{}" IN b.name)'.format(loginAction.sign)) # 删除biz_company表中的企业 MysqlClent.delete(DB_CONN, 'biz_company', 'POSITION("{}" IN name)'.format(loginAction.sign)) # 删除 biz_company_datasource表中的数据库id for db_name in db_names: MysqlClent.delete(DB_CONN, 'biz_company_datasource', 'db_name="{}"'.format(db_name[0])) # 删除数据库 MysqlClent.drop_database(DB_CONN, db_name[0])