0

こんにちは私は「リスト」と呼ばれるテーブルを持つRailsアプリを持っています。このテーブルには「city」という列があります。しかし、現在、列にはデータがなく、すべてがnullです。このテーブルのすべての行の列値に「使用不可」という文字列を追加します。どうやってやるの?

SQLを使用してDBに直接追加しようとしましたが、機能しませんでした。

したがって、これを実現するには、rails移行コマンドを使用する必要があると思います。しかし、正確なコマンドが見つかりません。私はそのようなものを知っています...

rails generate migration ??

誰かが私に手を差し伸べてもらえますか?

ありがとう

4

1 に答える 1

2

Railsで実際にこれを行う方法を説明する前に、この種のプレゼンテーションロジックをデータベーススキーマにハードコーディングすることを検討してください。これはモデルレベルで行うことができ、このフィールドのアクセサーを上書きするだけです。

def city
  read_attribute("city") || "Not Available"
end

この情報をデータベースに入れると、問題が発生する可能性があります。たとえば、どの行にデフォルト値が設定されているかをすばやく判断することはできなくなりますcity

これを実行することにした場合は、移行時に次を追加します。

change_column :listings, :city, :default => "Not Available"
于 2012-04-21T16:09:23.920 に答える