跳转到主要内容

快速数据库查询的后端API

项目描述

Fast Query Store :zap

本地运行

运行此项目需要pythongitdockerdocker-compose

设置

git clone <repository-url>
cd fast-query-store
cp env.example .env
source .env

安装依赖项

python -m venv env
source env/bin/activate

pip install -r requirements.txt

导出配置变量

fast-query-store 将查找包含查询信息的.json文件。环境变量queries_file_path指示该文件的位置。

export queries_file_path=/path/to/queries.json

示例queries.json文件

{
    "slug-1": {
        "query": "SELECT * FROM table_1",
        "db_url": "postgresql:///..."
    },
    "slug-2": {
        "query": "SELECT COUNT(1) FROM table_1",
        "db_url": "sqlite:///..."
    },
    "slug-3": {
        "query": "SELECT * FROM table_3",
        "db_url": "${DATABASE_URL}"
    }
}

注意:还可以使用环境变量设置db_url

运行它

export queries_file_path=queries.json
uvicorn app.main:app --workers 2 --host 0.0.0.0 --port 8000

获取可用的查询缩写

GET http://localhost:8000/
HTTP/1.1 200 OK
content-length: 73
content-type: application/json
date: Fri, 14 May 2021 12:47:37 GMT
server: uvicorn

{
    "slugs": [
        "slug-1",
        "slug-2",
        "slug-3"
    ]
}

执行查询

GET http://localhost:8000/query/slug-1
HTTP/1.1 200 OK
content-length: 151
content-type: application/json
date: Fri, 14 May 2021 12:53:09 GMT
server: uvicorn

{
    "result_set": [
        {
            "name": "Cheese",
            "price": 9.99,
            "product_no": 1
        },
        {
            "name": "Bread",
            "price": 1.99,
            "product_no": 2
        },
        {
            "name": "Milk",
            "price": 2.99,
            "product_no": 3
        }
    ]
}

运行测试

pip install -r requirements-development.txt
source .env
docker-compose f docker-compose.yml up -d
pytest -v

项目详情


下载文件

下载适合您平台文件的文件。如果您不确定选择哪个,请了解有关安装软件包的更多信息。

源分布

fast-query-store-0.0.7.dev0.tar.gz (4.3 kB 查看哈希值)

上传时间:

由以下支持