use sqlx::SqlitePool;
pub async fn run_migrations(pool: &SqlitePool) -> Result<(), sqlx::Error> {
sqlx::query("PRAGMA journal_mode = WAL")
.execute(pool)
.await?;
sqlx::query("PRAGMA foreign_keys = ON")
.execute(pool)
.await?;
let migration_sql = include_str!("../migrations/0001_initial.sql");
for stmt in migration_sql.split(';') {
let code_lines: String = stmt
.lines()
.filter(|l| !l.trim_start().starts_with("--"))
.collect::<Vec<_>>()
.join("\n");
let trimmed = code_lines.trim();
if trimmed.is_empty() {
continue;
}
sqlx::query(trimmed).execute(pool).await?;
}
Ok(())
}