Current section
Files
Jump to
Current section
Files
src/migrant.gleam
import gleam/io
import gleam/result
import migrant/database
import migrant/filesystem
import migrant/types.{type Error}
import sqlight
pub fn migrate(
db: sqlight.Connection,
migration_dir: String,
) -> Result(Nil, Error) {
use <- database.create_migrations_table(db)
use migrations <- filesystem.load_migration_files(migration_dir)
use migrations <- database.filter_applied_migrations(db, migrations)
database.apply_migrations(db, migrations)
|> result.map(fn(_) {
io.println("-> Migrations applied successfully")
Nil
})
}