1
0
mirror of https://github.com/gnosygnu/xowa.git synced 2024-09-28 14:30:51 +00:00

Personal_wikis: Change new wikis to automatically have upgraded cat_link / page table

This commit is contained in:
gnosygnu 2017-02-19 00:35:40 -05:00
parent 42c54e2029
commit 92c9fbddcc
3 changed files with 7 additions and 7 deletions

View File

@ -175,12 +175,12 @@ class Xoctg_catlink_loader {
int nl_pos = Bry_find_.Find_fwd(tmp_sortkey, Byte_ascii.Nl);
if (nl_pos != Bry_find_.Not_found)
tmp_sortkey = Bry_.Mid(tmp_sortkey, 0, nl_pos);
if (version == 4) {
if (Bry_.Len_gt_0(url_sortkey)) {
// make sortkey_val
sortkey_val_bfr.Add_byte(Byte_ascii.Ltr_x).Add_byte_apos();
gplx.core.encoders.Hex_utl_.Encode_bfr(sortkey_val_bfr, collation_mgr.Get_sortkey(tmp_sortkey));
Tfds.Write(version, tmp_sortkey, sortkey_val_bfr.To_str());
sortkey_val_bfr.Add_byte_apos();
}
else

View File

@ -22,6 +22,7 @@ import gplx.xowa.wikis.*; import gplx.xowa.wikis.domains.*; import gplx.xowa.wik
import gplx.xowa.langs.cases.*;
import gplx.fsdb.*; import gplx.fsdb.meta.*; import gplx.fsdb.data.*; import gplx.xowa.files.origs.*;
import gplx.xowa.addons.wikis.directorys.dbs.*;
import gplx.xowa.addons.wikis.ctgs.dbs.*;
public class Xow_db_mkr {
public static Xodb_wiki_mgr Create_wiki(Xodb_wiki_data data, String wiki_name, byte[] mainpage_name, byte[] mainpage_text) {
// create db
@ -43,7 +44,7 @@ public class Xow_db_mkr {
// create tbls: cat; may want to do "if (props.Layout_text().Tid_is_all_or_few())" // create in advance else will fail for v2; import wiki -> wiki loads and tries to load categories; v2 category processes and builds tbl; DATE:2015-03-22
core_db.Tbls__add(Bool_.Y
, new Xowd_cat_core_tbl(core_conn, Bool_.N)
, new Xowd_cat_link_tbl(core_conn, Bool_.N)
, new Xodb_cat_link_tbl(core_conn)
);
// insert data: wiki

View File

@ -34,6 +34,10 @@ class Xow_wiki_upgrade_ {
}
Db_conn core_db_conn = Db_conn_bldr.Instance.Get_or_fail(core_db_url);
// verify json
Xowdir_wiki_props_mgr core_db_props = Xowdir_wiki_props_mgr_.New_xowa(app, core_db_url);
core_db_props.Verify(Bool_.N, String_.new_u8(domain), core_db_url);
// get cfg
Db_cfg_tbl cfg_tbl = Xowd_cfg_tbl_.Get_or_fail(core_db_conn);
int upgrade_version = cfg_tbl.Select_int_or(Xowd_cfg_key_.Key__wiki__upgrade__version, Upgrade_version__v00);
@ -45,7 +49,6 @@ class Xow_wiki_upgrade_ {
if (upgrade_version == Upgrade_version__v00) {
Gfo_usr_dlg_.Instance.Log_many("", "", "xo.wiki.upgrade:upgrading; db=~{0} cur=~{1} new=~{2}", core_db_url.Raw(), upgrade_version, Upgrade_version__v01);
// > v4.2.0
// cat_link: if cat_link.cl_sortkey_prefix doesn't exist, then cat_link is old format; drop it and add the new one
try {
if (!core_db_conn.Meta_fld_exists(Xodb_cat_link_tbl.TBL_NAME, Xodb_cat_link_tbl.FLD__cl_sortkey_prefix)) {
@ -67,10 +70,6 @@ class Xow_wiki_upgrade_ {
Gfo_usr_dlg_.Instance.Warn_many("", "", "xo.personal:page.page_cat_db_id upgrade failed; err=~{0}", Err_.Message_gplx_log(e));
}
// verify json
Xowdir_wiki_props_mgr core_db_props = Xowdir_wiki_props_mgr_.New_xowa(app, core_db_url);
core_db_props.Verify(Bool_.N, String_.new_u8(domain), core_db_url);
// check for page_ids < 1
// select from page_tbl for page_id < 1
Xow_db_mgr db_mgr = new Xow_db_mgr(dir_url, String_.new_u8(domain));