Changeset 20674 for websites

Show
Ignore:
Timestamp:
10/04/08 15:15:59 (2 months ago)
Author:
ha1t
Message:

rewrite sql

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • websites/events.php.gr.jp/trunk/app/vendors/shells/convert.php

    r20538 r20674  
    11<?php 
    22class ConvertShell extends Shell { 
    3          
    4         /* 
    5         * appディレクトリ内で下記のコマンドを実行でスキーマ変更を実施 
    6         * php ../cake/console/cake.php --working `pwd` convert update202to203 
    7         */ 
    8         function update202to203(){ 
     3     
     4    /* 
     5    * appディレクトリ内で下記のコマンドを実行でスキーマ変更を実施 
     6    * php ../cake/console/cake.php --working `pwd` convert update202to203 
     7    */ 
     8    function update202to203(){ 
    99 
    10                 require_once CONFIGS . 'database.php'; 
    11                 require_once CAKE.'libs/model/model.php'; 
    12                 require_once CAKE.'libs/model/app_model.php'; 
    13                 require_once APP.'models/event_attendee.php'; 
    14                  
    15                  
    16                 $event_attendee = new EventAttendee(); 
    17                  
    18                 $sql_list = array( 
    19                         'BEGIN TRANSACTION', 
    20                  
    21                         'DROP TABLE event_attendee_tmp', 
     10        require_once CONFIGS . 'database.php'; 
     11        require_once CAKE.'libs/model/model.php'; 
     12        require_once CAKE.'libs/model/app_model.php'; 
     13        require_once APP.'models/event_attendee.php'; 
     14         
     15         
     16        $event_attendee = new EventAttendee(); 
     17         
     18        $sql_list = array( 
     19            'BEGIN TRANSACTION', 
     20         
     21            'CREATE TEMPORARY TABLE event_attendee_tmp ( 
     22                id INTEGER NOT NULL PRIMARY KEY, 
     23                event_id INTEGER,  
     24                user_id INTEGER,  
     25                comment VARCHAR,  
     26                party INTEGER DEFAULT "0", 
     27                canceled INTEGER,  
     28                created TIMESTAMP,  
     29                modified TIMESTAMP )', 
    2230 
    23                         'CREATE TABLE event_attendee_tmp ( 
    24                             id INTEGER NOT NULL PRIMARY KEY, 
    25                             event_id INTEGER,  
    26                             user_id INTEGER,  
    27                             comment VARCHAR,  
    28                             party INTEGER DEFAULT "0", 
    29                             canceled INTEGER,  
    30                             created TIMESTAMP,  
    31                             modified TIMESTAMP )', 
     31            'INSERT INTO event_attendee_tmp SELECT id,event_id,user_id,comment,0, canceled,created,modified FROM event_attendee', 
     32            'DROP TABLE event_attendee', 
    3233 
    33                         'INSERT INTO event_attendee_tmp SELECT id,event_id,user_id,comment,0, canceled,created,modified FROM event_attendee', 
    34                         'DROP TABLE event_attendee', 
     34            'CREATE TABLE event_attendee ( 
     35                id INTEGER NOT NULL PRIMARY KEY, 
     36                event_id INTEGER,  
     37                user_id INTEGER,  
     38                comment VARCHAR,  
     39                party INTEGER DEFAULT "0", 
     40                canceled INTEGER,  
     41                created TIMESTAMP,  
     42                modified TIMESTAMP )', 
     43            'INSERT INTO event_attendee SELECT * FROM event_attendee_tmp', 
    3544 
    36                         'CREATE TABLE event_attendee ( 
    37                             id INTEGER NOT NULL PRIMARY KEY, 
    38                             event_id INTEGER,  
    39                             user_id INTEGER,  
    40                             comment VARCHAR,  
    41                             party INTEGER DEFAULT "0", 
    42                             canceled INTEGER,  
    43                             created TIMESTAMP,  
    44                             modified TIMESTAMP )', 
    45                         'INSERT INTO event_attendee SELECT * FROM event_attendee_tmp', 
    46                         'COMMIT', 
    47                 ); 
    48                  
    49                 foreach ($sql_list as $sql) { 
    50                         $this->out($sql); 
    51                         $ret = $event_attendee->query($sql); 
    52                         $this->out(var_export($ret,true)); 
    53                 } 
    54                 $this->out( "done!!"); 
    55                  
    56         } 
    57          
     45            'CREATE TEMPORARY TABLE system_tmp ( 
     46                id INTEGER, 
     47                v_column VARCHAR, 
     48                v_value VARCHAR, 
     49                modified TIMESTAMP )', 
     50 
     51            'INSERT INTO system_tmp SELECT ROWID,column,value,edited_at FROM system', 
     52            'DROP TABLE system', 
     53 
     54            'CREATE TABLE system ( 
     55                id INTEGER NOT NULL PRIMARY KEY, 
     56                v_column VARCHAR, 
     57                v_value VARCHAR, 
     58                modified TIMESTAMP )', 
     59 
     60            'INSERT INTO system SELECT * FROM system_tmp', 
     61 
     62            'CREATE TEMPORARY TABLE event_page_tmp ( 
     63                id       INTEGER, 
     64                event_id INTEGER, 
     65                user_id  INTEGER, 
     66                content  VARCHAR, 
     67                created  TIMESTAMP)', 
     68 
     69            'INSERT INTO event_page_tmp SELECT ROWID,event_id,NULL,content,timestamp FROM event_page', 
     70            'DROP TABLE event_page', 
     71 
     72            'CREATE TABLE event_page ( 
     73                id       INTEGER NOT NULL PRIMARY KEY, 
     74                event_id INTEGER, 
     75                user_id  INTEGER, 
     76                content  VARCHAR, 
     77                created  TIMESTAMP)', 
     78 
     79            'INSERT INTO event_page SELECT * FROM event_page_tmp', 
     80 
     81            'CREATE TEMPORARY TABLE trackback_tmp ( 
     82                id           INTEGER, 
     83                event_id     INTEGER, 
     84                url          VARCHAR, 
     85                title        VARCHAR, 
     86                excerpt      VARCHAR, 
     87                blog_name    VARCHAR, 
     88                receive_time TIMESTAMP, 
     89                remote_addr  VARCHAR)', 
     90            'INSERT INTO trackback_tmp SELECT ROWID,event_id,url,title,excerpt,blog_name,receive_time,remote_addr FROM trackback', 
     91            'DROP TABLE trackback', 
     92 
     93            'CREATE TABLE trackback ( 
     94                id           INTEGER NOT NULL PRIMARY KEY, 
     95                event_id     INTEGER, 
     96                url          VARCHAR, 
     97                title        VARCHAR, 
     98                excerpt      VARCHAR, 
     99                blog_name    VARCHAR, 
     100                receive_time TIMESTAMP, 
     101                remote_addr  VARCHAR)', 
     102 
     103            'INSERT INTO trackback SELECT * FROM trackback_tmp', 
     104 
     105            "UPDATE system SET v_value = '2.0.3' WHERE v_column = 'version'", 
     106 
     107            'COMMIT', 
     108        ); 
     109         
     110        foreach ($sql_list as $sql) { 
     111            $this->out($sql); 
     112            $ret = $event_attendee->query($sql); 
     113            if ($ret === false) { 
     114                $event_attendee->query("ROLLBACK"); 
     115                $this->out("ROLLBACK!"); 
     116                return -1; 
     117            } 
     118        } 
     119 
     120        $this->out( "done!!"); 
     121         
     122    } 
     123     
    58124} 
    59125?>