如何使用 MySql strict 实现 DbDongle::convertTimestamps 作为无效时间戳的解决方法

How to implement DbDongle::convertTimestamps as workaround of invalid timestamps with MySql strict

来自这里:https://octobercms.com/support/article/rn-4

想到这个问题:做所有最初用...制作的桌子吗

$table->timestamps();

...需要更新文章中所述的解决方案吗?

另外,我是否必须重新编写旧的迁移脚本才能使所有自定义时间戳列都可以为空?喜欢:

$table->timestamp('col_name')->nullable();

注意:使用文章中的新方法

DbDongle::convertTimestamps('users', ['created_at', 'updated_at', 'last_login']);

... 使该插件对较早的 10 月实例无效。这是一个巨大的缺点恕我直言。其他作者如何处理这个问题?

如果您想继续使用旧版本的 10 月:

  1. 忽略这些说明
  2. 'strict' => false 添加到您的数据库配置

如果您使用的是 10 月的最新版本 (Laravel LTS):

  1. 使用 ->timestamps() 的全新安装从一开始就可以为空
  2. 无需任何操作

如果您要从 10 月的旧版本升级到最新版本:

  1. 使用convertTimestamps方法给数据库打补丁