Кавычки для идентификаторов

Обсуждение возникших проблем, предложений и ошибок dbForge для MySQL
Закрыто
Mastermind
Сообщения: 29
Зарегистрирован: Чт 23 апр 2009 07:26

Кавычки для идентификаторов

Сообщение Mastermind » Чт 23 апр 2009 08:13

Здравствуйте.

Своё знакомство с продуктами данной фирмы начал с MySQL ПО с версии 3.50 Beta, подключился уже к исходной базе, попробовал поработать, сделать бэкапы/загрузки. Всё бы хорошо (спасибо за функциональный и удобный иструмент для работы с БД!), но в одном случае столкнулся с проблемами.
Сгенерированный текст запроса почти что не содержит обратных MySQL кавычек (``), и мне пока что не удалось понять, как именно они самой программой расставляются (вроде как должны "экранироваться" зарезервированные слова, но это правило часто не выполняется, если посмотреть текст DDL). В результате уже на имеющихся данных, особенно при работе с "внешними ключами" в InnoDB, в окне вывода вижу ошибки о неправильном синтаксисе SQL запроса, как раз в том месте, где стоит идентификатор таблицы/колонки, чьё название совпадает с зарезервированным словом. Экспортировать схему в SQL файл удаётся, а вот загрузить обратно, ввиду наличия таких ситуаций в скрипте файла, уже не получается.
Я, конечно, понимаю, что лучше стараться избегать таких идентификаторов, но это уже имеющаяся база, и исправить в ней (и в самом клиентском ПО, которое работает с этой базой) подобные случаи не так просто. При работе через стандартный MySQL Query Browser такой проблемы не было, ибо там можно было самостоятельно расставлять кавычки у идентификаторов (если такое требовалось при вводе запроса в ручном режиме), да и сама та программа по умолчанию сразу все идентификаторы обрамляла кавычками во избежание подобных вещей.
Излазил все настройки dbForge Studio, генерацию DDL и форматирование запросов, нигде не нашёл такой опции.

Хотел бы узнать, возможно ли как-то устранить данную проблему в этой версии программы? Если же нет, то хотел бы предложить добавить такую опцию в параметры, которая бы позволяла всегда заключать все идентификаторы в обратные кавычки (может быть можно было в эту опцию ещё добавить и ANSI кавычки "").
Спасибо.

AlexZ
Devart Team
Сообщения: 146
Зарегистрирован: Пн 20 окт 2008 14:59
Контактная информация:

Сообщение AlexZ » Чт 23 апр 2009 09:17

Спасибо Вам за хорошие слова о нашем продукте..
Что касается кавычек в идентификаторах, то наше приложение расставляет их автоматически только в тех местах, где это нужно. Т.е., например, в случае невалидного идентификатора, как в вашем примере, при совпадении его имени с резервированным словом.
На счет внешних ключей.. Да, действительно, у нас была такая проблема. Мы уже исправили её. Исправление будет включено в релизный билд dbForge Studio for MySQL v3.50.
Последний раз редактировалось AlexZ Чт 23 апр 2009 09:49, всего редактировалось 1 раз.

Mastermind
Сообщения: 29
Зарегистрирован: Чт 23 апр 2009 07:26

Сообщение Mastermind » Чт 23 апр 2009 09:31

Понял, буду ждать с нетерпением выхода релиза данной версии. Очень бы хотелось сменить стандартные утилиты на более удобные и функциональные. Чем больше сейчас разбираюсь с Forge Studio, тем больше новых полезных в работе функций нахожу. Огромное спасибо за ваше ПО! Ещё пока не встречал ничего лучше для работы с MySQL сервером.

AlexZ
Devart Team
Сообщения: 146
Зарегистрирован: Пн 20 окт 2008 14:59
Контактная информация:

Сообщение AlexZ » Пн 27 апр 2009 08:47

Новая версия уже доступна для скачивания по ссылке http://www.devart.com/ru/dbforge/mysql/ ... nload.html
Можете скачать и проверить исправление описанной Вами проблемы.

Закрыто