В настоящее время мы используем решение для электронной коммерции для туристической компании. Каждый раз, когда мы выпускаем релиз, мы должны закрывать сайт электронной коммерции при обновлении схемы базы данных и кода доступа к данным. Мы используем специально построенный ORM, где каждый объект данных отвечает за свои собственные операции CRUD. Это достигается путем динамического генерирования SQL на основе атрибутов в объекте данных.
Например, объект данных для адреса будет ...
[tableName="address"]
public class address : dataEntity
{
[column="address1"]
public string address1;
[column="city"]
public string city;
}
Итак, если мы добавим новый столбец в базу данных, мы должны обновить схему базы данных, а также обновить сущность данных.
Как вы можете ожидать, деловые люди не слишком довольны этим перерывом в работе, так как это ограничивает их денежный поток. Операторы недовольны тем, что им приходится сталкиваться с большим напряжением при обновлении базы данных и приложений. Программисты расстроены, потому что они постоянно попадают в неприятности из-за унаследованной системы.
Есть ли у кого-нибудь из вас умных людей какие-то предложения?