日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

openfire 數據庫

系統 1928 0

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

1.plugin.xml數據庫及其版本的相關配置

2.系統自帶表 ofVersion表中,關于插件數據庫的版本記錄

3.database下相關sql文件(對應表的創建或更新),并向ofVersion中插一條字段(記錄插件數據庫版本)。

?

首先說下個人對 OpenFire 插件數據庫加載的理解:

只要會用的話,不需要看此?;蛘呖赐陻祿斓膭摻ú襟E知道怎么回事,再來看這里的理解也行)

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條評論
主站蜘蛛池模板: 肥城市| 铁岭市| 延寿县| 琼结县| 察雅县| 武川县| 临猗县| 大连市| 陆丰市| 休宁县| 扎鲁特旗| 高尔夫| 凤庆县| 渭南市| 郯城县| 明溪县| 曲阳县| 边坝县| 凌海市| 会东县| 彭泽县| 班玛县| 仁寿县| 建昌县| 托克逊县| 东平县| 凤翔县| 北川| 湘潭市| 伊宁市| 翼城县| 虞城县| 色达县| 博野县| 镇原县| 图们市| 万安县| 修水县| 莎车县| 民勤县| 绵竹市|