Способ создания абстрактной схемы базы данных? - PullRequest
2 голосов
/ 22 февраля 2010

Мне бы хотелось иметь возможность создавать схемы для нескольких типов баз данных, таких как MySQL, SQL Server и PostgreSQL. Я знаю, что инструменты ORM, такие как Hibernate, могут сделать это, но я не буду использовать ORM для доступа к базе данных, поэтому хотел бы решение, которое не зависит от одного. Есть ли инструменты, которые могут это сделать?

Edit:

Я забыл упомянуть, что это личный проект, поэтому я ищу что-то дешевое или бесплатное.

Ответы [ 4 ]

1 голос
/ 23 февраля 2010

Я знаю, что вы сказали, что вы не хотите ORM, но SubSonic 3's migrations может просто помочь вам. Вам не нужно использовать ORM, просто создайте SubSonic самостоятельно из своей базы данных и используйте его как отдельную библиотеку классов. Затем смените провайдера, скажем, с MSSQL на MySQL и сделайте так, чтобы он пересобрался сам.

1 голос
/ 23 февраля 2010

SQL Power предлагает инструмент моделирования FOSS, SQL Architect. Он может генерировать DDL для нескольких разновидностей базы данных. Технически это все еще бета-версия (текущая версия 0.9.1), но это должно быть хорошо для личного проекта. Узнать больше .

1 голос
/ 22 февраля 2010

Взгляните на Эрвин .

Редактировать: (на основе обновления вопроса)

Да, Эрвин не собирается быть дешевым. Я сделал быстрый поиск и нашел Toad Data Modeler , который я не пробовал, но, возможно, стоит изучить:

Диаграммы отношений между сущностями - физическое и логическое моделирование (включая наследование)

Поддержка различных баз данных (Oracle, MS SQL Server, MySQL, Sybase Ase, PostgreSQL, DB2)

Генерация сценариев SQL (DDL)

Подробнее ...

0 голосов
/ 23 февраля 2010

PowerDesigner - намного лучший выбор, чем Эрвин, но он слишком дорогой.

Мне понадобилось около 16 часов, чтобы установить демо Erwin, множество неудачных попыток, непонятные сообщения об ошибках, номер телефона справки, которые были отключены.

PD предоставит вам 14-дневную бесплатную пробную версию.

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