Евгений Степанищев

Я — эксперт в области разработки веб-приложений и безопасности в интернете. Каждый месяц мой блог посещают около 90 тысяч человек. Работаю техническим директором в «Системах документооборота», занимаюсь электронным правительством.

Анализатор БД

Целый день бьюсь с базой данных Testlink, пытаюсь найти путь как связать test case и его версии. Так как внешних ключей, описания базы и моделей нет, чувствую себя, как в лабиринте — где-то есть выход и мне его надо найти. Но не получается. Есть таблица «A», есть «B», есть «A_B», в «A_B» есть «A_id» и «B_id». Вроде все ясно — две таблицы и таблица связей. Ан нет, не работает, не связываются данные.

Очень хочется анализатор БД, который взял бы лог запросов 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 комментариев
18 декабря 2009 22:43

Opera 10.50: скоро

22-го декабря компания «Опера» пообещала показать версию 10.50 pre-alpha. Ключевым изменением называется скорость (что не может не радовать), а не поддержка всякого из CSS3 (border-radius, CSS-анимация), о котором я писал ранее.

Это подарок компании к Рождеству.
8 комментариев
18 декабря 2009 12:16