我正在尝试使用Flask_SQLAlchemy限制烧瓶中数据库的大小。我想在文件大小接近某个限制集时开始删除最旧的行。我想出了如何从数据库的开头删除行,但文件大小没有缩小,因为没有打开真空(我认为)。
有没有办法在SQLAlchemy中为数据库管理文件大小或更好的方法?我是数据库的新手,所以任何帮助都表示赞赏。
谢谢!
所以我在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本机,请告诉我们!
我用我的db = SQLAlchemy()
对象
并打电话
with db.engine.begin() as conn:
conn.execute("VACUUM")