Ken*_*ink 5 php mysql database laravel eloquent
我必须在现有(旧)数据库上构建 Laravel 应用程序。该数据库使用 0000-00-00 作为默认日期。我无法更改此设置,因为当前系统(也将保留)使用它来检查某些内容是否在无限时间内处于活动状态(例如:active_from0000-00-00 和active_till0000-00-00 表示它是始终处于活动状态)。
我想向现有表添加一列,因此我创建了一个迁移:add_columnname_to_tablename_table。up()在我做的函数中: $table->string('columnname'). 当我运行迁移时,我得到:
SQLSTATE[22007]:无效的日期时间格式:1292 不正确的日期时间值:第
active_from1 行的列的“0000-00-00 00:00:00”。
旧系统太大,无法对此进行任何更改——而且我也不被允许更改它。
有没有办法让 Laravel 接受 0000-00-00 作为有效日期(时间)?
这主要是 MySql 问题,因为较新版本的 MySql 禁用了零日期。此外,该NO_ZERO_DATE模式已被弃用(请参阅: https: //dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_no_zero_date)。为了解决这个问题,您可以将数据库中的所有零日期更改为 unix 纪元时间1970-01-01 00:00:00(这是我在升级 MySql 后必须对我的数据库所做的)。
| 归档时间: |
|
| 查看次数: |
9879 次 |
| 最近记录: |