Caution
This package is not compatible with AdonisJS v5.
Copied a lot from Inspired a lot by @adonijs/redis.
node ace add adonis-clickhouse
You can change it in config/clickhouse.ts
, it's all same with createClient
Configuration.
here is the details: https://clickhouse.com/docs/en/integrations/language-clients/javascript#configuration
Variable | Description | Default Value |
---|---|---|
CLICKHOUSE_DB |
Database Name | default |
CLICKHOUSE_USER |
User | default |
CLICKHOUSE_PASSWORD |
Password | empty string '' |
CLICKHOUSE_HOST |
Clickhouse connect url | http://localhost:8123 |
CLICKHOUSE_REQUEST_TIMEOUT |
The request timeout in milliseconds. | 30000 (30s) |
CLICKHOUSE_COMPRESSION_REQUEST |
Enables compression on the client request body | false |
CLICKHOUSE_COMPRESSION_RESPONSE |
Instructs ClickHouse server to respond with compressed response body. | true |
As it is a container service, you can init it by
await app.container.make('clickhouse')
or
import clickhouse from 'adonis-clickhouse/services/main'
The way same as @adonisjs/redis
.
The imported clickhouse actully is a instance of @clickhouse/client
Client, hence those codes are equal:
An example of adonis-clickhouse
import clickhouse from 'adonis-clickhouse/services/main'
await clickhouse.query({
/* QueryParams */
})
Equaled offical library example
import { createClient } from '@clickhouse/client'
const client = createClient({
/* configuration */
})
await client.query({
/* QueryParams */
})
You can config the multi databases and use manager
to connect it.
import { manager } from 'adonis-clickhouse/services/main'
// Change main to the name you defined.
const client = manager.connect('main')
await client.query({
/* QueryParams */
})
See Offical ClickHouse JS Library
Create an issue to submit your project.
This project is contributed by u301 team for giving back to the AdonisJS community.
If you are looking for a queue solution for AdonisJS, take a look at adonis-resque.
the MIT