Mercurial > epgrec.yaz
comparison upgrade_to_201002.php @ 87:36ac7c416bd7
merged with upstream
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Mon, 01 Mar 2010 20:51:36 +0900 |
parents | cce6f88590fd |
children |
comparison
equal
deleted
inserted
replaced
75:11f63ae04a96 | 87:36ac7c416bd7 |
---|---|
1 #!/usr/bin/php | |
2 <?php | |
3 include_once('config.php'); | |
4 include_once(INSTALL_PATH . '/Settings.class.php' ); | |
5 | |
6 | |
7 // mysqli::multi_queryは動作がいまいちなので使わない | |
8 | |
9 function multi_query( $sqlstrs, $dbh ) { | |
10 $error = false; | |
11 | |
12 foreach( $sqlstrs as $sqlstr ) { | |
13 $res = mysql_query( $sqlstr ); | |
14 if( $res === FALSE ) { | |
15 echo "failed: ". $sqlstr . "\n"; | |
16 $error = true; | |
17 } | |
18 } | |
19 return $error; | |
20 } | |
21 | |
22 | |
23 $settings = Settings::factory(); | |
24 $dbh = mysql_connect( $settings->db_host, $settings->db_user, $settings->db_pass ); | |
25 if( $dbh !== FALSE ) { | |
26 | |
27 $sqlstr = "use ".$settings->db_name; | |
28 mysql_query( $sqlstr ); | |
29 | |
30 $sqlstr = "set NAMES 'utf8'"; | |
31 mysql_query( $sqlstr ); | |
32 | |
33 // RESERVE_TBL | |
34 | |
35 $sqlstrs = array ( | |
36 "alter table ".$settings->tbl_prefix.RESERVE_TBL." modify channel_disc varchar(128) not null default 'none';", // channel disc | |
37 "alter table ".$settings->tbl_prefix.RESERVE_TBL." modify channel_id integer not null default '0';", // channel ID | |
38 "alter table ".$settings->tbl_prefix.RESERVE_TBL." modify program_id integer not null default '0';", // Program ID | |
39 "alter table ".$settings->tbl_prefix.RESERVE_TBL." modify type varchar(8) not null default 'GR';", // 種別(GR/BS/CS) | |
40 "alter table ".$settings->tbl_prefix.RESERVE_TBL." modify channel varchar(10) not null default '0';", // チャンネル | |
41 "alter table ".$settings->tbl_prefix.RESERVE_TBL." modify title varchar(512) not null default 'none';", // タイトル | |
42 "alter table ".$settings->tbl_prefix.RESERVE_TBL." modify description varchar(512) not null default 'none';", // 説明 text->varchar | |
43 "alter table ".$settings->tbl_prefix.RESERVE_TBL." modify category_id integer not null default '0';", // カテゴリID | |
44 "alter table ".$settings->tbl_prefix.RESERVE_TBL." modify starttime datetime not null default '1970-01-01 00:00:00';", // 開始時刻 | |
45 "alter table ".$settings->tbl_prefix.RESERVE_TBL." modify endtime datetime not null default '1970-01-01 00:00:00';", // 終了時刻 | |
46 "alter table ".$settings->tbl_prefix.RESERVE_TBL." modify job integer not null default '0';", // job番号 | |
47 "alter table ".$settings->tbl_prefix.RESERVE_TBL." modify path blob default null;", // 録画ファイルパス | |
48 "alter table ".$settings->tbl_prefix.RESERVE_TBL." modify complete boolean not null default '0';", // 完了フラグ | |
49 "alter table ".$settings->tbl_prefix.RESERVE_TBL." modify reserve_disc varchar(128) not null default 'none';", // 識別用hash | |
50 "alter table ".$settings->tbl_prefix.RESERVE_TBL." modify autorec integer not null default '0';", // キーワードID | |
51 "alter table ".$settings->tbl_prefix.RESERVE_TBL." modify mode integer not null default '0';", //録画モード | |
52 ); | |
53 | |
54 if( multi_query( $sqlstrs, $dbh ) ) { | |
55 echo "予約テーブルのアップデートに失敗\n"; | |
56 } | |
57 | |
58 $sqlstrs = array( | |
59 "create index reserve_ch_idx on ".$settings->tbl_prefix.RESERVE_TBL." (channel_disc);", | |
60 "create index reserve_st_idx on ".$settings->tbl_prefix.RESERVE_TBL." (starttime);", | |
61 ); | |
62 | |
63 if( multi_query( $sqlstrs, $dbh ) ) { | |
64 echo "予約テーブルにインデックスが作成できません\n"; | |
65 } | |
66 | |
67 // PROGRAM_TBL | |
68 | |
69 $sqlstrs = array ( | |
70 "alter table ".$settings->tbl_prefix.PROGRAM_TBL." modify channel_disc varchar(128) not null default 'none';", // channel disc | |
71 "alter table ".$settings->tbl_prefix.PROGRAM_TBL." modify channel_id integer not null default '0';", // channel ID | |
72 "alter table ".$settings->tbl_prefix.PROGRAM_TBL." modify type varchar(8) not null default 'GR';", // 種別(GR/BS/CS) | |
73 "alter table ".$settings->tbl_prefix.PROGRAM_TBL." modify channel varchar(10) not null default '0';", // チャンネル | |
74 "alter table ".$settings->tbl_prefix.PROGRAM_TBL." modify title varchar(512) not null default 'none';", // タイトル | |
75 "alter table ".$settings->tbl_prefix.PROGRAM_TBL." modify description varchar(512) not null default 'none';", // 説明 text->varchar | |
76 "alter table ".$settings->tbl_prefix.PROGRAM_TBL." modify category_id integer not null default '0';", // カテゴリID | |
77 "alter table ".$settings->tbl_prefix.PROGRAM_TBL." modify starttime datetime not null default '1970-01-01 00:00:00';", // 開始時刻 | |
78 "alter table ".$settings->tbl_prefix.PROGRAM_TBL." modify endtime datetime not null default '1970-01-01 00:00:00';", // 終了時刻 | |
79 "alter table ".$settings->tbl_prefix.PROGRAM_TBL." modify program_disc varchar(128) not null default 'none';", // 識別用hash | |
80 "alter table ".$settings->tbl_prefix.PROGRAM_TBL." modify autorec boolean not null default '1';", // 自動録画有効無効 | |
81 ); | |
82 | |
83 if( multi_query( $sqlstrs, $dbh ) ) { | |
84 echo "番組テーブルのアップデートに失敗\n"; | |
85 } | |
86 | |
87 $sqlstrs = array( | |
88 "create index program_ch_idx on ".$settings->tbl_prefix.PROGRAM_TBL." (channel_disc);", // インデックス | |
89 "create index program_st_idx on ".$settings->tbl_prefix.PROGRAM_TBL." (starttime);", // インデックス | |
90 ); | |
91 | |
92 if( multi_query( $sqlstrs, $dbh ) ) { | |
93 echo "番組テーブルにインデックスが作成できません\n"; | |
94 } | |
95 | |
96 // CHANNEL_TBL | |
97 | |
98 $sqlstrs = array( | |
99 "alter table ".$settings->tbl_prefix.CHANNEL_TBL." modify type varchar(8) not null default 'GR';", // 種別 | |
100 "alter table ".$settings->tbl_prefix.CHANNEL_TBL." modify channel varchar(10) not null default '0';", // channel | |
101 "alter table ".$settings->tbl_prefix.CHANNEL_TBL." modify name varchar(512) not null default 'none';", // 表示名 | |
102 "alter table ".$settings->tbl_prefix.CHANNEL_TBL." modify channel_disc varchar(128) not null default 'none';", // 識別用hash | |
103 "alter table ".$settings->tbl_prefix.CHANNEL_TBL." add sid varchar(64) not null default 'hd'", // サービスID用02/23/2010追加 | |
104 ); | |
105 | |
106 if( multi_query( $sqlstrs, $dbh ) ) { | |
107 echo "チャンネルテーブルのアップデートに失敗\n"; | |
108 } | |
109 | |
110 // CATEGORY_TBL | |
111 | |
112 $sqlstrs = array( | |
113 "alter table ".$settings->tbl_prefix.CATEGORY_TBL." modify name_jp varchar(512) not null default 'none';", // 表示名 | |
114 "alter table ".$settings->tbl_prefix.CATEGORY_TBL." modify name_en varchar(512) not null default 'none';", // 同上 | |
115 "alter table ".$settings->tbl_prefix.CATEGORY_TBL." modify category_disc varchar(128) not null default 'none'", // 識別用hash | |
116 ); | |
117 if( multi_query( $sqlstrs, $dbh ) ) { | |
118 echo "カテゴリテーブルのアップデートに失敗\n"; | |
119 } | |
120 | |
121 // KEYWORD_TBL | |
122 | |
123 $sqlstrs = array( | |
124 "alter table ".$settings->tbl_prefix.KEYWORD_TBL." modify keyword varchar(512) not null default '*';", // 表示名 | |
125 "alter table ".$settings->tbl_prefix.KEYWORD_TBL." modify type varchar(8) not null default '*';", // 種別 | |
126 "alter table ".$settings->tbl_prefix.KEYWORD_TBL." modify channel_id integer not null default '0';", // channel ID | |
127 "alter table ".$settings->tbl_prefix.KEYWORD_TBL." modify category_id integer not null default '0';", // カテゴリID | |
128 "alter table ".$settings->tbl_prefix.KEYWORD_TBL." modify use_regexp boolean not null default '0';", // 正規表現を使用するなら1 | |
129 "alter table ".$settings->tbl_prefix.KEYWORD_TBL." add autorec_mode integer not null default '0';", // 自動録画のモード02/23/2010追加 | |
130 "alter table ".$settings->tbl_prefix.KEYWORD_TBL." add weekofday enum ('0','1','2','3','4','5','6','7' ) default '7'", // 曜日、同追加 | |
131 ); | |
132 if( multi_query( $sqlstrs, $dbh ) ) { | |
133 echo "キーワードテーブルのアップデートに失敗\n"; | |
134 } | |
135 } | |
136 else | |
137 exit( "DBの接続に失敗\n" ); | |
138 ?> |