This crate provides traits which can are used to provide an abstraction for CLInvoice frontends to enable the option of different types of storage facilities (e.g. Postgres vs MySQL)
Contains various tools, such as those to generate SQL and reference table columns.
serde
enables the use of [serde
] with the types in this crate.sqlx_runtime_tokio_rustls
enables [sqlx
]'sruntime-tokio-rustls
feature, which is only set so that the project can be built on its own.- This crate should be compiled with
--no-default-features
.
- This crate should be compiled with
If you are looking to create a new adapter:
- Create newtypes for each trait in [
crate::schema
]. - Implement each newtype's corresponding
Adapter
trait. - Add a new variant in
Adapters
. - Create a new feature flag for the adapter in the corresponding frontend you want to support the new adapter.
- Write add new
match
arms in areas thatmatch
onAdapters
.