OSDN Git Service

add checking v3.3 routine
[nucleus-jp/nucleus-jp-ancient.git] / nucleus / upgrades / upgrade3.3.php
1 <?php
2 function upgrade_do33() {
3
4         if (upgrade_checkinstall(33))
5                 return 'already installed';
6
7         // alter nucleus_blog table
8         $query = 'ALTER TABLE ' . sql_table('blog')
9                    . ' ADD breqemail TINYINT(2) DEFAULT \'0\' NOT NULL';
10         upgrade_query('Altering ' . sql_table('blog') . ' table', $query);
11
12         // insert breqemail default value
13         $query = 'UPDATE ' . sql_table('blog')
14                    . ' SET breqemail=0';
15         upgrade_query('Filling breqemail column of ' . sql_table('blog') . ' table', $query);
16
17         // store cname from nucleus_category
18         $query = 'SELECT catid, cname FROM ' . sql_table('category') . ' ORDER By catid ASC';
19         $res = sql_query($query);
20         $aValues = array();
21         while ($o = mysql_fetch_object($res)) {
22                 $aValues[] = array(
23                                                 'catid' => $o->catid,
24                                                 'cname' => $o->cname
25                                         );
26         }
27
28         // alter nucleus_category
29         $query = 'ALTER TABLE ' . sql_table('category')
30                    . ' DROP COLUMN cname,'
31                    . ' ADD cname varchar(200) default NULL AFTER cblog';
32         upgrade_query('Altering ' . sql_table('category') . ' table', $query);
33
34         // refill cname to nucleus_category
35         foreach ($aValues as $aInfo) {
36                 $query = 'UPDATE ' . sql_table('category')
37                            . ' SET cname='
38                            . " '" . addslashes($aInfo['cname']) . "'"
39                            . " WHERE catid=" . $aInfo['catid'];
40                 upgrade_query('Re-filling ' . sql_table('category')
41                         . ' (' . $aInfo['catid'] . ')', $query);
42         }
43
44         // alter nucleus_comment
45         $query = 'ALTER TABLE ' . sql_table('comment')
46                    . ' ADD cemail varchar(100)'
47                    . ' AFTER cmail';
48         upgrade_query('Altering ' . sql_table('comment') . ' table', $query);
49         
50         // 3.2 -> 3.2+
51         // update database version  
52         $query = 'UPDATE ' . sql_table('config') . ' set value=\'330\' where name=\'DatabaseVersion\'';
53         upgrade_query('Updating DatabaseVersion in config table to 330', $query);
54
55         // nothing!
56 }
57
58 ?>