На самом деле это не относится к категории «бесплатных», но если у вас уже есть инструменты (Microsoft Visual Studio и соответствующие поставщики .NET), это может быть возможно.
Идея состоит в том, чтобы сгенерировать модель данных из одной базы данных в Visual Studio, а затем использовать функциональность Model First для перехода от концептуальной модели к другой базе данных.Шаги будут выглядеть примерно так:
- В приложении VS2010 добавьте новый элемент в проект:
ADO.NET Entity Data Model
- Выберите существующую базу данных, источник для этой новой модели ивыберите нужные таблицы и нажмите в мастере.
- После создания модели убедитесь, что концептуальная модель видна (файл .edmx).В свойствах модели должна быть опция
DDL Generation Template
.Измените это на желаемый тип цели.Это действительно сомнительная часть;Я не знаю, сколько провайдеров поддерживают это, но при поиске в Postgres показался по крайней мере один быстрый поиск. - Щелкните правой кнопкой мыши модель и выберите
Generate Database from Model
.Это должно привести к созданию DDL для новой базы данных.
Это, конечно, не подходит для автоматизированного процесса, но для одноразового процесса это может быть хорошо.