在 Google App Engine 上打开 SQLite 数据库

Jon*_*nny 5 sqlite google-app-engine

有没有办法在 GAE 上打开和读取 SQLite 数据库文件?

我目前正在以管理员身份将 dbs 上传到 blobstore,并将它们公开提供给用户客户端。我只是无法在 GAE 管理界面中读取它们。

Fed*_*rov 5

您可以在 Google App Engine 上使用 SQLITE。该问题与某些库的支持无关。它与只读文件系统有关。但是,有一个可写的 /tmp 目录。如果您的应用程序在启动时首先将 db.sqlite3 文件复制到 /tmp/db.sqlite3 并将此路径引用为数据库路径,它将起作用。

然而,也有缺点。1. 这不是一个“真正的”目录,即它存储在内存中。如果数据库太大,就会出现问题。2. 每个实例都有自己的 db.sqlite3 文件副本。不能很好地扩展。

这是一个 django 示例: Using SQLITE for local Django development for Google App Engine?


小智 3

简短的回答,不,不可能在标准 Google App Engine 应用程序上使用 SQLite 数据库,因为当前不支持它。但是,您可以尝试使用App Engine 灵活环境来实现您自己的配置,该环境允许通过基础架构自定义来利用自定义库。

如果您想进行实验,这里有一个示例 Django应用程序,旨在在 App Engine 灵活环境上使用其默认 SQLite 数据库运行。不过,请务必阅读提供替代数据存储选项的数据库通知,并解释 SQLite 数据在实例重新启动后不会保留。