Python 保存从Flask Sql Alchemy创建的表和数据库,以确保跨会话的数据持久性
我刚刚创建了一个Flask应用程序。我正在尝试做一些数据库操作。我的应用程序初始化类是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)
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