gpt4 book ai didi

mysql - Active Record 和迁移格式错误的日期

转载 作者:行者123 更新时间:2023-11-29 14:20:56 25 4
gpt4 key购买 nike

我有一个在 CakePHP 和 MySQL 上运行的旧数据库,该数据库正在迁移到具有截然不同结构的 Postgres 数据库上的新 Rails 应用程序。我有一小部分迁移让我感到不舒服,我希望这里有人能给我指出正确的方向。

本质上,日期列(MySQL 类型 Date)包含格式错误的日期。大多数格式错误的日期都是 '2012-08-00' 形式,MySQL2 适配器会因这些日期而卡住(因为显然 00 不是该月的有效日期)。如果我可以将它们放入模型中,我就可以进行必要的转换,将它们变成更完整的新格式。即使将它们作为字符串从数据库中取出就足够了,我可以通过这种方式进行必要的操作。

我收到以下错误:

Mysql2::错误:无效日期:2011-12-00

每当我尝试从系统中选择无效日期之一时。表中有 3800 行,我估计大约有一半的行,因此尝试手动检查和修改它们将花费大量时间(但不是过度,如果这是需要完成的方式)。

如有任何建议,我们将不胜感激!

最佳答案

类似的东西应该可以工作(未经测试):

update [table] set [field] = DATE_ADD([field],INTERVAL 1 day) where day([field]) = '0'

关于mysql - Active Record 和迁移格式错误的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11767538/

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