Hirondelle
Hirondelle est un module de gestion de migrations de base de données pour Crystal. Il permet de définir, enregistrer et exécuter des migrations de manière structurée.
Exemple d'utilisation
class CreateUsersTable < Hirondelle::Migration
def initialize
super(1) # Version de la migration
end
def up(db : DB::Database)
db.exec <<-SQL
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name TEXT NOT NULL
)
SQL
end
def down(db : DB::Database)
db.exec "DROP TABLE users"
end
end
db = DB.open("postgres://user:password@localhost/dbname")
runner = Hirondelle::MigrationRunner.new(db)
runner.run_pending(Hirondelle.migrations)
Constants
VERSION = "0.1.0"
Class methods
migrations
Retourne la liste des migrations triées par version.
Hirondelle.migrations # => [migration1, migration2, ...]
register(migration : Migration)
Enregistre une nouvelle migration.
migration: Une instance deHirondelle::Migration.
Hirondelle.register(migration)