railsでschema.rbをsqlファイルとして出力する
railsでid以外のint型ではないカラムをprimary keyに鳴っているテーブルを扱う時、
schema.rbのdumpが正しく作成されない。
他にも、RDB固有のスキーマ定義を行っている場合は同様の現象が発生する。
以下のように、application.rbのconfig.active_record.schema_formatをsqlにすると
schema.rbでは無くstructure.sqlというsqlファイルを出力するようになる。
sqlファイルなのでschema.rbの時のような問題は起きなくなる。
# config/application.rb
config.active_record.schema_format = :sql
structure.sqlを作成してみる。
$ rake db:structure:dump RAILS_ENV=development
無事sqlベースのテーブル定義スクリプトが作成されていれば成功。