私の質問は、SQLiteデータ構造体のカラムの追加、削除、名前の変更、タイプ変更の便利な方法を見つけることです。 、私はRoRの移行ガイドで説明する手順に従った、これまでのところ私は必要なので、すべての時間をruby on railsテーブルにカラムを追加する最良の方法
<%= form_for(@Product, :html => {:name => "product_name", :id => "product_id"}) do |form| %>
<div class="field">
<%= form.flag "Input 1" %>
<%= form.text_field :Input_1 %>
<%= form.flag "Input 2" %>
<%= form.text_field :Input_2 %>
..., etc.
</div>
<% end %>
:
私は(簡体字)以下のような複数の入力テキストフィールドを持っているのRuby on Railsのフォームを持っています新しいテキストフィールドを追加し、入力nが、私はこのrails generate migration AddInputToProducts Input_n:string
のように、それの移行を生成し、私は、マイグレーションを実行したと言う
rake db:migrate
この手順の問題点は、マイグレーションが生成されて実行されると、マイレージに使用した正確な名前(この例ではInput_n)のトレースがなくなり、それを永遠にそこにとどめてください。その結果、私のテーブルには複数のエントリがあり、使用すると思って作成しましたが、実際にはそれらのテーブルは必要ありません。正確な名前は記憶されていません。削除、再利用、名前変更、タイプを変更してください。
私の質問は2つあり:
- はガイドで説明したようにマイグレーションを実行するよりもより実用的になり、既存のテーブルに列を追加するために、より良く、より便利な方法はありますか?
- データ構造内の既存の列のタイプを一覧表示、削除、名前変更、または変更するにはどうすればよいですか?
これらの列に適切な名前を付けるのはどうでしょうか?また、マイグレーションは元に戻すことができます。彼らは 'down'メソッドを持っています。 –
@ NiklasB。既にコミットされている場合を除いて、新しい(逆の)移行を作成する必要があります。 –
@Andrew:はい、私はそれについて考えませんでした。 –