Копирование ДБ

Обсуждение возникших проблем, предложений и ошибок dbForge для MySQL
SergeyW
Сообщения: 276
Зарегистрирован: Пн 03 фев 2014 11:54

Копирование ДБ

Сообщение SergeyW » Сб 17 мар 2018 09:52

При копированию БД появляются ошибки:
1.
Err1.png
Err1.png (4.84 КБ) 36313 просмотров
2. Отсутствует таблица, которая находиться в другой БД, а в этой БД сделано представление.
Со второй ошибкой - ок, справлюсь, а что делать с первой ошибкой?

Alexander

Re: Копирование ДБ

Сообщение Alexander » Пн 19 мар 2018 10:36

Мы исследуем данную проблему и свяжемся с Вами в ближайшее время.

Alexander

Re: Копирование ДБ

Сообщение Alexander » Пн 19 мар 2018 11:34

Не могли бы сообщить нам версии Source и Target серверов?

Также, пожалуйста, воспроизведите проблему и пришлите нам сгенерированный лог файл.

Также, Вы можете попробовать определить проблему по данному лог файлу.

Вы можете прислать ответ в нашу службу поддержки на supportATdevartDOTcom и alexaATdevartDOTcom .

SergeyW
Сообщения: 276
Зарегистрирован: Пн 03 фев 2014 11:54

Re: Копирование ДБ

Сообщение SergeyW » Пн 19 мар 2018 11:42

Версии серверов Source и Target одинаковые MariaDb 10.2.13
Ошибку постараюсь воспроизвести и передать детали на почту.

SergeyW
Сообщения: 276
Зарегистрирован: Пн 03 фев 2014 11:54

Re: Копирование ДБ

Сообщение SergeyW » Вс 25 мар 2018 06:30

Пример таблицы, которая дает ошибку при копировании БД:

Код: Выделить всё

CREATE TABLE test (
  test varchar(250) NOT NULL
)
ENGINE = CONNECT
TABLE_TYPE = CSV FILE_NAME = 'test.csv' HEADER = 1 SEP_CHAR = ',' QUOTED = 1
CHARACTER SET utf8
COLLATE utf8_unicode_ci
ROW_FORMAT = DYNAMIC;

SergeyW
Сообщения: 276
Зарегистрирован: Пн 03 фев 2014 11:54

Re: Копирование ДБ

Сообщение SergeyW » Вс 25 мар 2018 06:54

Таблица, которая давала первоначальную ошибку выглядит следующим образом:

Код: Выделить всё

CREATE TABLE test (
  Rows int(11) not NULL
);
MariaDB тоже дает ошибку. Таблица было сделана давно и под другую версию сервера.
Если ее изменить на

Код: Выделить всё

CREATE TABLE test (
  `Rows` int(11) not NULL
);
, то ошибки не будет.
Спасибо за помощь!
Последний раз редактировалось SergeyW Вс 25 мар 2018 07:03, всего редактировалось 1 раз.

SergeyW
Сообщения: 276
Зарегистрирован: Пн 03 фев 2014 11:54

Re: Копирование ДБ

Сообщение SergeyW » Вс 25 мар 2018 07:02

Но попутно выяснилось, что dbForge for MySQL не умеет работать с таблицами в которых в качестве имени столбца используется зарезервированное слово.

Код: Выделить всё

CREATE TABLE test (
  `Rows` int(11) not NULL
);
dbForge for MySQL убирает кавычки "`" и изменить, скопировать и т.д. такой объект в dbForge for MySQL уже не получиться. Поэтому проблема актуальна.

Alexander

Re: Копирование ДБ

Сообщение Alexander » Пн 26 мар 2018 10:51

Мы устраним данную проблему в следующей версии 7.4.

SergeyW
Сообщения: 276
Зарегистрирован: Пн 03 фев 2014 11:54

Re: Копирование ДБ

Сообщение SergeyW » Пн 26 мар 2018 11:00

Спасибо!
Две проблемы!?

Alexander

Re: Копирование ДБ

Сообщение Alexander » Пн 26 мар 2018 15:54

Бекап делается для одной базы. В случае наличия зависимостей необходимо копировать все связанные БД в нужном порядке.

SergeyW
Сообщения: 276
Зарегистрирован: Пн 03 фев 2014 11:54

Re: Копирование ДБ

Сообщение SergeyW » Пн 26 мар 2018 17:39

Не понял о каких зависимостях идет речь?
Я говорю о двух выявленных проблемных вопросах:
1. Не копируются присоединенные таблицы, например, "TABLE_TYPE = CSV".
2. Не копируются (не возможно изменить) таблицы у которых имена столбцов совпадают с зарезервированными словами, например, ROWS.

Alexander

Re: Копирование ДБ

Сообщение Alexander » Вт 27 мар 2018 09:49

1. Не копируются присоединенные таблицы, например, "TABLE_TYPE = CSV".
Наш ответ относился к ошибке, касательно представления на таблицу из другого сервера. dbForge такие зависимости не обрабатывает.

Теперь Вы пишете, что таблица ссылается на csv файл. Этот файл находится в директории сервера. dbForge копирует в данном случае DDL объекта.

Если Вы копируете базу в рамках одного инстанса сервера, то все будет работать, а если на другой сервер, то файл нужно вручную копировать. Файлы на сервере dbForge не копирует. Функциональность copy databases работает по принципу backup-restore.
2. Не копируются (не возможно изменить) таблицы у которых имена столбцов совпадают с зарезервированными словами, например, ROWS.
Мы устраним данную проблему в следующей версии 7.4.

SergeyW
Сообщения: 276
Зарегистрирован: Пн 03 фев 2014 11:54

Re: Копирование ДБ

Сообщение SergeyW » Вт 27 мар 2018 09:54

У меня такое впечатление, что мы друг друга не понимаем. Вы про Еремю, я про Фому.
Копирование файла не нужно! Его вообще может и не быть. Это совершенно не важно.
Важно, что подобные таблицы, где есть "... ENGINE = CONNECT TABLE_TYPE ..." дают ошибку при копировании БД!
Попробуйте у себя воспроизвести эту ошибку и, думаю, поймете в чем дело.

Alexander

Re: Копирование ДБ

Сообщение Alexander » Вт 27 мар 2018 11:22

Не могли бы Вы прислать нам скриншот данной ошибки?

SergeyW
Сообщения: 276
Зарегистрирован: Пн 03 фев 2014 11:54

Re: Копирование ДБ

Сообщение SergeyW » Вт 27 мар 2018 11:27

Конечно. Но странно, у Вас не получается ее воспроизвести?
Err.png
Err.png (2.33 КБ) 36263 просмотра

Закрыто