如何保证开发过程中对数据库结构的更新顺利地迁移到产品服务器上。
应用程序升级常常包含着数据库的升级,数据库的升级通常会包含表结构的变化(表添加字段或者删除字段),视图的更新,存储过程的更新以及字典表数据的更新。而这些更新需要有时间顺序,即在执行更新脚本的时候,必须先执行更新表结构的脚本,然后才可以正确的执行修改视图和存储过程的脚本,所以我们要求在开发的过程中设计到数据库的变化时留下sql脚本,并遵守以下脚本的名称格式的规定命名变化脚本。
yyyymmddhhMM-yourname-{alter|drop|update|insert|delete}_{tablename|proc|viewname}_{entityname}.sql
说明:
第一段为日期段包括四位年份数字两位月份数字两位日期数字两位小时数字两位分钟数字,例如:200403071043
第二段为更新人的名字,如:yukaizhao
第三段包括操作和操作对象类型,操作对象名字,如:alter_table_UserAccount,alter_proc_login
完整的例子:200403071043- yukaizhao- alter_table_UserAccount.sql
在开发时,要严格安装以上规定记录数据库修改脚本,在发布新版本时,需要将所有脚本按照时间的先后顺序合并到一个脚本中(合并脚本的名字格式为:yyyymmddhhmm.sql包含截至到更新时的最新日期时间,可以做一个程序合并脚本),然后在测试服务器上面建立上一个版本数据库的结构,在测试服务器上面执行此脚本,如果没有错误,就可以在升级的时候执行合并的脚本,如果有错误则需要根据脚本名称记录的用户名找他纠错。
技巧:
1. 使用企业管理器修改完表之后,如何保存修改脚本
2. 如何设置每次修改了表结构之后自动提示保存修改脚本
在点击2中的按钮之后会出现下面的窗口,请按下图设置。
附件:
1. 合并脚本程序--下载
2. 1中程序的源码--下载
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架