カラムの順番について。

細かいことが気になるシリーズ。
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.

タイトルとURLをコピーしました