最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Flask-SQLAlchemy 綁定多個數(shù)據(jù)庫 -> (psycopg2.Operational)

Flask-SQLAlchemy 綁定多個數(shù)據(jù)庫 -> (psycopg2.Operational)

牧羊人nacy 2023-10-06 18:51:09
我正在嘗試使用 Flask-SQLAlchemy 及其綁定功能創(chuàng)建多個數(shù)據(jù)庫。使用創(chuàng)建單個數(shù)據(jù)庫SQLALCHEMY_DATABASE_URI效果很好。但是,當我添加時,SQLALCHEMY_BINDS它失敗并出現(xiàn)以下錯誤:File "/usr/local/lib/python3.7/site-packages/psycopg2/__init__.py", line 127, in connect    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) FATAL:  database "customer1" does not exist這是我的config.py文件:class BaseConfig:    """Base configuration"""    SECRET_KEY = 'random_key'    SQLALCHEMY_TRACK_MODIFICATIONS = False    TESTING = Falseclass DevelopmentConfig(BaseConfig):    """Development configuration"""    SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL')    SQLALCHEMY_BINDS = {         'customer1': 'postgres://postgres:postgres@auth-db:5432/customer1'     }這是我的init .py文件db = SQLAlchemy()migrate = Migrate()def create_app():    # instantiate app    app = Flask(__name__)    app_settings = os.getenv('APP_SETTINGS')    app.config.from_object(app_settings)     db.init_app(app)    migrate.init_app(app, db)    from project.api.auth import auth_blueprint    app.register_blueprint(auth_blueprint)    @app.shell_context_processor    def ctx():        return { 'app': app, 'db': db }    return app我正在通過命令行通過管理.py文件創(chuàng)建數(shù)據(jù)庫:@cli.command('recreate_db')def recreate_db():    db.drop_all()    db.create_all()    try:        db.session.commit()    except exc.SQLAlchemyError as e:        logging.info(f'{e}')我正在創(chuàng)建一個多租戶應用程序,并且我嘗試創(chuàng)建的模型應該在兩個數(shù)據(jù)庫中創(chuàng)建;我的model.py文件是這樣的:class Widgets(db.Model):    __tablename__ = 'widgets'    id = db.Column(db.Integer, primary_key=True, autoincrement=True)    name = db.Column(db.String(100), nullable=False, unique=True)    create_date = db.Column(db.DateTime, default=datetime.datetime.utcnow)我到處尋找答案,找到了幾個答案,但即使在嘗試了所有答案之后,我仍然收到此錯誤。我錯過了什么嗎?Flask-migrate 也不起作用,但我懷疑我需要先修復這個錯誤。任何幫助,將不勝感激。
查看完整描述

1 回答

?
侃侃無極

TA貢獻2051條經(jīng)驗 獲得超10個贊

db.drop_all()并且db.create_all()只刪除并創(chuàng)建所有表。(https://docs.sqlalchemy.org/en/13/core/metadata.html#sqlalchemy.schema.MetaData.create_all

如果您想創(chuàng)建數(shù)據(jù)庫(customer1),您應該使用 sqlalchemy-utils。下面的鏈接是用法。
如何使用 SQLAlchemy 創(chuàng)建新數(shù)據(jù)庫?


查看完整回答
反對 回復 2023-10-06
  • 1 回答
  • 0 關注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號