DDLsql脚本规范以及操作流程

大家好:
如下是经过讨论确认后的发版DDLsql脚本规范以及操作流程,自10.22日正式实施;请各开发模块负责人对组内成员及时宣导ddlsql脚本的规范,谢谢!

一.开发提供ddl脚本,脚本取名需包括ddl前缀,模块名,版本编号;
脚本取名不允许有中文;
sql脚本在sql内容之前需要添加备注信息,需注明模块,库名,影响的表,对应业务版本号,操作说明,开发联系人;
一个脚本,内容涉及范围只能是一个库;多个库时请分多个脚本;
每个sql脚本末尾需要添加(insert)ddl成功执行记录的日志,方便版本的查漏补缺;
ddl日志记录表operlog_db.tb_ddl_version_log

CREATE TABLE tb_ddl_version_log (
	id INT NOT NULL auto_increment PRIMARY KEY,
	module_name VARCHAR (64) COMMENT "模块名",
	db VARCHAR (64) COMMENT "库名",
	version_name VARCHAR (128) COMMENT "业务版本号",
	ddlsql_name VARCHAR (128) COMMENT "已执行的sql脚本名",
	remarks VARCHAR (256) COMMENT "备注,说明",
	create_time datetime COMMENT "创建时间"
) ENGINE = INNODB;

ddl脚本参考模板
取名:ddl_testDemo_V1.4.11_01.sql

##模块:testDemo
##库名:test
##影响的表:test
##业务版本:V1.4.11
##操作说明:创建表test
##开发联系人:开发-某某某

##ddlsql内容
create table test.test(name varchar(64));
##ddl操作记录日志
insert into operlog_db.tb_ddl_version_log(module_name,db,version_name,ddlsql_name,remarks,create_time) values ('trade','test','V1.4.11','测试库版本V1.4.11的新建表test',now());

二.功能测试环境 data用户回收alter,create,drop权限;新开预留super(超级权限用户)给到测试负责人作为dba无法支持到位时应急之用;

三.当天发布当有DDL操作时,需要在发版中体现注明,需要提前知会到DBA,以便协助发布;

四.测试环境ddl版本同步由测试模块负责人通过邮件的方式(指定ip,端口,ddlsql文件)到DBA,由DBA协助完成功能测试环境DDL版本同步;版本的查漏通过表operlog_db.tb_ddl_version_log记录查看


版权声明:本文为zzxx1994617原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。