You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
DateTime::__construct(): Failed to parse time string (to_date('01.01.9999') at position 0 (t): The timezone could not be found in the database
/var/www/api.is74.ru/vendor/tigrov/yii2-pgsql/src/ColumnSchema.php in __construct at line 135
...
return json_decode($value, true);
case Schema::TYPE_TIMESTAMP:
case Schema::TYPE_TIME:
case Schema::TYPE_DATE:
case Schema::TYPE_DATETIME:
/* Тут стоит перехватывать исключения, потому что выражения бывают несколько сложнее, чем просто текущее время.
Бывает дата прописана, бывает прописывается текущее время со сдвигом вперед.
В случае если не удалось разобрать строку, то вернуть NULL.
I think here need to add try-catch. Parser can't parse some expressions and we have an exception. But we can catch exception and set NULL value for column in this case. Now we need change default value in database although this is valid expression for database.
*/
return new \DateTime($value);
case Schema::TYPE_COMPOSITE:
return $this->phpTypecastComposite($value);
}
return $this->typecast($value);
The text was updated successfully, but these errors were encountered:
Версия старая была - 5.6. Но есть подозрение, что с версией не связано, т.к. синтаксис записи дат в постгресе и php несколько отличается.
В настоящее время обновились до 8.1, но проблему воспроизвести не получается, т.к. нет таких полей - убрали все такие дефолтные значения. Можно будет попытаться искусственно их снова создать, будет время - попробую. Но мне кажется стоило бы в любом случае сделать перехват исключения, т.к. дефолтные выражения могут быть любыми и что-то однозначно не будет переведено в нативную дату пхп.
В любом случае спасибо за реакцию.
DateTime::__construct(): Failed to parse time string (to_date('01.01.9999') at position 0 (t): The timezone could not be found in the database
/var/www/api.is74.ru/vendor/tigrov/yii2-pgsql/src/ColumnSchema.php in __construct at line 135
...
return json_decode($value, true);
case Schema::TYPE_TIMESTAMP:
case Schema::TYPE_TIME:
case Schema::TYPE_DATE:
case Schema::TYPE_DATETIME:
/* Тут стоит перехватывать исключения, потому что выражения бывают несколько сложнее, чем просто текущее время.
Бывает дата прописана, бывает прописывается текущее время со сдвигом вперед.
В случае если не удалось разобрать строку, то вернуть NULL.
I think here need to add try-catch. Parser can't parse some expressions and we have an exception. But we can catch exception and set NULL value for column in this case. Now we need change default value in database although this is valid expression for database.
*/
return new \DateTime($value);
case Schema::TYPE_COMPOSITE:
return $this->phpTypecastComposite($value);
}
return $this->typecast($value);
The text was updated successfully, but these errors were encountered: