首页 > 解决方案 > 保存从 Flask Sql Alchemy 创建的表和数据库,以确保跨会话的数据持久性

问题描述

我刚刚创建了一个 Flask 应用程序。我正在尝试做一些数据库操作。我的应用程序的初始化类是

import os
from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()


def __get_app() -> Flask:
    return Flask(__name__)


def create_app() -> Flask:
    app = __get_app()
    db.init_app(app)

    with app.app_context():
        from .routes import api
        app.register_blueprint(api)
        db.create_all()
        db.session.commit()

    print("FLASK APP")

    return app

其中一个模型是

"""Data models."""
from app import db
import json

class User(db.Model):
    """Data model for user accounts."""

    __tablename__ = 'flasksqlalchemy-tutorial-users'
    id = db.Column(
        db.Integer,
        primary_key=True,
        autoincrement=True
    )
    username = db.Column(
        db.String(64),
        index=False,
        unique=True,
        nullable=False
    )
    email = db.Column(
        db.String(80),
        index=True,
        unique=True,
        nullable=False
    )
    website = db.Column(
        db.String(120),
        index=False,
        unique=False,
        nullable=False
    )
    password = db.Column(
        db.String(20),
        index=False,
        unique=False,
        nullable=False
    )

我可以使用上述方法创建数据库和所需的表。我面临的问题是如何保存数据库和表。我需要一些指导。

我想将数据库保存在我的本地机器上。

更新:进一步的背景

我最初没有数据库。在 db.create_all() 之后,我可以查询数据库并创建所有相关表。我想将该数据库保存在托管应用程序的机器上。我也无法在任何地方找到数据库,一旦我停止应用程序,它就会消失。基本上,会话之间不保持持久性

标签: pythonflasksqlalchemyflask-sqlalchemy

解决方案


推荐阅读