Django/MySQl как исправить База данных вернула недопустимое значение времени. Установлены ли определения часовых поясов для вашей базы данных?

Что случилось

После переноса моего приложения Django, которое работало как ожидалось, с VPS на виртуальный хостинг с Cpanel Я изменил базу данных с PostgresSQL на MySQL, всякий раз, когда я открываю объект, который имеет поле created_at, которое является Datetime Field, я получаю эту ошибку.

Ошибка

Database returned an invalid datetime value. Are time zone definitions for your database installed?

Что я пробовал

После некоторых поисков я обнаружил, что это можно исправить, выполнив эту команду в terminal

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

Эта команда должна заполнить таблицы Timezone в моей базе данных.

Проблема

Я не могу запустить комментарий, упомянутый выше, так как я использую Cpanel виртуальный хостинг и очень ограничен в выборе и командах, которые я могу запустить, используя terminal. поэтому я попытался запустить его, я получил эту ошибку

enter image description here

Что мне нужно

Я думаю, что решение сейчас заключается в том, чтобы найти способ заполнить таблицы временных зон в базе данных Mysql, используя только PhpMyAdmin и не используя terminal

Интересно, что эта ошибка рассматривается в документации Django,

Я получаю ошибку "Установлены ли определения часовых поясов для вашей базы данных?"

Если вы используете MySQL, смотрите раздел Определения часовых поясов в примечаниях к MySQL для получения инструкций по загрузке определений часовых поясов.

Когда мы проверяем внутри определений часовых поясов, мы читаем

Если вы планируете использовать поддержку временных зон timezone в Django, используйте mysql_tzinfo_to_sql для загрузки таблиц временных зон в базу данных MySQL. Это нужно сделать только один раз для вашего сервера MySQL, а не для каждой базы данных.

Зная, что OP может запустить это, я бы связался с хостинг-провайдером, чтобы сделать это.

Вернуться на верх