#postgresql #storage #abstraction-layer #connection #mysql #sqlx #repository

rstdev-storage

A library to manage external storage database instance and connection

8 releases

0.3.6 Jul 14, 2024
0.3.5 Jul 14, 2024
0.3.0 May 13, 2024
0.1.0 Mar 9, 2024

#594 in Development tools


Used in 2 crates (via prople-vessel-rpc)

Apache-2.0

38KB
782 lines

rstdev-storage

A rstdev-storage is a library that provide a base abstraction for any external storages including for it's implementations.

The main purpose of this library is to provide a base layer of abstraction that designed to be working side-by-side with the object that implement Repository Pattern.

Current supported storage engines:

  • MySQL
  • Postgres
  • RocksDB

INFO

For all SQL storage implementations, it will using sqlx library

Installation

[dependencies]
rstdev-storage = {version = "0.3.0"}

Features

  • mysql, will only install and load base sqlx library with runtime-tokio and mysql enabled
  • postgresql, will only install and load base sqlx library with runtime-tokio and posgres enabled
  • rocksdb, will only install and load engine implementation of rust-rocksdb

Example:

Want to install MySQL (or PostgreSQL) engine implementation

[dependencies]
rstdev-storage = {version = "0.3.6", features = ["mysql"]}

Want to install RocksDB engine implementation

[dependencies]
rstdev-storage = {version = "0.3.6", features = ["rocksdb"]}

Dependencies

~17–36MB
~566K SLoC