Skip to content
This repository has been archived by the owner on Aug 25, 2018. It is now read-only.

luckyframework/lucky_migrator

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
bin
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

NOTE! LuckyMigrator has been merged with LuckyRecord

Installation

Add this to your application's shard.yml:

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

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

Setup tasks in tasks.cr

# tasks.cr 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
LuckyCli::Runner.run

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

Contributing

  1. Fork it ( https://github.com/luckyframework/lucky_migrator/fork )
  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

Testing

To run the tests:

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

Contributors