Exemplo n.º 1
0
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))
Exemplo n.º 2
0
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])