細かいことが気になるシリーズ。
MySQLのADD COLUMNにはAFTERがあるがPostgreSQLにはないため、add_columnに:afterを付けても無視される。
そのためカラムは追加した順に並ぶので、順番を意識したい場合にどうするかという話。たとえばテーブル定義書を作るとき。
Active Recordを通して使うのでいつもは気にする必要がないのだけれど、定義書の順番とdb/schema.rbの順番が異なっているのは気持ち悪い。
PostgreSQLでも出来なくはないけれど別にテーブルつくって云々て、MySQLならオプション1個で済むことをそこまで手間かけてやるの?て感じはしてる。
さて、どうしましょ。
MySQL :: MySQL 5.7 Reference Manual :: 13.1.8 ALTER TABLE Syntax
13.1.8 ALTER TABLE Syntax
PostgreSQL: Documentation: 9.5: ALTER TABLE
ALTER TABLE — change the definition of a table
ActiveRecord::ConnectionAdapters::SchemaStatements
Adds a new column to the named table.