0

postgres 8.4 のデフォルト修飾子に問題があります。(バージョンは重要ではないと思います)私はdebian ubuntuを持っています。Rails AR で移行を作成する場合:

    class CreateUserMails < ActiveRecord::Migration
  def self.up
    create_table :user_mails do |t|
      t.string :title, :limit=> 128, :default=> ''
      t.string :place, :limit=> 32, :default=> ''
      t.text :message
      t.timestamps
    end
  end

  def self.down
    drop_table :user_mails
  end
end

postgres では、次のようになります。

    Column    |            Type             |                        Modifiers
--------------+-----------------------------+---------------------------------------------------------
 id           | integer                     | not null default nextval('user_mails_id_seq'::regclass)
 title        | character varying(128)      | default ''::character varying
 place        | character varying(32)       | default ''::character varying
 message      | text                        |
 created_at   | timestamp without time zone |
 updated_at   | timestamp without time zone |

デフォルト値としてコンソールに no

um = UserMail.new => #UserMail id: なし、タイトル: "''::文字が異なる"、場所: "''::文字が異なる"、メッセージ: なし、created_at: なし、updated_at: なし

これらの修飾子を削除して '' またはデフォルト値のみを残す方法を知っている人はいますか:::文字が変化しますか?

4

1 に答える 1

1

それを行う方法はありません。美学以外に、なぜそうしたいのかは明らかではありません。

于 2009-10-14T23:02:57.367 に答える