datasette-upload-dbs 由 simonw 开发

标星

README 源代码

datasette-upload-dbs

PyPI Changelog Tests License

上传 SQLite 数据库文件到 Datasette

安装

在与 Datasette 相同的环境中安装此插件。

datasette install datasette-upload-dbs

配置

此插件要求您配置一个用于存储上传的文件的目录。

启动时,Datasette 将自动加载在该目录中找到的任何 SQLite 文件。这意味着您可以在文件上传之间安全地重启服务器。

要将目录配置为 /home/datasette/uploads,将此内容添加到 metadata.yml 配置文件中

plugins:
  datasette-upload-dbs:
    directory: /home/datasette/uploads

或者如果您使用 metadata.json

{
  "plugins": {
    "datasette-upload-dbs": {
      "directory": "/home/datasette/uploads"
    }
  }
}

您可以使用 "." 表示服务器启动时的当前文件夹,或者 "uploads" 表示相对于该文件夹的子文件夹。如果该文件夹尚不存在,它将在启动时创建。

然后像这样启动 Datasette

datasette -m metadata.yml

该插件默认加载配置目录中的所有数据库。

您可以通过添加以下设置来禁用此功能

"skip_startup_scan": true

使用方法

只有拥有 upload-dbs 权限的用户才能上传文件。root 用户默认拥有此权限 - 其他用户可以使用权限插件授予访问权限,详细信息请参阅 权限 文档。

要作为 root 用户启动 Datasette,运行以下命令

datasette -m metadata.yml --root

并按照控制台上显示的链接访问。

如果用户拥有该权限,他们会在导航菜单中看到一个“上传数据库”链接。

这将把他们带到 /-/upload-dbs,在那里他们可以通过选择文件或将它们拖到放置区域来上传数据库文件。

Animated demo showing a file being dropped onto a box, then uploading and redirecting to the database page

开发

要在本地设置此插件,首先检出代码。然后创建一个新的虚拟环境

cd datasette-upload-dbs
python3 -m venv venv
source venv/bin/activate

现在安装依赖项和测试依赖项

pip install -e '.[test]'

要运行测试

pytest