Python 保存从Flask Sql Alchemy创建的表和数据库,以确保跨会话的数据持久性

Python 保存从Flask Sql Alchemy创建的表和数据库,以确保跨会话的数据持久性,python,flask,sqlalchemy,flask-sqlalchemy,Python,Flask,Sqlalchemy,Flask Sqlalchemy,我刚刚创建了一个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)

我刚刚创建了一个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()之后,我可以查询数据库并创建所有相关表。我想在托管应用程序的计算机上保存该数据库。我在任何地方也找不到数据库,一旦我停止应用程序,它就会消失。基本上,会话之间不会保持持久性

,因此您希望获取另一台计算机上的数据库副本,对吗?不,不是。我最初没有数据库。在db.create_all()之后,我可以查询数据库并创建所有相关表。我想在托管应用程序的计算机上保存该数据库。我在任何地方也找不到数据库,一旦我停止应用程序,它就会消失。基本上,会话之间不会保持持久性。您需要使用数据库文件的路径设置
SQLALCHEMY\u DATABASE\u URI
配置选项(假设您使用的是sqlite)@谢谢分享。看起来很有希望。我只是无法修复URI。我正在尝试app.config['SQLALCHEMY\u DATABASE\u URI']=“jdbc:sqlite:/Users/code/src/flask\u project/app/flask\u db”“”获取SQLALCHEMY.exc.ArgumentError:无法从字符串“/Users/code/src/flask\u project/app/flask\u db”解析rfc1738 URL!它确实起作用了。我失踪了sqlite:///. 就像三条斜线。非常感谢@snakecharmerb