我对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
是否有人知道我如何删除这些修饰符并仅保留''或任何默认值而不使用:: ::字符变化?
答案 0 :(得分:1)
没有办法做到这一点。除了审美之外,还不清楚你为什么要这么做。