| """ | """ | ||||
| click.echo(click.style('Start fix app related site missing issue.', fg='green')) | click.echo(click.style('Start fix app related site missing issue.', fg='green')) | ||||
| failed_app_ids = [] | |||||
| while True: | while True: | ||||
| try: | |||||
| sql = """select apps.id as id from apps left join sites on sites.app_id=apps.id | |||||
| sql = """select apps.id as id from apps left join sites on sites.app_id=apps.id | |||||
| where sites.id is null limit 1000""" | where sites.id is null limit 1000""" | ||||
| with db.engine.begin() as conn: | |||||
| rs = conn.execute(db.text(sql)) | |||||
| with db.engine.begin() as conn: | |||||
| rs = conn.execute(db.text(sql)) | |||||
| processed_count = 0 | |||||
| for i in rs: | |||||
| processed_count += 1 | |||||
| app_id = str(i.id) | |||||
| if app_id in failed_app_ids: | |||||
| continue | |||||
| processed_count = 0 | |||||
| for i in rs: | |||||
| processed_count += 1 | |||||
| app_id = str(i.id) | |||||
| try: | |||||
| app = db.session.query(App).filter(App.id == app_id).first() | app = db.session.query(App).filter(App.id == app_id).first() | ||||
| tenant = app.tenant | tenant = app.tenant | ||||
| if tenant: | if tenant: | ||||
| account = accounts[0] | account = accounts[0] | ||||
| print("Fix app {} related site missing issue.".format(app.id)) | print("Fix app {} related site missing issue.".format(app.id)) | ||||
| app_was_created.send(app, account=account) | app_was_created.send(app, account=account) | ||||
| except Exception as e: | |||||
| failed_app_ids.append(app_id) | |||||
| click.echo(click.style('Fix app {} related site missing issue failed!'.format(app_id), fg='red')) | |||||
| logging.exception(f'Fix app related site missing issue failed, error: {e}') | |||||
| continue | |||||
| if not processed_count: | |||||
| break | |||||
| if not processed_count: | |||||
| break | |||||
| except Exception as e: | |||||
| click.echo(click.style('Fix app related site missing issue failed!', fg='red')) | |||||
| logging.exception(f'Fix app related site missing issue failed, error: {e}') | |||||
| continue | |||||
| click.echo(click.style('Congratulations! Fix app related site missing issue successful!', fg='green')) | click.echo(click.style('Congratulations! Fix app related site missing issue successful!', fg='green')) | ||||