postgres中的默认值/修饰符?

时间:2009-10-14 21:58:26

标签: postgresql character modifier varying

我对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 |

在控制台上没有作为默认值我得到

um = UserMail.new =&GT; #UserMail id:nil,title:“'':: character varying”,地点: “''::字符变化”,消息:nil,created_at:nil,updated_at:nil

是否有人知道我如何删除这些修饰符并仅保留''或任何默认值而不使用:: ::字符变化?

1 个答案:

答案 0 :(得分:1)

没有办法做到这一点。除了审美之外,还不清楚你为什么要这么做。