1
0
mirror of https://github.com/gnosygnu/xowa.git synced 2026-03-02 03:49:30 +00:00

Personal_wikis: Add upgrade version

This commit is contained in:
gnosygnu
2017-02-18 18:28:27 -05:00
parent caa1eb2237
commit 665137d453
12 changed files with 134 additions and 85 deletions

View File

@@ -31,8 +31,13 @@ public class Xowd_cfg_key_ {
, Key__init__siteinfo_misc = "props.siteinfo_misc"
, Key__init__siteinfo_mainpage = "props.siteinfo_mainpage"
, Grp__wiki_core = "xowa.wiki.core"
, Key__wiki_core__domain = "xowa.wiki.core.domain"
, Key__wiki_core__name = "xowa.wiki.core.name"
, Grp__wiki__core = "xowa.wiki.core"
, Key__wiki__core__domain = "xowa.wiki.core.domain"
, Key__wiki__core__name = "xowa.wiki.core.name"
, Key__wiki__upgrade__version = "xowa.wiki.upgrade.version"
, Grp__db = "db"
, Key__wiki__page__id_next = "page.id_next"
;
}

View File

@@ -38,8 +38,8 @@ public class Xowd_cfg_tbl_ {
}
public static void Insert__create(Xowe_wiki wiki) {Insert__create(wiki.Data__core_mgr().Db__core().Tbl__cfg(), wiki.Domain_str(), wiki.Domain_str(), wiki.Props().Main_page());}
public static void Insert__create(Db_cfg_tbl cfg_tbl, String domain, String name, byte[] main_page) {
cfg_tbl.Insert_str(Xowd_cfg_key_.Grp__empty , Xowd_cfg_key_.Key__wiki_core__domain , domain);
cfg_tbl.Insert_str(Xowd_cfg_key_.Grp__empty , Xowd_cfg_key_.Key__wiki_core__name , name);
cfg_tbl.Insert_str(Xowd_cfg_key_.Grp__empty , Xowd_cfg_key_.Key__wiki__core__domain , domain);
cfg_tbl.Insert_str(Xowd_cfg_key_.Grp__empty , Xowd_cfg_key_.Key__wiki__core__name , name);
cfg_tbl.Insert_bry(Xowd_cfg_key_.Grp__wiki_init, Xowd_cfg_key_.Key__init__main_page , main_page);
cfg_tbl.Insert_str(Xowd_cfg_key_.Grp__wiki_init, Xowd_cfg_key_.Key__init__modified_latest, Datetime_now.Get().XtoStr_fmt(DateAdp_.Fmt_iso8561_date_time));
}

View File

@@ -68,7 +68,7 @@ public class Xowd_core_db_props {
, cfg_hash.Get_by(Cfg_key__hzip_mode_is_b256).To_yn_or(Bool_.N)
);
}
private static final String Cfg_grp = gplx.xowa.wikis.data.Xowd_cfg_key_.Grp__wiki_core
private static final String Cfg_grp = gplx.xowa.wikis.data.Xowd_cfg_key_.Grp__wiki__core
, Cfg_key__schema_version = "schema_version"
, Cfg_key__layout_text = "layout_text"
, Cfg_key__layout_html = "layout_html"

View File

@@ -28,7 +28,7 @@ public class Xodb_save_mgr_sql implements Xodb_save_mgr {
int ns_id = ttl.Ns().Id();
Xow_db_file db_file = db_mgr.Core_data_mgr().Db__core();
int ns_count = db_file.Tbl__ns().Select_ns_count(ns_id) + 1;
int page_id = db_file.Tbl__cfg().Select_int_or("db", "page.id_next", -1);
int page_id = db_file.Tbl__cfg().Select_int_or(Xowd_cfg_key_.Grp__db, Xowd_cfg_key_.Key__wiki__page__id_next, -1);
if (page_id == -1) { // HACK: changed for tests; was dbs.qrys.Db_qry_sql.rdr_("SELECT (Max(page_id) + 1) AS max_page_id FROM page;")
Db_rdr rdr = db_mgr.Core_data_mgr().Tbl__page().Conn().Stmt_select(db_file.Tbl__page().Tbl_name(), String_.Ary(db_file.Tbl__page().Fld_page_id()), Dbmeta_fld_itm.Str_ary_empty).Exec_select__rls_auto();
try {
@@ -38,7 +38,7 @@ public class Xodb_save_mgr_sql implements Xodb_save_mgr {
if (cur_page_id > max_page_id) max_page_id = cur_page_id;
}
page_id = max_page_id + 1;
db_mgr.Core_data_mgr().Tbl__cfg().Upsert_int("db", "page.id_next", page_id + 1);
db_mgr.Core_data_mgr().Tbl__cfg().Upsert_int(Xowd_cfg_key_.Grp__db, Xowd_cfg_key_.Key__wiki__page__id_next, page_id + 1);
} finally {rdr.Rls();}
}
Xow_db_mgr fsys_mgr = db_mgr.Core_data_mgr();
@@ -53,7 +53,7 @@ public class Xodb_save_mgr_sql implements Xodb_save_mgr {
try {
db_mgr.Core_data_mgr().Create_page(page_core_tbl, page_text_tbl, page_id, ns_id, ttl.Page_db(), redirect, Datetime_now.Get(), text_zip, text_raw.length, ns_count, page_text_db.Id(), -1);
db_file.Tbl__ns().Update_ns_count(ns_id, ns_count);
db_file.Tbl__cfg().Update_int("db", "page.id_next", page_id + 1);
db_file.Tbl__cfg().Update_int(Xowd_cfg_key_.Grp__db, Xowd_cfg_key_.Key__wiki__page__id_next, page_id + 1);
} finally {
page_core_tbl.Insert_end();
page_text_tbl.Insert_end();