Существует ли ORM / Framework, который автоматически преобразует данные, когда я хочу изменить тип данных столбца в таблице?

Предположим, что у меня есть существующая база данных с существующими данными.

Существует ли какая-либо инфраструктура / ORM, которая генерирует сценарии преобразования данных SQL, когда мне нужно изменить тип данных столбца? Конечно, есть проблемы с конверсиями, такими как

  • плавать в Int
  • строка в int

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

  • Int плавать
  • int в строку.

Должен ли я всегда писать сценарии преобразования данных SQL в обоих случаях?

6 ответов

Решение

В мире.Net у меня был очень хороший опыт работы с LLBLGen Pro. Он поддерживает генерацию сценариев DDL для переноса базовой базы данных в обновленные определения сущностей. Вот краткое руководство по началу работы, которое показывает обзор того, как это работает, а также раздел документации для процесса проектирования Model-First.

Вы можете использовать его со своей собственной средой выполнения или просто как инструмент проектирования для Entity Framework, NHibernate или Linq to SQL.

SauceDB написан на.NET и способен автоматически изменять схему при изменении типа данных в объекте доступа.

http://sauce.codeplex.com/

Disclamer: я написал это

И еще один конкурент: Propel Migrations

Как насчет доктрины миграции

Я бы порекомендовал http://dataobjects.net/.

Автоматическое обновление работает, когда мы добавляем новые классы и свойства в модель, но иногда необходимо выполнить некоторые конкретные изменения схемы, например переименование свойств или классов, в этом случае вы можете написать обработчик обновления(RenameFieldHint, RemoveFieldHint и т. Д.)

Другие вопросы по тегам