マイグレーションファイルをweb上で編集するgem "ponytail" を作りました

ponytail とは?

Railsマイグレーションファイルをweb上で作成したり、web上でマイグレーションロールバックを実行できるようにするgemです。

インストール方法

Gemfileの:developmentのgroupにgemを追加し、bundle installしてください。

group :development do
  gem 'ponytail'
end
$ bundle install

また、Rails4からはdevelopment環境ではマイグレーションが最新でない場合にページを開く時に例外が出てしまうため、config/environments/development.rbの下記の設定をコメントアウトしてください。

# Raise an error on page load if there are pending migrations
# config.active_record.migration_error = :page_load

※この設定をコメントアウトしない場合、ponytailの一部の機能が制限されます。

使い方

$ rails sでサーバーを起動し、 http://localhost:3000/rails/migrations/ を開いて下さい。

ソースコード

ソースコードはGithubに置いてあります。 https://github.com/sinsoku/ponytail

サンプルサイト

developブランチのgemを使ったdummyアプリはtravis-ciで常にHerokuにデプロイしています。

http://ponytail.herokuapp.com/

※ただし、dummyアプリではマイグレーションロールバックは実行できません。また、マイグレーションファイルも作成できません。

今後

まだ最低限の機能しかないので、少しずつ機能を増やしていきたい

  • columnのuniq, null, indexなどのoptionの設定
  • jsでのバリデーション
  • ajaxマイグレーションロールバックなどの実行
  • その他、もう少しUIを使いやすく
  • 複数のブラウザでの表示の確認
  • テストを充実させる
  • ...etc

あと、実際に使ってみて、使いづらい部分とか要望があったら @sinsoku_listy までリプライしてもらえると嬉しい。

対応できそうなら実装してみるので。