微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Web应用程序中,如何使数据库结构保持最新?

如果在部署应用程序后数据发生更改,您如何使数据库保持最新?

我的意思是,你可以添加删除表,这是一个简单的任务.改变现有的表也很简单.但是如果你经常改变结构,你如何控制它呢?

我曾经在数据库中保留一个包含当前数据库版本的表.然后每次升级都是一个完成其工作的sql文件 – 创建新表,添加列或移动数据.文件是以这些版本命名的 – 所以如果我的升级脚本获得了数据库版本10,它只是将11.sql中的所有文件都带到N.sql并同时应用它们中的每一个递增数据库版本号.

这似乎工作正常,但我想知道 – 你的策略是什么?
如果我在一个“补丁”中对一个表进行规范化,那么这个系统似乎并不完美,之后我再次将其归一化为无论什么原因.然后它完成了两次.

但是,每次我改变一些东西时写一个完整的升级脚本似乎很痛苦,容易出错.至少更多这样的原子变化.

此外,我可以预期不同的客户可以随时运行不同的数据库版本,所以我真的应该有办法从任何一点上升.

解决方法

我个人使用了与你列出的相似的过程,我可以看到你关于改变的论点,但我很少做出改变,然后在生产站点上将其改回旧的方式.在测试中,是的,这种情况发生了,但就实际生产网站而言,我认为这不是什么大问题.

保留个人版本脚本,恕我直言不仅有利于部署,而且还有助于提供可以检查到源代码管理的项目.

原文地址:https://www.jb51.cc/html/242565.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐