| Crates.io | burncloud-database-impl |
| lib.rs | burncloud-database-impl |
| version | 0.1.0 |
| created_at | 2025-09-21 16:28:22.892597+00 |
| updated_at | 2025-09-21 16:28:22.892597+00 |
| description | Database implementations for multiple backends (PostgreSQL, MySQL, SQLite, MongoDB) for BurnCloud |
| homepage | https://github.com/burncloud/burncloud-database |
| repository | https://github.com/burncloud/burncloud-database |
| max_upload_size | |
| id | 1848925 |
| size | 124,456 |
Database implementations for multiple backends (PostgreSQL, MySQL, SQLite, MongoDB) for the BurnCloud AI management system.
burncloud-database-impl provides concrete implementations of the traits defined in burncloud-database-core for multiple popular database backends. This allows you to use the same high-level API regardless of which database you choose.
Add this to your Cargo.toml:
[dependencies]
burncloud-database-impl = "0.1"
By default, only PostgreSQL support is included. Enable other databases with feature flags:
[dependencies]
burncloud-database-impl = { version = "0.1", features = ["mysql", "sqlite"] }
Available features:
postgres (default) - PostgreSQL support via sqlxmysql - MySQL support via mysql_asyncsqlite - SQLite support via rusqlitemongodb_support - MongoDB support via mongodb driverall - Enable all database backendsuse burncloud_database_impl::PostgresConnection;
use burncloud_database_core::{DatabaseConnection, QueryContext};
let mut conn = PostgresConnection::new("postgresql://user:pass@localhost/db".to_string());
conn.connect().await?;
let context = QueryContext::default();
conn.ping().await?;
use burncloud_database_impl::SQLiteConnection;
let mut conn = SQLiteConnection::new("./database.db".to_string());
conn.connect().await?;
use burncloud_database_impl::MySQLConnection;
let mut conn = MySQLConnection::new("mysql://user:pass@localhost/db".to_string());
conn.connect().await?;
use burncloud_database_impl::MongoDBConnection;
let mut conn = MongoDBConnection::new(
"mongodb://localhost:27017".to_string(),
"my_database".to_string()
);
conn.connect().await?;
All implementations support type-safe query parameters:
use burncloud_database_impl::{StringParam, I64Param, BoolParam};
let params: Vec<&dyn QueryParam> = vec![
&StringParam("user_id".to_string()),
&I64Param(42),
&BoolParam(true),
];
Each database implementation provides:
Licensed under either of
at your option.