Skip to content
Extraits de code Groupes Projets
Vérifiée Valider 2c0132b7 rédigé par Kubat's avatar Kubat
Parcourir les fichiers

DB: Run migrations when opening the database

parent 7534c16f
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -7,5 +7,7 @@ edition = "2021"
crate-type = [ "staticlib" ]
[dependencies]
libc = "0.2.0"
diesel = { version = "2", default-features = false, features = [ "sqlite" ] }
log = "0.4"
libc = "0.2.0"
diesel_migrations = "2"
diesel = { version = "2", default-features = false, features = [ "sqlite" ] }
pub(self) use diesel::prelude::*;
use diesel_migrations::{embed_migrations, EmbeddedMigrations, MigrationHarness};
pub(self) use log::*;
pub mod models;
pub mod schema;
/// The migrations!
const MIGRATIONS: EmbeddedMigrations = embed_migrations!();
/// Run migrations in a connexion!
fn run_migration(conn: &mut SqliteConnection) -> Result<(), String> {
conn.run_pending_migrations(MIGRATIONS)
.map_err(|err| err.to_string())
.map(|_| ())
}
/// Create a connexion to a database and run automatically the migrations.
pub fn establish_connection(path: impl AsRef<str>) -> Result<SqliteConnection, String> {
let mut conn = SqliteConnection::establish(path.as_ref())
.map_err(|err| format!("error connecting to {}: {}", path.as_ref(), err))?;
self::run_migration(&mut conn)?;
Ok(conn)
}
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter