# DSL: AshCubDB.DataLayer A CubDB data layer for Ash. ## 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. ## 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. |