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