Я мигрируют из MySQL в Postgres, используя mysqldump
и psql
и получаю эту ошибку:Импорт метки из MySQL в Postgres
ERROR: date/time field value out of range: "0000-00-00 00:00:00" at character 52 STATEMENT: INSERT INTO "cron" VALUES (1,'2015-07-11 05:21:40','0000-00-00 00:00:00',2,58,'updateBid','plus',NULL,NULL),(2,'2015-07-11 05:21:40','0000-00-00
В таблице MySQL выглядит
CREATE TABLE "cron" (
"id" int(11) NOT NULL,
"execute_after" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
"executed_at" timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
Таблица Postgres выглядит это:
CREATE TABLE "cron" (
"id" int NOT NULL,
"execute_after" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
"executed_at" timestamp,
Как я могу автоматически импортировать это поле?
Я полагаю, (из-за того, что 'executed_at' обнуляемым в Postgres, но не в MySQL), что вы хотите для таких нулевых значений, чтобы стать' NULL' в Postgres? Если это так, вы можете либо искать, либо заменять в файле '.sql'; или сначала обновить данные в MySQL перед экспортом (возможно, путем копирования данных во временную таблицу, если вы не хотите изменять оригинал). – eggyal