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

derricfle

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

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

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

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

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

derricfle

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

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

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

derricfle

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

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

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

SQLServerScripter.jpg


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