Проверка существования базы данных `__bind_key__` для приложения Flask - PullRequest
0 голосов
/ 06 апреля 2020

Я довольно новичок в flask и пытаюсь выработать некоторые логи c для проверки существования bind db, а затем, если он просто не создает его, используя соответствующую модель.

Мой начальный подход состоял в том, чтобы проверить таблицу в БД.

from models import specific_db_model
from flask_sqlalchemy import SQLAlchemy

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://user:pass@localhost/mainDB'
app.config['SQLALCHEMY_BINDS'] = {'specific_db': 'mysql+pymysql://user:pass@localhost/specific_db'}
app.config['SQLALCHEMY_TRACK_MODIFICATION'] = True
db = SQLAlchemy(app)

if specific_db_model.query.filter_by(id=1).first():
    pass
else:
    db.create_all(bind="specific_db")

Это не удалось, так как БД там не было, я подумал достаточно просто, я поймаю ошибку и обработаю ее там

except Exception as e:
    if "Unknown database" in str(e.args):
        db.create_all(bind='specific_db')

Это не создавало БД, как я ожидал. Я начал чувствовать, что я должен быть далеко от цели и должен быть лучший способ справиться со всей проблемой. Так что у меня был гугл, но я ничего не придумал.

Буду рад, если кто-нибудь подскажет, что я здесь не так делаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...