80
|
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 ?> |