gpt4 book ai didi

mysql - 如何捕获 Rails 中超出范围的特定列?

转载 作者:行者123 更新时间:2023-11-29 22:35:09 25 4
gpt4 key购买 nike

假设我在名为 SampleModel 的 Rails 模型上有一个整数列 sample_column。我正在从外部源获取数据,并且使用 create! 方法创建许多新的 SampleModel 行,并将所有列作为create! 的哈希参数。有时,sample_column 太大(超出范围),MySQL 会抛出错误,但它会阻止保存整行。我想做的只是不将该 sample_column 写入数据库,以便它可以正常保存。

有什么办法可以做到这一点吗?请记住,我不知 Prop 体哪一列会提前超出范围,因为数据是不可预测的。所以我想捕获所有内容,如果无法写入则忽略该列。

最佳答案

如果大小是导致模型损坏的问题,并且如果您确定此特定列是导致模型损坏的唯一原因,那么我建议您使用救援,我建议将列类型更改为 bigint

begin
SomeModel.create!(...., sample_column: hash[:sample_column])
rescue
Somemodel.create!(....)
end

关于mysql - 如何捕获 Rails 中超出范围的特定列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29572472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com