使用 String 类型存储名字的字符串,当前段输入值过长时会导致 MySQL 出错,应用出现 FATAL 并报错“ActiveRecord::StatementInvalid (Mysql2::Error: Data too long for column。。。” 。
这个问题可以在前段或者后端 rails 代码添加对 name 等字段的长度限制,但是应用中这种字段比较多,如果每一个都添加一个限制的话比较麻烦。
求教有没有什么方法可以让 ActiveRecord 不要抛异常,而是 rollback,并在 Errors 里面添加相关提示?
补充:由于开发环境和线上环境数据库不同,经常在本地开发环境一切 OK,但是线上测试无法通过的问题,比如:MySQL 和 Sqlite3 在检测字符串唯一性是对大小写是否敏感的处理方式就不一样。想问下大神,除了开发和线上使用同一数据库,有没有什么方法可以解决这种问题?