【问题标题】:Auto Vacuum with Flask SQLAlchemy使用 Flask SQLAlchemy 自动吸尘
【发布时间】:2019-03-14 16:00:43
【问题描述】:

我正在尝试使用 Flask_SQLAlchemy 限制烧瓶中数据库的大小。当文件大小接近某个限制时,我想开始删除最旧的行。我想出了如何从数据库的开头删除行,但是文件大小并没有缩小,因为没有开启吸尘(我认为)。

有没有办法在 SQLAlchemy 中启用或更好的方法来管理数据库的文件大小?我是数据库新手,因此不胜感激。

谢谢!

【问题讨论】:

    标签: python-3.x flask flask-sqlalchemy


    【解决方案1】:

    所以我找到了一种在 python 中使用 SQLite3 的方法,我将在此处添加它,以防有人找到此页面并需要帮助。删除后要清理,我只运行了这三个命令。

    self.con = sqlite3.connect(databasename) # Open the database in sqlite
    self.con.execute("VACUUM") # Execute the vacuum command
    self.con.close() # Close the database
    

    如果有人有更好的方法来做到这一点,这是 SQLAlchemy 原生的,请告诉我们!

    【讨论】:

      【解决方案2】:

      我使用我的 db = SQLAlchemy() 对象
      并调用

      with db.engine.begin() as conn:
          conn.execute("VACUUM")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-08
        • 1970-01-01
        • 2015-01-04
        • 1970-01-01
        • 2014-10-01
        • 1970-01-01
        相关资源
        最近更新 更多