All checks were successful
continuous-integration/drone/push Build is passing
99 lines
2.8 KiB
Plaintext
99 lines
2.8 KiB
Plaintext
# DSL: AshCubDB.DataLayer
|
|
|
|
A CubDB data layer for Ash.
|
|
|
|
<!--- ash-hq-hide-start --> <!--- -->
|
|
|
|
## DSL Documentation
|
|
|
|
### Index
|
|
|
|
* cubdb
|
|
|
|
### Docs
|
|
|
|
## cubdb
|
|
|
|
CubDB data layer configuration.
|
|
|
|
|
|
|
|
|
|
Examples:
|
|
```
|
|
cubdb do
|
|
directory "/opt/storage/my_awesome_resource"
|
|
auto_compact? true
|
|
auto_file_sync? true
|
|
name :my_awesome_resource
|
|
end
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
* `:directory` - The directory within which to store the CubDB data.
|
|
If none is supplied, then one will be automatically generated in the
|
|
`priv` directory of the parent OTP application.
|
|
|
|
* `:otp_app` (`t:atom/0`) - The OTP application in whose `priv` directory data should be stored.
|
|
Only used if `directory` is not supplied. When not provided
|
|
`Application.get_application/1` will be called for the resource.
|
|
|
|
* `:auto_compact?` (`t:boolean/0`) - Whether or not to automatically compact the CubDB database.
|
|
See [the CubDB documentation](https://hexdocs.pm/cubdb/faq.html#what-is-compaction) for more information. The default value is `true`.
|
|
|
|
* `:auto_file_sync?` (`t:boolean/0`) - Whether or not to automatically flush the buffer to disk on write.
|
|
See [the CubDB documentation](https://hexdocs.pm/cubdb/faq.html#what-does-file-sync-mean) The default value is `true`.
|
|
|
|
* `:name` (`t:atom/0`) - The name of the CubDB database.
|
|
By default this is the name of the resource module, however in some
|
|
(rare) circumstances you may wish to specifically name the database.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--- ash-hq-hide-stop --> <!--- -->
|
|
|
|
|
|
## cubdb
|
|
CubDB data layer configuration.
|
|
|
|
|
|
|
|
|
|
### Examples
|
|
```
|
|
cubdb do
|
|
directory "/opt/storage/my_awesome_resource"
|
|
auto_compact? true
|
|
auto_file_sync? true
|
|
name :my_awesome_resource
|
|
end
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Options
|
|
| Name | Type | Default | Docs |
|
|
| --- | --- | --- | --- |
|
|
| `directory` | `nil \| String.t` | | The directory within which to store the CubDB data. If none is supplied, then one will be automatically generated in the `priv` directory of the parent OTP application. |
|
|
| `otp_app` | `atom` | | The OTP application in whose `priv` directory data should be stored. Only used if `directory` is not supplied. When not provided `Application.get_application/1` will be called for the resource. |
|
|
| `auto_compact?` | `boolean` | `true` | Whether or not to automatically compact the CubDB database. See [the CubDB documentation](https://hexdocs.pm/cubdb/faq.html#what-is-compaction) for more information. |
|
|
| `auto_file_sync?` | `boolean` | `true` | Whether or not to automatically flush the buffer to disk on write. See [the CubDB documentation](https://hexdocs.pm/cubdb/faq.html#what-does-file-sync-mean) |
|
|
| `name` | `atom` | | The name of the CubDB database. By default this is the name of the resource module, however in some (rare) circumstances you may wish to specifically name the database. |
|
|
|
|
|
|
|
|
|
|
|
|
|