- Реверсхак SQL, asavah, 21:57 , 30-Янв-14 (1)
> Мужики, а есть ли в природе фильтр для SQL, который по запросам > на чтение > создаёт структуру базу и таблицы? > Например USE superdb заменить на IF NOT EXIST 'superdb' CREATE DATABASE superdb; > SELECT ля-ля-ля, ды-ды-ды FROM secrettable; > CREATE TABLE secrettable (ля-ля-ля, ды-ды-ды ); > ...и только потом отработать SELECT павлин отсыпь травы не жмись мелкомягкий sql2008 умеет IF (NOT EXIST (SELECT 100г FROM поллитра)) BEGIN наливай END ELSE BEGIN неси закусь END в мускуле такого нет, в постгре не помню
- Реверсхак SQL, pavlinux, 23:17 , 30-Янв-14 (2)
>[оверквотинг удален] > павлин отсыпь травы не жмись > мелкомягкий sql2008 умеет > IF (NOT EXIST (SELECT 100г FROM поллитра)) > BEGIN > наливай > END > ELSE > BEGIN > неси закусь > END И куда этот код сувать? --- Во, тока сцука интерактивное http://sqlfiddle.com
- Реверсхак SQL, ACCA, 01:28 , 31-Янв-14 (3)
> Мужики, а есть ли в природе фильтр для SQL, который по запросам > на чтение создаёт структуру базу и таблицы?В общем-то легко, только делай select не таблицы, а своей функции, которая проверит и насобачит что угодно. Другой вопрос - а нафига это нужно? Как отслеживать версии структуры таблицы - непонятно. Запихать в свою функцию deployment, version control, replicaiton и прочую функциональность можно, но как-то стыдно. Смотри в сторону Puppet и подобных, чтобы не выяснять, есть ли база, а иметь гарантию, что приложение запущено только после того, как - оно установлено - база создана - таблицы созданы - права розданы - версии приложения, базы и таблиц совпадают Только это всё равно геморно - слишком много дописывать руками. А Puppet - кривое уё*ще.
- Реверсхак SQL, pavlinux, 03:34 , 31-Янв-14 (4)
>> Мужики, а есть ли в природе фильтр для SQL, который по запросам >> на чтение создаёт структуру базу и таблицы? > В общем-то легко, только делай select не таблицы, а своей функции, которая > проверит и насобачит что угодно. Другой вопрос - а нафига это > нужно?Есть блоб, хочет базу, юзер/пароль отловил, структуру базы саипусь реконструировать. А чо удивительного? Обычный хак методом "Подсунь программе, что она просит"
- Реверсхак SQL, DeadLoco, 13:14 , 31-Янв-14 (6) +1
> Есть блоб, хочет базу, юзер/пароль отловил, структуру базы саипусь реконструировать.1. Все ли запросы к базе известны? 2. Нет ли среди запросов вызовов процедур? 3. Нет ли в запросах вызовов юзерских функций? 4. Достоверно ли известно отсутствие в базе триггеров и ивентов? Пробой по любому из пунктов делает задачу нерешаемой. Ну, то-есть, то, что можно сделать в таких условиях решением назвать не представляется возможным. - Реверсхак SQL, name, 15:29 , 31-Янв-14 (7)
>>> Мужики, а есть ли в природе фильтр для SQL, который по запросам >>> на чтение создаёт структуру базу и таблицы? >> В общем-то легко, только делай select не таблицы, а своей функции, которая >> проверит и насобачит что угодно. Другой вопрос - а нафига это >> нужно? > Есть блоб, хочет базу, юзер/пароль отловил, структуру базы саипусь реконструировать. > А чо удивительного? Обычный хак методом "Подсунь программе, что она просит" а выдрать запросы из исполняемого файла никак нельзя? поиск по файлу все строк с ключевыми словами select/insert/update/where
- Реверсхак SQL, ACCA, 00:44 , 01-Фев-14 (8)
> Есть блоб, хочет базу, юзер/пароль отловил, структуру базы саипусь реконструировать.Включи текстовый лог в SQL сервере, лови SELECT'ы каким-нибудь Perl'ом, создавай через DBI чего не хватает. Остаётся, правда, вопрос про типы колонок - в запросах они явно не появляются. Не знаю, как этот блоб, а у меня весь софт сначала читает структуру базы на предмет отслеживания изменений. А поведение некоторых алгоритмов зависит от нарытых индексов. Если в блобе применён какой-нибудь ORM - ожидай подобных граблей.
- Реверсхак SQL, pavlinux, 01:34 , 01-Фев-14 (9)
>... каким-нибудь Perl'ом, создавай через DBI чего не хватает.Вооот, вопрос в том и был - Есть ли что-то готовое? Потому как запил своих плюшек не окупается.
- Реверсхак SQL, Аноним, 04:25 , 31-Янв-14 (5)
> В общем-то легко, только ....... > а нафига это нужно? ACCA ты перед тем как отвечать точно вопрос читал?
|