Как инициализировать пустую базу данных согласно заполненному набору данных? - PullRequest
0 голосов
/ 15 октября 2008

Инициализация будет включать в себя создание всех необходимых таблиц, ограничений и заполнение таблиц.

edit: Уже есть проект, который делает это?

Ответы [ 5 ]

1 голос
/ 15 октября 2008

Создайте сценарий, который либо является частью конца сценария создания базы данных, либо выполняется после него.

Как правило, он может содержать множество операторов вставки для заполнения ссылочных таблиц или аналогичных.

0 голосов
/ 15 октября 2008

Поскольку вы упоминаете .net в качестве тега, вы можете использовать MSSQL.

Если у вас VS.NET db edition, вы можете использовать инструменты базы данных для генерации скриптов для этого. Вы можете сделать компаратор схемы для пустой базы данных и сгенерировать скрипт для схемы. Затем вы можете сделать то же самое для данных.

Если нет инструментов, вы можете сделать это за вас. Такие как http://sqlmanager.net/en/products/dbextract.

Существуют и другие инструменты для этого, к сожалению, я не могу придумать, как пользоваться упомянутым выше.

0 голосов
/ 15 октября 2008

Если вы используете MySQL, есть команда MySQLDump. Это выводит копию базы данных в виде серии текстовых операторов SQL для создания таблиц и заполнения их данными.

Итак, вы используете MySQLDump для создания резервной копии рабочей базы данных, а затем просто запускаете полученный файл в пустой базе данных, чтобы создать и заполнить его.

Документ можно найти здесь ... http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html

0 голосов
/ 15 октября 2008

Я не знаю о специфических инструментах для других баз данных, но mysqldump делает именно это для MySQL.

0 голосов
/ 15 октября 2008

Вы можете пойти дальше и написать скрипт для загрузки в текстовый файл.

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

tb_newTable
id pk
имя vc 255
электронная почта vc 255
-end

Или что-то. Итак, ваш обработчик читает это, распознает tb_ как имя таблицы, затем построчно создает поля, чтобы id pk мог указывать имя поля id, а первичный ключ, имя vc 255 - это поле с именем name в varchar 255 и т. Д. С прекратить это.

Это теоретический ум, и вышесказанное не поможет приседать, но оно дает вам представление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...