【问题标题】:Add NOT NULL column with default value as empty string in Rails在 Rails 中添加具有默认值的 NOT NULL 列作为空字符串
【发布时间】:2013-03-05 10:36:31
【问题描述】:

我是 Ruby on Rails 的新手,正在努力实现这一目标:

我想添加一个字符串列,它不是 NULL 并保存默认值 ''。

这是我的迁移:

add_column :campaigns, :from_name, :string, limit: 100, :null => false, :defualt => ''

此迁移工作正常,但当我在 pgAdmin (PostgresQL) 中看到表时,我看到列已创建但没有默认值:

from_name character varying(100) NOT NULL,

我使用 pgAdmin 尝试了同样的事情,我可以创建

from_name character varying(100) NOT NULL DEFAULT ''::character varying,

这里有什么问题??

【问题讨论】:

  • 您的迁移中有错字“:defualt”。所以除非那是一个复制错误,否则我建议这是你的问题。
  • 天哪!在这上面花了 2 小时我觉得很愚蠢:( 非常感谢@MikeCampbell
  • @MikeCampbell 只是想知道为什么它没有给出任何错误/警告?
  • @Pramodtech Rails 忽略传递给迁移的任意命名参数。
  • 嘿,别担心,我们都做到了。是的,@tamizhgeek 是对的。

标签: mysql ruby-on-rails postgresql


【解决方案1】:

您输入的似乎是:defualt 而不是 default

尝试解决这个问题。

【讨论】:

    猜你喜欢
    • 2011-03-11
    • 2018-01-25
    • 2014-11-19
    • 2012-04-08
    • 2018-10-22
    • 2015-11-30
    • 2013-04-15
    • 2012-11-28
    • 1970-01-01
    相关资源
    最近更新 更多