module Hirondelle

Overview

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)

Direct including types

Defined in:

hirondelle.cr

Constant Summary

VERSION = "0.1.0"

Class Method Summary

Class Method Detail

def self.migrations #

Retourne la liste des migrations triées par version.

Hirondelle.migrations # => [migration1, migration2, ...]

[View source]
def self.register(migration : Migration) #

Enregistre une nouvelle migration.

Hirondelle.register(migration)

[View source]