2 个不稳定版本

0.3.0 2022年6月7日
0.1.0 2022年3月28日

#759 in 数据库接口


用于 4 crates

AGPL-3.0-or-later

725KB
16K SLoC

quickwit-metastore

设置环境。

安装 libpg-dev 和 diesel_cli

如果您还没有安装 libpg-dev 和 diesel_cli,请使用以下命令安装它们。

% sudo apt install libpq-dev
% cargo install diesel_cli --no-default-features --features postgres 

为 quickwit-metastore 设置 Diesel

让我们使用 diesel_cli 设置环境。首先,运行以下命令以使用 Docker 启动 PostgreSQL。

$ docker-compose up -d

成功启动 PostgreSQL 后,您可以开始设置 Diesel。执行以下命令以创建 migrations/postgresqldiesel_postgresql.toml

$ diesel setup --migration-dir=migrations/postgresql --config-file=diesel_postgresql.toml

为了更改 schema.rs 的输出目标,按照以下方式修改 diesel_postgresql.toml。

[print_schema]
file = "src/postgresql/schema.rs"

接下来,在 migrations/postgresql 目录下创建一个 *.sql 文件。

$ diesel migration generate --migration-dir=migrations/postgresql create_indexes
$ diesel migration generate --migration-dir=migrations/postgresql create_splits

由于生成的文件为空,请更新 SQL 语句。更新 SQL 语句后,使用以下命令生成 quickwit-metastore/src/postgresql/schema.rs

$ diesel migration run --migration-dir=migrations/postgresql --config-file=diesel_postgresql.toml

成功生成 quickwit-metastore/src/postgresql/schema.rs 后,您可以使用 Diesel 开始开发。

测试 quickwit-metastore

仅测试 FileBackedMetastore,请使用以下命令。

$ cargo test

要测试包括 PostgresqlMetastore,您需要先启动 PostgreSQL。在 quickwit 项目根目录下使用以下命令启动 PostgreSQL 进行测试。

$ make docker-compose-up DOCKER_SERVICES=postgres

一旦 PostgreSQL 启动并运行,您可以使用以下命令运行包括 PostgresqlMetastore 的测试。

$ cargo test --features=postgres

您可以使用以下命令停止 PostgreSQL。

$ docker-compose down

依赖项

~43–59MB
~1M SLoC