在 Rails 应用程序中,列名、类型和默认值是直接从数据库中推断出来的。有没有办法从初始化或尝试保存时的数据库约束中推断验证?
这将允许更多的 DRYness,并确保所有数据都可以在到达数据库并获得异常之前进行软验证,因为验证将涵盖所有数据库约束。数据库的约束是使用时数据无效的权威信息来源。
或者,是否有可能ActiveRecord
从遇到数据库约束中进行救援,并表现得好像弱验证失败了?这意味着可以在外部操作数据库约束而无需重新启动或编辑 Rails 应用程序,性能将得到提高,因为唯一性验证不需要单独的查询,并且唯一性验证将不受竞争条件的影响。