我们目前为休闲旅游公司运营电子商务解决方案.每当我们发布时,我们必须在更新数据库架构和数据访问代码时关闭电子商务网站.我们使用自定义构建的ORM,其中每个数据实体负责自己的CRUD操作.这是通过基于数据实体中的属性动态生成SQL来实现的.
例如,地址的数据实体将是......
[tableName="address"]
public class address : dataEntity
{
[column="address1"]
public string address1;
[column="city"]
public string city;
}
Run Code Online (Sandbox Code Playgroud)
因此,如果我们向数据库添加新列,我们必须更新数据库的模式并更新数据实体.
正如您所料,商业人士对这种停电并不太满意,因为它会给现金流带来压力.操作人员不满意,因为他们必须处理数据库和应用程序升级时的高压时间.程序员很不高兴,因为他们不断为他们继承的遗留系统遇到麻烦.
你们中有谁聪明的人有一些建议吗?
第一个答案显然是,不要使用 ORM。只有应用程序程序员才认为他们很好。像其他人一样学习 SQL :)
好吧,回到现实。什么可以阻止您将所有模式更改限制为仅添加。然后,您可以随时更新数据库架构,并且仅在数据库更新后的安全时间(我发现早上 6 点效果最好)之前安装重新编译的应用程序。如果必须删除某些内容,请以相反的方式执行步骤 - 安装新应用程序,保持架构不变,然后从架构中删除这些位。
当你推出变更时,你总是会面临高压,但至少你可以通过分成两个更容易理解的部分来更好地管理它。您的 DBA 可以更新现有应用程序的架构。
缺点是您必须更加有条理,但是在处理生产服务器时这并不是一件坏事,您当前应该认真组织它。
| 归档时间: |
|
| 查看次数: |
494 次 |
| 最近记录: |