使用sqlite作为引擎备份和恢复sqlalchemy数据库

voase2hg  于 2022-12-04  发布在  SQLite
关注(0)|答案(1)|浏览(225)

嗨!
我正在开发一个flak-sqlalchemy应用程序,您可以想象,我正在更改数据库模型和整个过程中的其他内容,每次对模型进行更改时,我都必须再次填充数据库,同时,作为一种安全措施,我需要准备某种备份恢复过程,以防出现错误。

  • main.py
# You can image the other code...
app.config["SQLALCHEMY_DATABASE_URI"] = f"sqlite:///{DB_FILE}"
db.init_app(app)
  • db.py
from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()
  • models.py
class User_device(db.Model):
    __tablename__ = "user_devices"
    id = db.Column(db.String(32), primary_key=True)
    user_id = db.Column(db.String(32), db.ForeignKey('users.id', ondelete="CASCADE"))
    ip = db.Column(db.String(32))
    agent = db.Column(db.String(100))

我想知道在哪里执行此流程

mbskvtky

mbskvtky1#

我发现了一个适合我的解决方案,如果您有更好的替代方案,请毫不犹豫地与他人分享:
从终端:
1.备份当前数据库

sqlite3 instance/pre_backup.db .dump > back.sql

1.删除数据库

rm instance/pre_backup.db

1.初始化项目以创建数据库示例

python3 main.py

或与 flask 运行等。4.恢复您的数据库

sqlite3 instance/new.db < back.sql

在我的例子中,我以前的每个表都有一个错误消息,但它没有给我填充数据库带来任何麻烦。
PD:我是Stack Overflow的新手,我看不出以Hi!thanks to nothing @PChemGuy -〉开头有什么问题,这不是一个字母,所以你不要以Hi开头!!!!!!!!

相关问题