diff options
Diffstat (limited to 'install')
-rw-r--r-- | install/schema_mysql.sql | 2 | ||||
-rw-r--r-- | install/schema_postgres.sql | 2 | ||||
-rw-r--r-- | install/update.php | 38 |
3 files changed, 39 insertions, 3 deletions
diff --git a/install/schema_mysql.sql b/install/schema_mysql.sql index 13fc54aba..d2a5ac85e 100644 --- a/install/schema_mysql.sql +++ b/install/schema_mysql.sql @@ -1,7 +1,7 @@ CREATE TABLE IF NOT EXISTS `abconfig` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `chan` char(255) NOT NULL DEFAULT '', + `chan` int(10) unsigned NOT NULL DEFAULT '', `xchan` char(255) NOT NULL DEFAULT '', `cat` char(255) NOT NULL DEFAULT '', `k` char(255) NOT NULL DEFAULT '', diff --git a/install/schema_postgres.sql b/install/schema_postgres.sql index 9473252e6..64cf37f7e 100644 --- a/install/schema_postgres.sql +++ b/install/schema_postgres.sql @@ -1,6 +1,6 @@ CREATE TABLE "abconfig" ( "id" serial NOT NULL, - "chan" text NOT NULL, + "chan" bigint NOT NULL, "xchan" text NOT NULL, "cat" text NOT NULL, "k" text NOT NULL, diff --git a/install/update.php b/install/update.php index 241de78e1..3cb5010eb 100644 --- a/install/update.php +++ b/install/update.php @@ -1,6 +1,6 @@ <?php -define( 'UPDATE_VERSION' , 1178 ); +define( 'UPDATE_VERSION' , 1179 ); /** * @@ -2325,3 +2325,39 @@ function update_r1177() { return UPDATE_SUCCESS; return UPDATE_FAILED; } + + +function update_r1178() { + + $c2 = null; + + $c1 = q("SELECT channel_id, channel_hash from channel where true"); + if($c1) { + $c2 = q("SELECT id, chan from abconfig where true"); + if($c2) { + for($x = 0; $x < count($c2); $x ++) { + foreach($c1 as $c) { + if($c['channel_hash'] == $c2[$x]['chan']) { + $c2[$x]['chan'] = $c['channel_id']; + break; + } + } + } + } + } + + $r1 = q("ALTER TABLE abconfig CHANGE chan chan int(10) unsigned NOT NULL DEFAULT '0' "); + + if($c2) { + foreach($c2 as $c) { + q("UPDATE abconfig SET chan = %d where id = %d", + intval($c['chan']), + intval($c['id']) + ); + } + } + + if($r1) + return UPDATE_SUCCESS; + return UPDATE_FAILED; +}
\ No newline at end of file |