LuckyMigrator has been merged into LuckyRecord

NOTE! LuckyMigrator has been merged with LuckyRecord


Add this to your application's shard.yml:

# Remember to also install the LuckyCli to run the tasks
    github: luckyframework/lucky_migrator

LuckyMigrator requires installing the LuckyCli so you can run the tasks. See instructions at the LuckyCli repo.

Setup tasks in

# file
require "lucky_cli"

# This will load all the db tasks
require "lucky_migrator"

# Require your migrations. Remember to create the directory too.
require "./db/migrations/*"

LuckyMigrator::Runner.db_name = "my_cool_db"

# This should always be at the bottom or your tasks won't be available in LuckyCli

Creating, dropping and migrating the database

This library consists of various tasks that can be run with LuckyCli

lucky db.create
lucky db.drop
lucky db.migrate
lucky db.rollback
lucky db.rollback_all

Generating a migration

lucky gen.migration CreateUsers

This will create a timestamped migration in db/migrations


  1. Fork it ( )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request


To run the tests:

  • Install Postgres: (macOS/Others)
  • Install shards and set up the databases with ./bin/setup
  • Run the tests with crystal spec


Github statistic:
  • 17
  • 15
  • 4
  • 13
  • 7 months ago


MIT License