2012-01-27 8 views
3

私は最近Railsの移行を使用して:title列を追加しました:Railsアプリケーションのデータベースに列の順序を並べる方法は?

class AddTitleToMicroposts < ActiveRecord::Migration 
    def change 
    add_column :microposts, :title, :string 
    end 
end 

私はuser.microposts行うときに、それが最後に表示されていることに気づい:コンソールでを:

=> [#<Micropost id: 1, content: "test", user_id: 1, created_at: "2012-01-25 15:34:30", updated_at: "2012-01-25 15:34:30", title: nil>] 

がいずれかがありますタイトル列の順序を整える方法は?いいえ、:content列の直前に置いておきますか?

答えて

-3

はスキーマでそれらを並べ替えとすくいデシベル行うがあります:スキーマを:負荷

+1

本番環境での並べ替えにはうまくいかず、次回の移行時に元に戻すことになります。だからこそトップに「このファイルを編集するのではなく、移行機能を使用してください...」と書かれています。 –

+0

@NathanLongは「プロダクションでは機能しません」と言いますと、あなたはドロップアンドリあなたのすべてのデータをすべてのテーブルワイピング。幸いにも私は私のローカル環境でこれを行い、生産に進む前にチェックしました... – notaceo

+0

それは可逆でなければならず、移行スクリプト – Lex

15

列を挿入する:afterオプション(残念ながらなし:beforeオプション)

class AddTitleToMicroposts < ActiveRecord::Migration 
    def change 
    add_column :microposts, :title, :string, :after => :content 
    end 
end 
+0

は、これは以前よりも良い答えです1つは、移行が実行されたときにリセットされるためです。 – Ameen

+2

AFAIK:MySQLと比較するとPostgreSQL DBでは動作しません – loybert

関連する問題