Semantic Diff for SQL – аналог diff-функции в git
Программное обеспечение постоянно меняется, развивается и анализ произошедших изменений является неотъемлемой частью процесса разработки. Но отсматривать изменения вручную – чересчур долгий и неэффективный процесс, не так ли?
Если вам нужно понять какие изменения были в SQL запросе, то Ярослав Зейгерман описал аналог diff-функции в git.
В чем преимущества этого метода?
Альтернативой текстовому сравнению является сравнение абстрактных синтаксических деревьев (Abstract Syntax Trees). Основное преимущество AST заключается в том, что они являются прямым продуктом синтаксического анализа кода, который представляет базовую структуру кода с любым желаемым уровнем детализации. С его помощью можно обнаруживать не только вставки и удаления, но еще и перемещения или обновления отдельных фрагментов кода.