编写do.netnuke(以下简称dnn)模块相关数据库安装/卸载脚本,是模块开发的一个重要环节。dnn程序会根据模块相关的脚本自动安装或卸载模块相关的表和存储过程等。
dnn中模块的数据库安装脚本一般命名为:版本号.具体数据访问provider名称(如对应sqlserver的安装文件可为:01.00.00.sqldataprovider)。在上传新模块时,dnn的模块安装程序,会根据dnn文件中所列举的数据库脚本清单,按版本顺序执行数据库脚本。如果是升级安装则只执行大于当模块前版本的数据库安装脚本。所以在编写下一个版本的数据库安装脚本时一定要记住这一点:在原来的基础上修改,而不是全部重写。比如:你有一个模块在下一个版本的改动中只是添加了一个存储过程,那么这个版本的数据库脚本只需包含创建该存储过程的代码即可,无需重写全部对象。同时还要注意模块版本与数据库脚本版本的统一。
dnn中模块的数据库卸载脚本一般命名为:uninstall.具体数据访问provider名称(如对应sqlserver的卸载文件可为:uninstall.sqldataprovider)。在删除模块时,dnn会根据这个文件的内容删除模块相关的表和存储过程。
编写脚本的步骤可如下(已sql server数据库为例):
1、在数据库中创建要使用到的表和存储过程。
2、可先用sql server的查询分析器生成相关表和存储过程的创建/除去脚本。3、将这些对象的脚本复制到一个文件中,并在表和存储过程对象名称前面加上{databaseowner}{objectqualifier}前缀;在主/外键名称上加上{objectqualifier}前缀,如:pk{objectqualifier}_clinks、fk_{objectqualifier}clinks_modules。
关于{databaseowner}{objectqualifier}的含义和用途可参见:http://www.cnblogs.com/csdn/archive/2004/11/30/71118.html
4、按照数据库安装/卸载脚本的命名规则分别命名文件。
5、具体的一些做法,也可参照已有模块的数据库安装/卸载脚本文件
6、好像有个模版也可以编写存储过程,不过好像用途不大,有兴趣的可以去看看:
http://dnnjungle.vmasanas.net/development/templates/tabid/28/default.aspx
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器