亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

openfire 數據庫

系統 1910 0

關于數據庫有三個地方需要注意:

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 這個表。

openfire 數據庫

?

?

Sql文件

結構 插件根目錄/src/database/ sql文件

Sql文件命名: 插件名_數據庫.sql

openfire 數據庫

?

      # $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

openfire 數據庫

示例 Slq 文件:

      -- $Revision$
-- $Date$
ALTER TABLE ofMypluginTest ADD COLUMN age int(2) NULL;
ALTER TABLE ofMypluginTest ADD COLUMN address VARCHAR(255) NULL;
-- Update database version
UPDATE 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 數據庫


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 黄色小视频在线免费观看 | 久久99综合国产精品亚洲首页 | 国产一区二区三区免费观看 | 奇米777第四 | 国产91在线 | 欧美 | 日韩欧美中文 | 久久久www免费看片 久久久不卡 | 一级毛片免费观看久 | 国产精品久久久久鬼色 | 天天视频免费入口 | 中文字幕一区在线播放 | 97在线观看免费版 | 欧美日韩亚洲在线观看 | 2021最新国产成人精品免费 | 中文字幕免费在线 | 一级毛片私人影院 | 在线视频自拍 | 国产一区二区三区亚洲综合 | 国产精品香蕉在线一区二区 | 国产精品久久久久乳精品爆 | 国内精品久久影视 | 久操网址 | 久久一区二区三区免费播放 | 国产欧美一区二区三区观看 | 精品午夜久久影视 | 久久久久在线视频 | 久热中文字幕在线精品免费 | 中文字幕视频一区 | 久久99视频免费 | 日韩在线视频网站 | 一级a做爰片欧欧美毛片4 | 亚洲h在线观看 | 99热久久国产精品这里小说 | 玖玖精品视频在线 | 国产一区中文字幕在线观看 | 精品国产品香蕉在线观看75 | 欧美亚洲一二三区 | 日本不卡免费一区 | 亚洲国产成人精品区 | 久久免费精品一区二区 | 国产成人啪精品 |