module

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, ...]
Source
register(migration : Migration)

Enregistre une nouvelle migration.

  • migration : Une instance de Hirondelle::Migration.
Hirondelle.register(migration)
Source

Nested types