ruby-on-rails:使用postgres数据库进行文本数据类型迁移

时间:2012-09-23 06:51:31

标签: ruby-on-rails postgresql activerecord

我正在Postgres上开发rails应用程序。 我遇到的一个问题是当我尝试将空文本('')分配给文本列值时。它只识别我要分配的文本是两个单引号作为文本值。

我的表架构:

   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 => ''})

以下是结果记录:

enter image description here

有关如何获取正确的空字符串应该做什么的任何建议? 或者它希望我指定一个零值。处理空和零文本的方式与其他数据库有何不同?我之前使用过我在SQL Server中提到的内容没有任何问题。

1 个答案:

答案 0 :(得分:2)

没有问题。引号不是值的一部分,换句话说它们不存储在DB中。它们仅在ruby中用于指定字符串值(实际值在引号之间)。 pgAdmin碰巧显示''表示空字符串,以区分空字符串和NULL值。 NULL值在pgAdmin中显示为空单元格如果空字符串也导致空单元格,则会出现混淆。