1

Postgres で Rails アプリケーションを開発しています。私が経験してきた問題の 1 つは、空のテキスト ('') をテキスト列の値に割り当てようとしたときです。割り当てたいテキストが文字通りテキスト値として2つの一重引用符であることのみを認識します。

私のテーブルスキーマ:

   create_table :products do |t|
      t.integer :seq
      t.string :title
      t.text :description
      t.timestamps
    end

私の問題のある移行:

Product.create({:seq => 1, :title => 'green_cos', :description => ''})

結果のレコードは次のとおりです。

ここに画像の説明を入力

適切な空の文字列を割り当てるために何をすべきかについてのアドバイスはありますか? または、代わりに nil 値を割り当てることを期待しています。空と nil のテキストの処理方法は、他のデータベースとは異なりますか? 以前にSQL Serverで言及したことを問題なく使用しました。

4

1 に答える 1

2

問題はない。引用符は値の一部ではありません。つまり、DB には保存されません。これらは、文字列値を指定するために ruby​​ でのみ使用されます (実際の値は引用符で囲まれています)。pgAdmin は、空の文字列を NULL 値と区別するために、空の文字列に対してたまたま '' を表示します。NULL 値は pgAdmin で空のセルとして表示されます。空の文字列も空のセルになると混乱します。

于 2012-09-23T06:59:40.590 に答える