在启动时将数据库文件复制到内存数据库中
此插件是高度实验性的。它目前用于支持 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
如果您不想同时拥有 fixtures
和 fixtures_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