mysqlpump генерирует некорректные запросы на создание представления

0

Я использую mysqlpump для резервного копирования базы данных:

mysqlpump --single-transaction --add-drop-database --skip-definer --databases mydatabase --result-file/opt/myservice/backup/export.sql

Моя БД содержит несколько представлений, и часть из них экспортируется с абсолютно неправильными SELECT в запросах CREATE VIEW, таких как:

CREATE VIEW 'careerpulse-staging'.'user_view' AS SELECT
 1 AS 'id',
 1 AS 'name',
 1 AS 'department',
 1 AS 'manager_id'
;

Почему это происходит и как я могу это исправить?

Версия MySQL - 5,7

  • 0
    Может быть ошибка в программном обеспечении? Трудно сказать без реального кода представления. Кстати, вы также пробовали его без опции --single-transaction --skip-definer en или --skip-definer чтобы увидеть, что программа экспортирует тогда?
Теги:

1 ответ

0

Это ожидаемое поведение, а не ошибка. Просмотрите полный файл дампа.

Невозможно создать представления, ссылающиеся на другие представления или таблицы, если эти другие представления или таблицы уже не существуют.

Чтобы устранить потенциальные круговые зависимости, фиктивные представления создаются в первом проходе, и после того, как все представления и таблицы были созданы, эти фиктивные представления удаляются, а реальные представления создаются со второго прохода.

Правильные определения определений должны быть найдены около конца файла дампа.

  • 0
    Это точно полный файл дампа, который я смотрю. Некоторые представления экспортируются правильно, с правильными определениями представления. Но некоторые из них были экспортированы ТОЛЬКО в виде фиктивных представлений, без каких-либо правильных определений.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню