Skip to main content

cognee_database/
connection.rs

1use sea_orm::{Database, DatabaseConnection};
2use sea_orm_migration::MigratorTrait;
3
4use crate::migrator::Migrator;
5use crate::types::DatabaseError;
6
7/// Open a connection to the relational database.
8pub async fn connect(url: &str) -> Result<DatabaseConnection, DatabaseError> {
9    Database::connect(url)
10        .await
11        .map_err(|e| DatabaseError::ConnectionError(e.to_string()))
12}
13
14/// Run all pending migrations on an existing connection.
15pub async fn initialize(db: &DatabaseConnection) -> Result<(), DatabaseError> {
16    Migrator::up(db, None)
17        .await
18        .map_err(|e| DatabaseError::QueryError(e.to_string()))
19}