Differences from version 1 to 4



@@ -35,4 +35,106 @@

 );
 {CODE}
 
+some examples of what is available:
+! datadict
+{code source=PHP}
+// create new tables
+// 'CREATE':
+ array( 'CREATE' => array (
+ 'tiki_article_status' => "
+ status_id I4 PRIMARY,
+ status_name C(64)
+ ",
+ )),
+// add columns to tables
+// 'ALTER':
+ array( 'ALTER' => array(
+ 'tiki_articles' => array(
+ 'content_id' => array( '`content_id`', 'I4' ),
+ 'description' => array( '`description`', 'X' ),
+ 'status_id' => array( '`status_id`', 'I4' ),
+ 'image_attachment_id' => array( '`image_attachment_id`', 'I4' ),
+ 'article_type_id' => array( '`article_type_id`', 'I4' ),
+ ),
+ 'tiki_article_types' => array(
+ 'article_type_id' => array( '`article_type_id`', 'I4' ),
+ ),
+ 'tiki_article_topics' => array(
+ 'has_topic_image' => array( '`has_topic_image`', 'VARCHAR(1)' ),
+ ),
+ )),
+// rename existing tables
+// 'RENAMETABLE':
+ array( 'RENAMETABLE' => array(
+ 'tiki_articles' => 'articles',
+ 'tiki_article_status' => 'article_status',
+ 'tiki_article_types' => 'article_types',
+ 'tiki_article_topics' => 'article_topics',
+ )),
+// rename columns in tables
+// 'RENAMECOLUMN':
+ array( 'RENAMECOLUMN' => array(
+ 'article_topics' => array(
+ '`active`' => 'active_topic'
+ ),
+ )),
+// rename a sequence
+// 'RENAMESEQUENCE':
+ array( 'RENAMESEQUENCE' => array(
+ "tiki_article_topics_topic_id_seq" => "article_topics_t_id_seq",
+ "tiki_article_types_topic_id_seq" => "article_types_t_id_seq",
+ "tiki_article_article_id_seq" => "article_article_id_seq",
+ )),
+// drop a column from an existing table
+// 'DROPCOLUMN':
+ array( 'DROPCOLUMN' => array(
+ 'tiki_submissions' => array( '`bibliographical_references`' ),
+ )),
+// drop an existing table
+// 'DROPTABLE':
+ array( 'DROPTABLE' => array(
+ 'tiki_content'
+ )),
+// create an index
+// 'CREATEINDEX':
+ array( 'CREATEINDEX' => array(
+ 'tiki_content_title_idx' => array( 'tiki_content', '`title`', array() ),
+ 'tiki_content_user_idx' => array( 'tiki_content', '`user_id`', array() ),
+ 'tiki_content_moduser_idx' => array( 'tiki_content', '`modifier_user_id`', array() ),
+ 'tiki_content_hits_idx' => array( 'tiki_content', '`hits`', array() ),
+ 'tiki_comments_content_idx' => array( 'tiki_comments', '`content_id`', array() ),
+ 'tiki_struct_user_idx' => array( 'tiki_structures', '`user_id`', array() ),
+ 'tiki_struct_root_idx' => array( 'tiki_structures', '`root_structure_id`', array() ),
+ 'tiki_struct_content_idx' => array( 'tiki_structures', '`content_id`', array() ),
+ )),
+{/code}
+
+! query
+{code source=PHP}
+// allows you to execute SQL direclty, like updates and the like. if your
+// SQL is different for different DBs, you can restrict it using the following:
+ // 'MYSQL' :
+ // 'PGSQL' :
+ // 'SQL92' :
+ "UPDATE `".BIT_DB_PREFIX."tiki_comments` SET `objectType`='".BITARTICLE_CONTENT_TYPE_GUID."' WHERE `objectType`='articles'",
+{/code}
+
+! php
+{code source=PHP}
+// allows you to simply pass PHP strings to the upgrader. this gives you
+// unlimited control over what can be done in the upgrader. you can copy
+// files and do all sorts of cool stuff this way
+ ' global $gBitSystem;
+ require_once( ARTICLES_PKG_PATH."BitArticle.php" );
+
+ // BitArticle has 3 sequences, each needs creating prior to execution
+ $max_articles = $gBitSystem->mDb->getOne( "SELECT MAX(`article_id`) FROM `'.BIT_DB_PREFIX.'tiki_articles`" );
+ $gBitSystem->mDb->CreateSequence( "tiki_articles_article_id_seq", $max_articles + 1 );
+ $max_topics = $gBitSystem->mDb->getOne( "SELECT MAX(`topic_id`) FROM `'.BIT_DB_PREFIX.'tiki_article_topics`" );
+ $gBitSystem->mDb->CreateSequence( "tiki_article_topics_topic_id_seq", $max_topics + 1 );
+ $max_types = $gBitSystem->mDb->getOne( "SELECT MAX(`article_type_id`) FROM `'.BIT_DB_PREFIX.'tiki_article_types`" );
+ $gBitSystem->mDb->CreateSequence( "tiki_article_types_article_type_id_seq", $max_types + 1 ); '
+{/code}
+
+The best way to get a feel for the upgrader is by looking at existing upgrade_inc.php files
 
Page History
Date/CommentUserIPVersion
18 May 2008 (20:35 UTC)
laetzer85.178.10.624
Current • Source
xing194.152.164.452
View • Compare • Difference • Source
xing194.152.164.451
View • Compare • Difference • Source