rails4 mysql2_ruby-on-rails – Rails 4迁移:Mysql2 ::错误:列’xxxx’的数据太长

这是我的schema.rb

create_table "users", force: true do |t|

t.string "name", limit: 6

t.string "email"

t.datetime "created_at"

t.datetime "updated_at"

end

我为“name”列设置了字符串限制.

然后,在控制台中:

user = User.new(name:"1234567890",email:"username@gmail.com")

user.save!

它引发了错误:

ActiveRecord::StatementInvalid: Mysql2::Error: Data too long for column 'name' at row 1: INSERT INTO `users` (`created_at`, `email`, `name`, `updated_at`) VALUES ('2014-06-19 15:08:15', 'username@gmail.com', '1234567890', '2014-06-19 15:08:15')

但是,当我切换到rails 3时.

我发现它自动截断了字符串“1234567890”,并将“123456”插入数据库而没有错误.

在轨道4中有什么关于这个被删除了吗?

我应该自己在模型中添加一些截断函数吗?谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值