datasette-copy-to-memory 作者 simonw

星标

README 源代码

datasette-copy-to-memory

PyPI Changelog Tests License

在启动时将数据库文件复制到内存数据库中

此插件是高度实验性的。它目前用于支持 Datasette 的性能研究,并未设计用于实际生产环境。

安装

在 Datasette 所在的同一环境中安装此插件。

datasette install datasette-copy-to-memory

使用方法

启动时,Datasette 将为每个附加的数据库创建一个命名内存数据库。此数据库将具有相同的名称,但在末尾带有 _memory 后缀。

因此,运行此命令

datasette fixtures.db

将提供两个数据库:原始数据库位于 /fixtures,内存副本位于 /fixtures_memory

演示

演示正在 latest-with-plugins.datasette.io 上运行 - 那里的 /fixtures_memory 表由本插件提供。

配置

默认情况下,每个附加的数据库文件都将加载到 _memory 副本中。

您可以使用插件配置来指定数据库的一个子集。例如,要创建 github_memory 但不创建 fixtures_memory,您可以使用以下 metadata.yml 文件

plugins:
  datasette-copy-to-memory:
    databases:
    - github

然后像这样启动 Datasette

datasette github.db fixtures.db -m metadata.yml

如果您不想同时拥有 fixturesfixtures_memory 数据库,可以使用 replace: true 让插件用新的内存数据库替换文件支持的数据库,并重复使用相同的数据库名称

plugins:
  datasette-copy-to-memory:
    replace: true

然后

datasette github.db fixtures.db -m metadata.yml

这将导致存在 /github/fixtures 数据库,但没有 /github_memory/fixtures_memory

开发

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

cd datasette-copy-to-memory
python3 -m venv venv
source venv/bin/activate

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

pip install -e '.[test]'

运行测试

pytest