сгенерить инсерты для данных базы

demav

Member
Joined
Nov 20, 2018
Messages
300
Reaction score
53
Age
39
Такая задача. Есть база данных на Microsoft SQL Server (2005). Нужно получить скрипт, в котором будет набор INSERT'ов для создания данных на основе этой базы.
Т.е. если запустить этот скрипт на этой же базе (или другой с аналогичной структурой), то данные в таблицах будут созданы те же.

Есть много программ в интернете, которые делают это :)
Но у них у всех проблема в том, что порядок заполнения таблиц не соответсвует иерархии таблиц. Проще говоря, сначала заполняется таблица данных, а потом - справочник; порядок заполнения берется из названия таблиц. А должно быть наоборот.

Если расширить задачу, то в начале этого скрипта мне нужно удалять все данные из таблиц. Причем удаление тоже должно быть правильное - сначала данные, а затем - справочники.

Я даже особо не знаю как сформулировать поисковый запрос для этой задачи.

Буду признателен за подсказки.
 

demav

Member
Joined
Nov 20, 2018
Messages
300
Reaction score
53
Age
39
Сам себе отвечаю :)

Утилита SQL Dumper (SQL Server Dumper 3 Beta - Ruizata Project) умеет создавать инсерты для таблиц в правильном порядке.

Правда, удалять не умеет - это придется руками.
 

demav

Member
Joined
Nov 20, 2018
Messages
300
Reaction score
53
Age
39
В общем, утилита SQL Dumper меня не устроила тем, что не умеет удалять данные (генерить DELETE).

Кроме того, у меня есть два типа таблиц - демо данные и справочные данные.
Для справочных данных я всегда поставляю DELETE / INSERT - в каждой инсталляции.
А демо данные - при установленной галке в инсталляторе.

Написал свою программу для этого.

SQLServerScripter.jpg


Если кому понадобится, пишите в личку.
 
Top