openfire 数据库
来源:互联网 发布:标普下调中国评级 知乎 编辑:程序博客网 时间:2024/05/18 22:51
关于数据库有三个地方需要注意:
1.plugin.xml数据库及其版本的相关配置
2.系统自带表 ofVersion表中,关于插件数据库的版本记录
3.database下相关sql文件(对应表的创建或更新),并向ofVersion中插一条字段(记录插件数据库版本)。
首先说下个人对OpenFire插件数据库加载的理解:(
只要会用的话,不需要看此。或者看完数据库的创建步骤知道怎么回事,再来看这里的理解也行)
1) plugin.xml中配置数据库(及其版本),知道要需要哪个版本之后,
2) ofVersion查询相关插件字段 的version值
a) 发现没有该插件字段,去执行sql(创建表).
b)如果有字段,看version的值(int类型,1 2 3等)。需要版本比字段值高,更新数据库。需要版本比version值低,不更新。版本号一定是Int类型。
3)在更新数据库的同时需要更新自己升级的表,还要修改ofversion这个表。
Sql文件
结构 插件根目录/src/database/ sql文件
Sql文件命名: 插件名_数据库.sql
# $Revision$# $Date$INSERT INTO ofVersion (name, version) VALUES ('myplugin',0);CREATE TABLE ofMypluginTest ( id int(11) NOT NULL, username varchar(30) DEFAULT NULL, password varchar(30) DEFAULT NULL, PRIMARY KEY (id) );
一定要往ofVersion表中插入你插件数据库版本记录。有了这条记录,OpenFire再去加载这个插件的时候,发现ofVersion有这个插件记录,就不会再在去执行sql语句
plugin.xml中加两行
关于database的配置。下面代码的最后两行即可。
<version>1.0.0.1</version><date>24/11/2013</date><url>http://localhost:9090/openfire/plugins.jsp</url><minServerVersion>3.4.1</minServerVersion><licenseType>gpl</licenseType><databaseKey>myplugin</databaseKey><databaseVersion>0</databaseVersion>
启动OpenFire,加载插件,就显示数据库更新成功
数据库更新
首先更新sql文件,不修改。添加即可
方法:插件根目录/src/database/upgrade/1/插件sql或database /upgrade/2/插件sql
例如:plugins/myplugin/src/database/upgrade/1/myplugin_mysql.sql
示例Slq文件:
-- $Revision$-- $Date$ALTER TABLE ofMypluginTest ADD COLUMN age int(2) NULL;ALTER TABLE ofMypluginTest ADD COLUMN address VARCHAR(255) NULL;-- Update database versionUPDATE ofVersion SET version = 1 WHERE name = 'myplugin';
注意:更新语句,尽量先更新表,再更新ofVersion中 version字段的值。
万一你写的sql有问题,只更新了version值变成了新版本,表更新失败,再去加载插件时候,就不会再执行sql.创建表。
大致分析一下版本不对应的情况
(开发者尽量使版本对应)
由于情况较多,直接举例说明了
myplugin插件 plugin.xml要用版本 0,ofVersion表中,没有myplugin 0这条自动。执行sql,创建表,插入一条数据。(假如没有sql文件,数据库更新失败)
plugin.xml要用版本2,version字段为1,执行database/2/ sql文件。如果没有2这个文件夹和相应sql,显示数据库更新成功。(其实没有更新数据库)
- openfire 数据库
- openfire 数据库
- openfire 数据库
- openfire数据库模式指南
- openfire数据库模式指南
- openfire数据库表结构
- openfire数据库表结构
- openfire数据库模式指南
- openfire 链接sqlserver数据库
- openfire 数据库结构
- 重新配置OpenFire数据库
- openfire外部数据库配置
- openfire重新设置数据库
- openfire配置本地数据库
- openfire使用oracle数据库
- 转:openfire 整合现有数据库
- openfire数据库整合SQL语句
- openfire 部署现有数据库问题
- linux网络编程之socket(十六):通过UNIX域套接字传递描述符和 sendmsg/recvmsg 函数
- ORACLE表空间、段、区的管理方式
- ZOJ-1382
- gdb简单命令手册
- ubuntu终端颜色消失的问题
- openfire 数据库
- Canny边缘检测算法原理及其VC实现详解(一)
- Linux中select()函数
- ZOJ-1383
- Canny边缘检测算法原理及其VC实现详解(二)
- AndroidAnnotations——WorkingWithThreads线程操作
- Count and Say
- LED基本知识
- ZOJ-1394