SchemaChangelog

log of data base changes made to officially released packages

Created by: spiderr, Last modification: 21 Apr 2010 (15:51 UTC)

bitweaver ReleaseThree Schema & Structural changes


DatePackageReasonWho
17-APR-2010 liberty plural content name support /will
SQL92

Add pos column


ALTER TABLE liberty_content_types RENAME COLUMN content_description TO content_name;
ALTER TABLE liberty_content_types ADD COLUMN content_name_plural VARCHAR(250);
API

  • Change content type hash references from content_description to content_name
  • Change hash key content_description passed to LibertyContent::getTitle to content_name
  • Better than changing content_description to content_name is to change hash references to use the get methods of LibertyContent or LibertySystem with the content_type_guid
    
    <?php
      LibertyContent
    ::getContentTypeNameplural_version:boolean )
      
    LibertySystem::getContentTypeNamecontent_type_guid:stringplural_version:boolean )
    ?>
    These return the singular by default when the optional 'plural_version' param is not set
  • Change sql selects from liberty_content_type for content_description to content_name and add content_name_plural if desired
  • Update registerContentType in class declarations - change content_description to content_name; you can also add content_name_plural to your class if you wish to add a unique plural of the name, otherwise a default one will be created from the singular by appending an 's' to the end. For example by default a content_name of 'Image' will have a plural of 'Images'. You'll want to set the plural value in cases where appending 's' doesnt not just work; for example words that end in 'y', like 'Gallery' you can specificy the plural as 'Galleries'. For those managing content such as wild animals, like 'Moose' with bitweaver, you would want to declare a plural that is same as the singular: Moose; otherwise bitweaver would create 'Mooses' for you.


  • Use of javascript functions in utils/javascript/bitweaver.js should now always be prefaced with the "BitBase." namespace, ala "BitBase.insertAt('foo')", also toggle & flip are replaced with toggleElementDisplay. See bitweaver.js deprecated functions for more. To find deprecated functions, you can run this bash script:
    
    for func in addLoadHook setCookieArray getCookieArray setCookie getCookie deleteCookie flip toggle setupShowHide utf16to8 utf8to16 serialize unserialize genPass toggle_dynamic_var setSelectionRange setCaretToPos  insertAt showById hideById flipMulti flipIcon setFlipIcon flipWithSign setFlipWithSign getElementValue setElementValue switchCheckboxes disableSubmit go popUpWin closeWin
    do
            echo "CHECKING FOR FUNCTION $func"
            grep -r "$func[ ]*(" */templates/*tpl |grep -v BitBase
    done
  • Logic files no longer should require the root 'bit_setup_inc.php' to start up bitweaver, but instead use a relative pathing mechanism to require_once( '../kernel/setup_inc.php' ); If you have your own code, you can update it with:
    
    find . -name "*.php" -exec perl -i -wpe 's/\.\.\/bit_setup_inc\.php/..\/kernel\/setup_inc.php/g' {} \;

bitweaver ReleaseTwo Schema changes


This is an ongoing list of any changes to any DataDict array in a schema_inc in any package (except: BitcommercePackage ).


These are ReleaseTwo database changes. DO NOT USE these changes if you are on ReleaseOne. If you need to know the changes for ReleaseOne, see the ReleaseOneSchemaChangelog. If you are not sure what this is all about or how to use the information on this page, read the How To Use SchemaChangelog.

Due to the length of this page, we have split it in two, please consult the following pages for older schema changes:

DatePackageReasonWho
23-NOV-2009 liberty Add pos column /lsces
SQL92

Add pos column


ALTER TABLE liberty_content_links ADD COLUMN pos FLOAT;
23-NOV-2009 liberty Rename reads column /lsces
SQL92

Rename reads column


ALTER TABLE mail_queue RENAME reads TO hits;



DatePackageReasonWho
20-AUG-2009 boards Add section tables /spider
SQL92

Add section tables


CREATE TABLE boards_sections (section_id INT PRIMARY KEY, section_title VARCHAR(255));
ALTER TABLE boards ADD COLUMN section_id INT;
ALTER TABLE boards ADD COLUMN pos INT;
24-MAR-2009 users,liberty,newsletters,semaphore Update ip columns to 39 chars for IPv6 support /spider
PGSQL and FIREBIRD

update columns for IPv6


ALTER TABLE users_cnxn ALTER ip TYPE VARCHAR(39);
ALTER TABLE liberty_content_history ALTER ip TYPE VARCHAR(39);
ALTER TABLE liberty_action_log ALTER ip TYPE VARCHAR(39);
ALTER TABLE shoutbox ALTER shout_ip TYPE VARCHAR(39);
ALTER TABLE mail_queue ALTER last_read_ip TYPE VARCHAR(39);
ALTER TABLE semaphore ALTER ip TYPE VARCHAR(39);
MYSQL

update columns for IPv6


ALTER TABLE users_cnxn MODIFY ip VARCHAR(39);
ALTER TABLE liberty_content_history MODIFY ip VARCHAR(39);
ALTER TABLE liberty_action_log MODIFY ip VARCHAR(39);
ALTER TABLE shoutbox MODIFY shout_ip VARCHAR(39);
ALTER TABLE mail_queue MODIFY last_read_ip VARCHAR(39);
ALTER TABLE semaphore MODIFY ip VARCHAR(39);
OCI

update columns for IPv6


ALTER TABLE users_cnxn MODIFY (ip TYPE VARCHAR2(39));
ALTER TABLE liberty_content_history MODIFY (ip TYPE VARCHAR2(39));
ALTER TABLE liberty_action_log MODIFY (ip TYPE VARCHAR2(39));
ALTER TABLE shoutbox MODIFY (shout_ip TYPE VARCHAR2(39);
ALTER TABLE mail_queue MODIFY (last_read_ip TYPE VARCHAR2(39);
ALTER TABLE semaphore MODIFY (ip TYPE VARCHAR2(39);
13-NOV-2008 wiki Drop unused wiki tables /xing
SQL92

Drop unused wiki tables


DROP TABLE wiki_received_pages;
DROP TABLE wiki_tags;
DROP TABLE wiki_ext;
12-NOV-2008 liberty fix column types /SpOOnman
SQL92

fix column types


ALTER TABLE liberty_content_history ALTER COLUMN user_id TYPE INTEGER;
ALTER TABLE wiki_footnotes ALTER COLUMN user_id TYPE INTEGER;
--pgsql use:
ALTER TABLE liberty_content_history ALTER COLUMN user_id TYPE INTEGER USING user_id::int;
ALTER TABLE wiki_footnotes ALTER COLUMN user_id TYPE INTEGER USING user_id::int;
--mysql use:
ALTER TABLE `liberty_content_history` CHANGE `user_id` `user_id` INTEGER;
ALTER TABLE `wiki_footnotes` CHANGE `user_id` `user_id` INTEGER;
14-AUG-2008 gmap update icon table to have a theme_id association /wjames5
SQL92

longer maptype descriptions.


ALTER TABLE gmaps_maptypes ALTER COLUMN description TYPE TEXT;
--mysql use:
ALTER TABLE gmaps_maptypes CHANGE description description TEXT;
14-AUG-2008 gmap update icon table to have a theme_id association /wjames5
SQL92

Add theme_id


ALTER TABLE gmaps_icon_styles ADD COLUMN theme_id INT4 NOT NULL;

-- NOTE: You must run the installer step 4 "Resolve Conflicts" to also add a new gmaps_icon_themes table before trying to add this constraint.
ALTER TABLE gmaps_icon_styles ADD CONSTRAINT gmaps_icon_theme_ref FOREIGN KEY (theme_id) REFERENCES gmaps_icon_themes(theme_id);
23-MAY-2008 liberty replace old unused meta tables with new ones /xing
SQL92

Remove old unused tables and replace them with new ones


-- remove unused meta tables
DROP TABLE liberty_meta_content_map;
DROP TABLE liberty_meta_data;
DROP TABLE liberty_meta_types;

-- add new meta tables
-- Expand TEXT as appropriate ( FB -> BLOB SUB_TYPE TEXT )
CREATE TABLE liberty_attachment_meta_data (
    attachment_id INT NOT NULL,
    meta_type_id INT NOT NULL,
    meta_title_id INT NOT NULL,
    meta_value TEXT
);
CREATE TABLE liberty_meta_types (
    meta_type_id INT PRIMARY KEY,
    meta_type VARCHAR(250) NOT NULL
);
CREATE TABLE liberty_meta_titles (
    meta_title_id INT PRIMARY KEY,
    meta_title VARCHAR(250) NOT NULL
);
ALTER TABLE liberty_attachment_meta_data ADD CONSTRAINT lib_attachment_meta_id_ref FOREIGN KEY (attachment_id) REFERENCES liberty_attachments(attachment_id);
ALTER TABLE liberty_attachment_meta_data ADD CONSTRAINT lib_attachment_meta_type_ref FOREIGN KEY (meta_type_id) REFERENCES liberty_meta_types(meta_type_id);
ALTER TABLE liberty_attachment_meta_data ADD CONSTRAINT lib_attachment_meta_title_ref FOREIGN KEY (meta_title_id) REFERENCES liberty_meta_titles(meta_title_id);
CREATE UNIQUE INDEX lib_attachment_meta_idx ON liberty_attachment_meta_data(attachment_id,meta_type_id,meta_title_id);
10-MAY-2008 liberty add a liberty_attachment_prefs table /xing
SQL92

CREATE TABLE liberty_attachment_prefs (
    attachment_id INT,
    pref_name VARCHAR(40),
    pref_value VARCHAR(250)
);
CREATE UNIQUE INDEX liberty_att_prefs_att_name_idx ON liberty_attachment_prefs(attachment_id,pref_name);
CREATE INDEX liberty_att_prefs_att_idx ON liberty_attachment_prefs(attachment_id);
ALTER TABLE liberty_attachment_prefs ADD CONSTRAINT lib_att_prefs_content_ref FOREIGN KEY (attachment_id) REFERENCES liberty_attachments(attachment_id);

Comments

mysql

by sylvie, 23 Sep 2006 (22:33 UTC)
It will be great to have this page mysql compatible. Perhaps to add 2 syntaxes to it

by Joe, 03 Apr 2007 (13:01 UTC)
The following is the themes_layout for mysql refers to --> 02-APR-2007 themes tables simplify themes schema

--
-- Table structure for table `themes_layouts`
--

CREATE TABLE `themes_layouts` (
  `module_id` int(11) NOT NULL,
  `title` varchar(255) default NULL,
  `layout` varchar(160) NOT NULL default '''kernel''',
  `layout_area` varchar(1) NOT NULL,
  `module_rows` int(11) default NULL,
  `module_rsrc` varchar(250) NOT NULL,
  `params` varchar(255) default NULL,
  `cache_time` bigint(20) default NULL,
  `groups` varchar(255) default NULL,
  `pos` int(11) NOT NULL default '1',
  PRIMARY KEY  (`module_id`)
) TYPE=MyISAM;

  Page 1 of 1  1