我们有一个正在运行的脚本,它从我们的 AS400 中提取信息并将数据插入到我们的数据库中。
在我们的管理控制面板中,我们有一些覆盖复选框。这些框在选中时会在产品表中设置为“1”。这允许我们覆盖被发送的数据,无论它被检查多久:
# check for WEBDB name override flag
if webdb_itm['override_name_and_description'] == '1'
as400_itm[product_map['name']] = webdb_itm['name']
as400_itm[product_map['description']] = webdb_itm['description']
end
# check for WEBDB price sheet sub category override flag
if webdb_itm['override_category'] == '1'
as400_itm[product_map['ps_sub_category_id']] = webdb_itm['ps_sub_category_id']
end
# check for WEBDB as400 sub category override flag
if webdb_itm['override_as_sub_category'] == '1'
as400_itm[product_map['as_sub_category_id']] = webdb_itm['as_sub_category_id']
end
这是一个 SQL 转储,因此您可以看到数据库中的数据是相同的:
override_category tinyint(1) DEFAULT NULL,
override_as_sub_category tinyint(1) DEFAULT NULL,
override_name_and_description tinyint(1) DEFAULT NULL,
这是三个复选框,您可以看到它们都在查看覆盖是否为“1”。
底部的两个复选框可以正常工作,但顶部的复选框不能正常工作。如果选中了顶部并且运行了脚本,它将在不应该时填充来自 AS400 的数据。底部的两个工作正常,当检查时,它们只是忽略数据。
我检查了数据库并看到了1,1,1
,所以一切似乎都很好。
关于我没有看到的任何想法?