Ridgepole v0.7.0.beta2

Ridgepole v0.7.0.beta2をリリースしました。 開発中にコメントやフィードバックをしていただいた方にはありがとうございました。

github.com

主な変更点は以下の通りです。

  • Rails(ActiveRecord) 4.xのサポートを止めた
    • 5.xと両方のフォーマットをサポートする必要があったspecがだいぶきれいになりました
    • またactiverecord-mysql-awesomeの機能は5.xに取り込まれているので--enable-mysql-awesomeオプションを削除しました
  • Rails(ActiveRecord) 5.1に対応
  • Ruby 2.4のサポート…というかテストケースを追加
  • DROP TABLEをスキップする--skip-drop-tableオプションを追加
  • MySQLのテーブルオプションの差分を適用する--mysql-change-table-optionsオプションを追加
    • kamipoさんの実装をほとんどそのまま取り入れました
  • MySQL 5.7のサポート
    • JSON型とGenerated Columnsが使えるようになりました
  • URL形式の接続設定のサポート
  • 環境変数経由での接続設定の受け渡し(-c env:MY_DB_URL
  • 名無しの外部キーのサポート
  • 外部キーの適用順序の変更(FK削除→テーブル変更→FK追加)

AR 5.1サポート・MySQL 5.7サポート・FKまわりの改善が大きなところです。 特にFKまわりついては、はまる人が多いようだったので、それなりに使い勝手を良くしたつもりです。 (とはいえ、ARの名無しFKの実装についてはもやもやするところですが)

0.7系について、不具合や要望等があれば随時Issue上げていただけると助かります。