Анализатор БД
Целый день бьюсь с базой данных Testlink, пытаюсь найти путь как связать test case и его версии. Так как внешних ключей, описания базы и моделей нет, чувствую себя, как в лабиринте —
Очень хочется анализатор БД, который взял бы лог запросов SQL и построил бы по нему связи между таблицами. Самому написать времени нет, да и, может, готовый уже есть. Может кто знает? А то я за целый день проблему так и не победил, по коду смотреть — тоже тот ещё квест.
Добавлено 18 декабря 22:10: перед уходом домой я разобрался, что всё связано через другую таблицу.
Для конкретики: есть таблицы tcversions, testplan_tcversions и testplans.
В testplan_tcversions есть поля testversion_id и testplan_id. Поле testversion_id указывает в таблицу tcversions, но поле testplan_id не указывает на testplans. Оно указывает в таблицу nodes_hierarchy, ту да же указывает id у tcversions, а связь между ними осуществляется через дерево внутри nodes_hierarchy.
Кажется, так всё работает. Это мне ещё предстоит выяснить в понедельник, а сейчас я домой пойду.
Комментарии 8
Интересно было бы увидеть инструмент для анализа неструктурированных таблиц, но хоть немного более продвинутый, чем просто query sniffer.
Как
Не
Ковырялся с системой разбора базы — она строила схему по ключам и по соответствию данных. Название уже не вспомню. Ошибалась порой сильно, но вот логи не понимала. Кстати, логи могут помочь отделить «рабочее ядро» базы от старых таблиц (и может быть даже полей), которые пора бы удалить.
По ключам они все умеют. Например, MySQL Workbench умеет, это продукт, который делают ребята из MySQL AB.