Mysql 在Rails中添加默认值为空字符串的NOTNULL列

Mysql 在Rails中添加默认值为空字符串的NOTNULL列,mysql,ruby-on-rails,postgresql,Mysql,Ruby On Rails,Postgresql,我是Ruby on Rails的新手,正在尝试实现以下目标: 我想添加一个字符串列,该列不为NULL,并保存默认值“” 以下是我的迁移: add_column :campaigns, :from_name, :string, limit: 100, :null => false, :defualt => '' 此迁移工作正常,但当我在pgAdmin(PostgresQL)中看到表时,我看到创建的列,但没有默认值: from_name character varying(100) N

我是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,

这里出了什么问题?

看起来您键入了:default而不是default


尝试修复此问题。

您的迁移中有一个输入错误,“
:default
”。所以除非是拷贝错误,否则我建议这是你的问题。哦,上帝!在这上面花了两个小时,我觉得自己很愚蠢@MikeCampbell@MikeCampbell只是想知道为什么它没有给出任何错误/警告?@Pramodtech Rails会忽略传递给迁移的任意命名参数。嘿,不用担心,我们都做到了。是的,@tamizhgeek是对的。