SQL-журнал

Обсуждение возникших проблем, предложений и ошибок dbForge для MySQL
Закрыто
KiTE
Сообщения: 13
Зарегистрирован: Вт 04 янв 2011 20:04

SQL-журнал

Сообщение KiTE » Чт 19 май 2011 14:06

Доброго времени суток!

В 4-й версии студии, когда я корректировал структуру таблиц с помощью редактора, в SQL-журнал выводились SQL-запросы проделанных изменений. Это удобная функциональность, когда нужно делать патчи для баз данных.
В 5-й версии в SQL-журнал ничего не пишется.

Подскажите, пожалуйста, как настроить вывод в SQL-журнал.

.jp
Devart Team
Сообщения: 374
Зарегистрирован: Ср 09 сен 2009 07:54
Откуда: devart
Контактная информация:

Сообщение .jp » Чт 19 май 2011 14:56

Установите опцию "Писать запросы, посылаемые программой, в SQL журнал" (Сервис -> Параметры -> Среда -> Окно вывода).

KiTE
Сообщения: 13
Зарегистрирован: Вт 04 янв 2011 20:04

Сообщение KiTE » Чт 19 май 2011 15:00

Получилось, большое спасибо!

JayDi
Сообщения: 61
Зарегистрирован: Пт 28 ноя 2008 18:29
Откуда: Россия, г.Сызрань
Контактная информация:

Сообщение JayDi » Чт 19 май 2011 20:38

Для создания патчей на базы данных идеально подходит инструмент "Новое сравнение схем". Он быстро проанализирует и сгенерирует скрипт для обновления. Очень удобно.

KiTE
Сообщения: 13
Зарегистрирован: Вт 04 янв 2011 20:04

Сообщение KiTE » Пт 20 май 2011 13:19

Да, это тоже вариант.
Но, иногда, нужно обновлять не только структуру, а и сами данные. Причем, в строго определенной последовательности. Мне проще готовить патч локально по ходу разработки, а потом уже применять его к рабочим базам.

.jp
Devart Team
Сообщения: 374
Зарегистрирован: Ср 09 сен 2009 07:54
Откуда: devart
Контактная информация:

Сообщение .jp » Пт 20 май 2011 13:25

KiTE писал(а):...Но, иногда, нужно обновлять не только структуру, а и сами данные. Причем, в строго определенной последовательности.
Тогда используете связку: сравнение схем + сравнение данных. Эти инструменты в наличии в студии.
Кстати, зависимости объектов в скрипте для сравнения схем также учтены.

geckoneer
Сообщения: 3
Зарегистрирован: Сб 28 май 2011 12:38

Сообщение geckoneer » Сб 28 май 2011 12:46

На самом деле в журнал в версиях 4.х в журнал выводились только команды, которые реально что-то изменяли. Сейчас же, если включить журнал, то выводятся все подряд, включая SHOW CREATE TABLE, SHOW COLUMNS и прочие SELECT.

Хотелось бы настройку, чтобы в журнал писались только запросы на изменение, как это было в версиях 4.х.

Уж очень удобно и быстро было делать патчи из этого журнала. Сейчас же надо откидывать "шелуху".

.jp
Devart Team
Сообщения: 374
Зарегистрирован: Ср 09 сен 2009 07:54
Откуда: devart
Контактная информация:

Сообщение .jp » Пн 30 май 2011 08:09

На самом деле в журнал в версиях 4.х в журнал выводились только команды, которые реально что-то изменяли. Сейчас же, если включить журнал, то выводятся все подряд, включая SHOW CREATE TABLE, SHOW COLUMNS и прочие SELECT.

Хотелось бы настройку, чтобы в журнал писались только запросы на изменение, как это было в версиях 4.х.

Уж очень удобно и быстро было делать патчи из этого журнала. Сейчас же надо откидывать "шелуху".
Так и есть. В пятой версии применен новый компонент "Database Monitor". При включении опции он отображает ВСЕ запросы, посылаемые программой, в SQL журнал. Опция и имеет соответствующее название.

KiTE
Сообщения: 13
Зарегистрирован: Вт 04 янв 2011 20:04

Сообщение KiTE » Пн 30 май 2011 08:32

.jp писал(а):В пятой версии применен новый компонент "Database Monitor". При включении опции он отображает ВСЕ запросы, посылаемые программой, в SQL журнал. Опция и имеет соответствующее название.
Это радует. Теперь можно вести журнал ручного изменения данных в таблицах. Единственное, что неудобно, запросы изменения данных генерируются с плейсхолдерами. Например:

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

UPDATE `spider`.`sources` SET `title` = :p1 WHERE ((`id` = :p2))
Параметры: 
	p1: Тестовая запись 2
	p2: 9
Удобнее было бы если плейсхолдеры зашивались бы в сам запрос. Например:

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

UPDATE `spider`.`sources` SET `title` = 'Тестовая запись 2' WHERE ((`id` = 9));
Чтобы, в случае чего, использовать запрос без предварительной обработки.

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

Сообщение AlexZ » Пн 30 май 2011 11:18

KiTE писал(а):Удобнее было бы если плейсхолдеры зашивались бы в сам запрос. Например:

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

UPDATE `spider`.`sources` SET `title` = 'Тестовая запись 2' WHERE ((`id` = 9));
Чтобы, в случае чего, использовать запрос без предварительной обработки.
Мы добавили Ваше предложение в наш план разработки будущих версий.

geckoneer
Сообщения: 3
Зарегистрирован: Сб 28 май 2011 12:38

Сообщение geckoneer » Чт 23 июн 2011 14:21

.jp писал(а):
На самом деле в журнал в версиях 4.х в журнал выводились только команды, которые реально что-то изменяли. Сейчас же, если включить журнал, то выводятся все подряд, включая SHOW CREATE TABLE, SHOW COLUMNS и прочие SELECT.

Хотелось бы настройку, чтобы в журнал писались только запросы на изменение, как это было в версиях 4.х.

Уж очень удобно и быстро было делать патчи из этого журнала. Сейчас же надо откидывать "шелуху".
Так и есть. В пятой версии применен новый компонент "Database Monitor". При включении опции он отображает ВСЕ запросы, посылаемые программой, в SQL журнал. Опция и имеет соответствующее название.
С моей точки зрения, это как минимум изменение привычного функционала, т.к. невозможно настроить "Database Monitor" отображать только запросы DDL и запросы на изменение данных.

Duke
Devart Team
Сообщения: 93
Зарегистрирован: Пт 03 окт 2008 11:10
Контактная информация:

Сообщение Duke » Чт 30 июн 2011 15:56

geckoneer писал(а):С моей точки зрения, это как минимум изменение привычного функционала, т.к. невозможно настроить "Database Monitor" отображать только запросы DDL и запросы на изменение данных.
Да, мы пошли на изменение существующего функционала по той причине, что в его прошлой реализации было невозможно логировать запросы, посылаемые при редактировании данных в гриде.

geckoneer
Сообщения: 3
Зарегистрирован: Сб 28 май 2011 12:38

Сообщение geckoneer » Чт 30 июн 2011 16:18

Да, мы пошли на изменение существующего функционала по той причине, что в его прошлой реализации было невозможно логировать запросы, посылаемые при редактировании данных в гриде.
Было бы хорошо, если бы можно было отфильтровать хотя бы SELECT и SHOW запросы из общего потока... Это бы частично вернуло привычный журнал, который был так удобен как основа для инкрементальных скриптов по изменению схемы базы данных. Да, есть инструмент по сравнению схем, но он очень громоздкий, если надо, например, переопределить поле из NOT NULL в NULL.

Duke
Devart Team
Сообщения: 93
Зарегистрирован: Пт 03 окт 2008 11:10
Контактная информация:

Сообщение Duke » Пт 01 июл 2011 09:22

В целом, лог запросов оправдывает свое название. Он отображает запросы, посылаемые программой.

Посмотреть последнюю модификацию таблицы и сейчас можно в логе без особых проблем. Но мы не предусмотривали того, что пользователь будет накапливать в логе запросы на модификацию базы данных, чтобы потом сделать скрипт.

Для этого планировалось использование инструмента сравнения схем. С его помощь можно за несколько кликов получить скрипт обновления базы. Не такой он и громоздкий.

Закрыто