Thread: SF.net SVN: postfixadmin:[423] trunk/upgrade.php
Brought to you by:
christian_boltz,
gingerdog
From: <Gin...@us...> - 2008-07-28 14:05:35
|
Revision: 423 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=423&view=rev Author: GingerDog Date: 2008-07-28 14:05:44 +0000 (Mon, 28 Jul 2008) Log Message: ----------- upgrade.php: ensure config table has an initial version entry Modified Paths: -------------- trunk/upgrade.php Modified: trunk/upgrade.php =================================================================== --- trunk/upgrade.php 2008-07-27 21:28:55 UTC (rev 422) +++ trunk/upgrade.php 2008-07-28 14:05:44 UTC (rev 423) @@ -87,6 +87,7 @@ $row = db_array($rs); $version = $row['value']; } else { + db_query_parsed("INSERT INTO config (name, value) VALUES ('version', '0')", 0, ''); $version = 0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Gin...@us...> - 2008-07-28 14:07:46
|
Revision: 424 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=424&view=rev Author: GingerDog Date: 2008-07-28 14:07:54 +0000 (Mon, 28 Jul 2008) Log Message: ----------- make this upgrade conditional on the row not already being there Modified Paths: -------------- trunk/upgrade.php Modified: trunk/upgrade.php =================================================================== --- trunk/upgrade.php 2008-07-28 14:05:44 UTC (rev 423) +++ trunk/upgrade.php 2008-07-28 14:07:54 UTC (rev 424) @@ -211,17 +211,6 @@ } } -function upgrade_1() { -# inserting the version number is a good start ;-) - db_insert( - 'config', - array( - 'name' => 'version', - 'value' => '1', - ) - ); - echo "upgrade_1"; -} function upgrade_1_mysql() { // CREATE MYSQL DATABASE TABLES. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <chr...@us...> - 2008-08-03 22:28:37
|
Revision: 435 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=435&view=rev Author: christian_boltz Date: 2008-08-03 22:28:47 +0000 (Sun, 03 Aug 2008) Log Message: ----------- upgrade.php - removed upgrade_300_mysql() which contained duplicated code (see upgrade_362_*) and was placed in the middle of another upgrade function @GingerDog: Do we need the 'Constraint "alias_domain_pkey"'? (see comment) - replace hardcoded 'config' table name with table_by_key('config') - several whitespace fixes - use common vim: line Modified Paths: -------------- trunk/upgrade.php Modified: trunk/upgrade.php =================================================================== --- trunk/upgrade.php 2008-08-03 10:12:35 UTC (rev 434) +++ trunk/upgrade.php 2008-08-03 22:28:47 UTC (rev 435) @@ -1,9 +1,10 @@ <?php if(!defined('POSTFIXADMIN')) { - require_once('common.php'); + require_once('common.php'); } -// vim ts=4:sw=4:et +/* vim: set expandtab softtabstop=4 tabstop=4 shiftwidth=4: */ + # Note: run with upgrade.php?debug=1 to see all SQL error messages @@ -76,7 +77,7 @@ db_query_parsed($mysql, 0, " ENGINE = MYISAM COMMENT = 'PostfixAdmin settings'"); } -$sql = "SELECT * FROM config WHERE name = 'version'"; +$sql = "SELECT * FROM " . table_by_key ('config') . " WHERE name = 'version'"; // insert into config('version', '01'); @@ -87,7 +88,7 @@ $row = db_array($rs); $version = $row['value']; } else { - db_query_parsed("INSERT INTO config (name, value) VALUES ('version', '0')", 0, ''); + db_query_parsed("INSERT INTO " . table_by_key ('config') . " (name, value) VALUES ('version', '0')", 0, ''); $version = 0; } @@ -189,7 +190,7 @@ $query = trim(str_replace(array_keys($replace), $replace, $sql)); if (safeget('debug') != "") { print "<p style='color:#999'>$query"; - } + } $result = db_query($query, $ignore_errors); if (safeget('debug') != "") { print "<div style='color:#f00'>" . $result['error'] . "</div>"; @@ -526,53 +527,6 @@ $result = db_query_parsed("CREATE INDEX alias_address_active ON alias(address,active)"); } -/** - * MySQL only alias_domain table - */ -function upgrade_300_mysql() { - $table_alias_domain = table_by_key('alias_domain'); - // i just duplicate stuff from DATABASE_*.TXT over here? - if( $CONF['database_type'] == 'pgsql' ) { - // check if table already exists, if so, don't recreate it - $sql_table_exists = - "SELECT relname ". - " FROM pg_class ". - " WHERE relname = '$table_alias_domain'"; - $res = db_query( $sql_table_exists ); - if( $res['rows'] == 0 ) { - $sql_table_create = - "CREATE TABLE $table_alias_domain ( ". - " alias_domain character varying(255) NOT NULL REFERENCES domain(domain) ON DELETE CASCADE, ". - " target_domain character varying(255) NOT NULL REFERENCES domain(domain) ON DELETE CASCADE, ". - " created timestamp with time zone default now(), ". - " modified timestamp with time zone default now(), ". - " active boolean NOT NULL default true, ". - " Constraint \"alias_domain_pkey\" Primary Key (\"alias_domain\") ". - ")"; - db_query( $sql_table_create ); - $sql_table_index = - "CREATE INDEX alias_domain_active ON $table_alias_domain(alias_domain,active)"; - db_query( $sql_table_index ); - $sql_table_comment = - "COMMENT ON TABLE $table_alias_domain IS 'Postfix Admin - Domain Aliases'"; - db_query( $sql_table_comment ); - } - } else { // database-type mysql assumed - $sql_table_create = - "CREATE TABLE IF NOT EXISTS `$table_alias_domain` ( ". - " `alias_domain` varchar(255) NOT NULL default '', ". - " `target_domain` varchar(255) NOT NULL default '', ". - " `created` datetime NOT NULL default '0000-00-00 00:00:00', ". - " `modified` datetime NOT NULL default '0000-00-00 00:00:00', ". - " `active` tinyint(1) NOT NULL default '1', ". - " PRIMARY KEY (`alias_domain`), ". - " KEY `active` (`active`), ". - " KEY `target_domain` (`target_domain`) ". - ") TYPE=MyISAM COMMENT='Postfix Admin - Domain Aliases'"; - db_query( $sql_table_create ); - } -} - $result = db_query_parsed("ALTER TABLE $table_domain_admins ALTER COLUMN username DROP DEFAULT"); $result = db_query_parsed("ALTER TABLE $table_domain_admins ALTER COLUMN domain DROP DEFAULT"); @@ -903,7 +857,7 @@ } /** - * Support alias_domain table + * Create alias_domain table - MySQL */ function upgrade_362_mysql() { # Table structure for table alias_domain @@ -917,15 +871,14 @@ `modified` datetime NOT NULL default '0000-00-00 00:00:00', `active` tinyint(1) NOT NULL default '1', PRIMARY KEY (`alias_domain`), - KEY `active` (`active`), - KEY `target_domain` (`target_domain`) -) TYPE=MyISAM COMMENT='Postfix Admin - Domain Aliases'"); - - + KEY `active` (`active`), + KEY `target_domain` (`target_domain`) + ) TYPE=MyISAM COMMENT='Postfix Admin - Domain Aliases' + "); } /** - * Support alias_domain table + * Create alias_domain table - PgSQL */ function upgrade_362_pgsql() { # Table structure for table alias_domain @@ -934,14 +887,15 @@ if(_pgsql_object_exists($table_alias_domain)) { return; } - db_query_parsed( - "CREATE TABLE $table_alias_domain ( + db_query_parsed(" + CREATE TABLE $table_alias_domain ( alias_domain character varying(255) NOT NULL REFERENCES $table_domain(domain) ON DELETE CASCADE, target_domain character varying(255) NOT NULL REFERENCES $table_domain(domain) ON DELETE CASCADE, created timestamp with time zone default now(), - modified timestamp with time zone default now(), - active boolean NOT NULL default true, - PRIMARY KEY(alias_domain))"); + modified timestamp with time zone default now(), + active boolean NOT NULL default true, + PRIMARY KEY(alias_domain))"); +# Constraint \"alias_domain_pkey\" Primary Key (\"alias_domain\") db_query_parsed("CREATE INDEX alias_domain_active ON $table_alias_domain(alias_domain,active)"); db_query_parsed("COMMENT ON TABLE $table_alias_domain IS 'Postfix Admin - Domain Aliases'"); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Gin...@us...> - 2008-08-04 00:01:51
|
Revision: 436 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=436&view=rev Author: GingerDog Date: 2008-08-04 00:02:00 +0000 (Mon, 04 Aug 2008) Log Message: ----------- remove comment as per cboltz's request etc Modified Paths: -------------- trunk/upgrade.php Modified: trunk/upgrade.php =================================================================== --- trunk/upgrade.php 2008-08-03 22:28:47 UTC (rev 435) +++ trunk/upgrade.php 2008-08-04 00:02:00 UTC (rev 436) @@ -895,7 +895,6 @@ modified timestamp with time zone default now(), active boolean NOT NULL default true, PRIMARY KEY(alias_domain))"); -# Constraint \"alias_domain_pkey\" Primary Key (\"alias_domain\") db_query_parsed("CREATE INDEX alias_domain_active ON $table_alias_domain(alias_domain,active)"); db_query_parsed("COMMENT ON TABLE $table_alias_domain IS 'Postfix Admin - Domain Aliases'"); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <chr...@us...> - 2008-08-05 20:26:22
|
Revision: 438 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=438&view=rev Author: christian_boltz Date: 2008-08-05 20:26:30 +0000 (Tue, 05 Aug 2008) Log Message: ----------- upgrade.php: - upgrade_362_*() renamed to upgrade_438_* to make sure it runs after an upgrade from 2.2.x Modified Paths: -------------- trunk/upgrade.php Modified: trunk/upgrade.php =================================================================== --- trunk/upgrade.php 2008-08-05 18:10:19 UTC (rev 437) +++ trunk/upgrade.php 2008-08-05 20:26:30 UTC (rev 438) @@ -859,7 +859,8 @@ /** * Create alias_domain table - MySQL */ -function upgrade_362_mysql() { +# function upgrade_362_mysql() { # renamed to _438 to make sure it runs after an upgrade from 2.2.x +function upgrade_438_mysql() { # Table structure for table alias_domain # $table_alias_domain = table_by_key('alias_domain'); @@ -880,7 +881,8 @@ /** * Create alias_domain table - PgSQL */ -function upgrade_362_pgsql() { +# function upgrade_362_pgsql() { # renamed to _438 to make sure it runs after an upgrade from 2.2.x +function upgrade_438_pgsql() { # Table structure for table alias_domain $table_alias_domain = table_by_key('alias_domain'); $table_domain = table_by_key('domain'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Gin...@us...> - 2008-08-16 17:56:18
|
Revision: 448 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=448&view=rev Author: GingerDog Date: 2008-08-16 17:56:28 +0000 (Sat, 16 Aug 2008) Log Message: ----------- upgrade.php: fix from zl2tod (via IRC) Modified Paths: -------------- trunk/upgrade.php Modified: trunk/upgrade.php =================================================================== --- trunk/upgrade.php 2008-08-16 12:05:44 UTC (rev 447) +++ trunk/upgrade.php 2008-08-16 17:56:28 UTC (rev 448) @@ -929,7 +929,6 @@ "); } function upgrade_439_pgsql() { - db_query_parsed(" - ALTER TABLE $table_fetchmail ADD COLUMN ssl BOOLEAN NOT NULL DEFAULT false; - "); + $table_fetchmail = table_by_key('fetchmail'); + db_query_parsed("ALTER TABLE $table_fetchmail ADD COLUMN ssl BOOLEAN NOT NULL DEFAULT false"); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Gin...@us...> - 2008-08-31 14:15:39
|
Revision: 452 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=452&view=rev Author: GingerDog Date: 2008-08-31 14:15:48 +0000 (Sun, 31 Aug 2008) Log Message: ----------- upgrade.php: ensure we cope with config table with a prefix; thanks to AldoReset (IRC); see also https://sourceforge.net/tracker/index.php?func=detail&aid=2084937&group_id=191583&atid=937964 Modified Paths: -------------- trunk/upgrade.php Modified: trunk/upgrade.php =================================================================== --- trunk/upgrade.php 2008-08-31 14:03:11 UTC (rev 451) +++ trunk/upgrade.php 2008-08-31 14:15:48 UTC (rev 452) @@ -51,12 +51,13 @@ } +$table = table_by_key('config'); if($CONF['database_type'] == 'pgsql') { // check if table already exists, if so, don't recreate it - $r = db_query("SELECT relname FROM pg_class WHERE relname = 'config'"); + $r = db_query("SELECT relname FROM pg_class WHERE relname = '$table'"); if($r['rows'] == 0) { $pgsql = " - CREATE TABLE " . table_by_key ('config') . " ( + CREATE TABLE $table ( id SERIAL, name VARCHAR(20) NOT NULL UNIQUE, value VARCHAR(20) NOT NULL, @@ -67,7 +68,7 @@ } else { $mysql = " - CREATE TABLE {IF_NOT_EXISTS} " . table_by_key ('config') . "( + CREATE TABLE {IF_NOT_EXISTS} $table ( `id` {AUTOINCREMENT} {PRIMARY}, `name` VARCHAR(20) {LATIN1} NOT NULL DEFAULT '', `value` VARCHAR(20) {LATIN1} NOT NULL DEFAULT '', @@ -77,7 +78,7 @@ db_query_parsed($mysql, 0, " ENGINE = MYISAM COMMENT = 'PostfixAdmin settings'"); } -$sql = "SELECT * FROM " . table_by_key ('config') . " WHERE name = 'version'"; +$sql = "SELECT * FROM $table WHERE name = 'version'"; // insert into config('version', '01'); @@ -88,7 +89,7 @@ $row = db_array($rs); $version = $row['value']; } else { - db_query_parsed("INSERT INTO " . table_by_key ('config') . " (name, value) VALUES ('version', '0')", 0, ''); + db_query_parsed("INSERT INTO $table (name, value) VALUES ('version', '0')", 0, ''); $version = 0; } @@ -105,7 +106,7 @@ return true; } - echo "<p>Updating database:<p>old version: $current_version; target version: $target_version"; + echo "<p>Updating database:</p><p>- old version: $current_version; target version: $target_version</p>"; for ($i = $current_version +1; $i <= $target_version; $i++) { $function = "upgrade_$i"; @@ -131,7 +132,8 @@ } // Update config table so we don't run the same query twice in the future. $i = (int) $i; - $sql = "UPDATE config SET value = $i WHERE name = 'version'"; + $table = table_by_key('config'); + $sql = "UPDATE $table SET value = $i WHERE name = 'version'"; db_query($sql); }; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <chr...@us...> - 2008-10-31 10:24:34
|
Revision: 469 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=469&view=rev Author: christian_boltz Date: 2008-10-31 10:24:23 +0000 (Fri, 31 Oct 2008) Log Message: ----------- upgrade.php: - upgrade_469_mysql: fix "illegal mix of collations" by explicitely setting the charset for all VARCHAR and TEXT fields. http://sourceforge.net/tracker2/?func=detail&aid=1990191&group_id=191583&atid=937964 Modified Paths: -------------- trunk/upgrade.php Modified: trunk/upgrade.php =================================================================== --- trunk/upgrade.php 2008-10-21 11:08:19 UTC (rev 468) +++ trunk/upgrade.php 2008-10-31 10:24:23 UTC (rev 469) @@ -934,3 +934,60 @@ $table_fetchmail = table_by_key('fetchmail'); db_query_parsed("ALTER TABLE $table_fetchmail ADD COLUMN ssl BOOLEAN NOT NULL DEFAULT false"); } + +function upgrade_469_mysql() { + $table_admin = table_by_key('admin'); + $table_alias = table_by_key('alias'); + $table_al_dom = table_by_key('alias_domain'); + $table_domain = table_by_key('domain'); + $table_dom_adm = table_by_key('domain_admins'); + $table_fmail = table_by_key('fetchmail'); + $table_mailbox = table_by_key('mailbox'); + $table_log = table_by_key('log'); + + # tables were created without explicit charset before :-( + $all_sql = split("\n", trim(" + ALTER TABLE `$table_admin` CHANGE `username` `username` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_admin` CHANGE `password` `password` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_admin` DEFAULT {LATIN1} + ALTER TABLE `$table_alias` CHANGE `address` `address` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_alias` CHANGE `goto` `goto` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_alias` CHANGE `domain` `domain` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_alias` DEFAULT {LATIN1} + ALTER TABLE `$table_al_dom` CHANGE `alias_domain` `alias_domain` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_al_dom` CHANGE `target_domain` `target_domain` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_al_dom` DEFAULT {LATIN1} + ALTER TABLE `$table_domain` CHANGE `domain` `domain` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_domain` CHANGE `transport` `transport` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_domain` DEFAULT {LATIN1} + ALTER TABLE `$table_dom_adm` CHANGE `username` `username` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_dom_adm` CHANGE `domain` `domain` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_dom_adm` DEFAULT {LATIN1} + ALTER TABLE `$table_log` CHANGE `username` `username` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_log` CHANGE `domain` `domain` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_log` CHANGE `action` `action` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_log` CHANGE `data` `data` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_log` DEFAULT {LATIN1} + ALTER TABLE `$table_mailbox` CHANGE `username` `username` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_mailbox` CHANGE `password` `password` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_mailbox` CHANGE `maildir` `maildir` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_mailbox` CHANGE `domain` `domain` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_mailbox` DEFAULT {LATIN1} + ALTER TABLE `$table_fmail` CHANGE `mailbox` `mailbox` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_fmail` CHANGE `src_server` `src_server` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_fmail` CHANGE `src_user` `src_user` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_fmail` CHANGE `src_password` `src_password` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_fmail` CHANGE `src_folder` `src_folder` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_fmail` CHANGE `mda` `mda` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_fmail` CHANGE `mailbox` `mailbox` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_fmail` CHANGE `extra_options` `extra_options` TEXT {LATIN1} NULL DEFAULT NULL + ALTER TABLE `$table_fmail` CHANGE `returned_text` `returned_text` TEXT {LATIN1} NULL DEFAULT NULL + ALTER TABLE `$table_fmail` DEFAULT {LATIN1} + ")); + + foreach ($all_sql as $sql) { + $result = db_query_parsed($sql); + } +} + + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <chr...@us...> - 2008-11-06 22:08:46
|
Revision: 473 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=473&view=rev Author: christian_boltz Date: 2008-11-06 22:08:35 +0000 (Thu, 06 Nov 2008) Log Message: ----------- upgrade.php: - alias.goto was accidently changed to varchar(255) in upgrade_469_mysql. Make it a text field again. https://sourceforge.net/tracker/?func=detail&atid=937964&aid=2221002&group_id=191583 - renamed upgrade_469_mysql to upgrade_473_mysql to ensure the above change is done Modified Paths: -------------- trunk/upgrade.php Modified: trunk/upgrade.php =================================================================== --- trunk/upgrade.php 2008-11-05 21:04:29 UTC (rev 472) +++ trunk/upgrade.php 2008-11-06 22:08:35 UTC (rev 473) @@ -935,7 +935,7 @@ db_query_parsed("ALTER TABLE $table_fetchmail ADD COLUMN ssl BOOLEAN NOT NULL DEFAULT false"); } -function upgrade_469_mysql() { +function upgrade_473_mysql() { $table_admin = table_by_key('admin'); $table_alias = table_by_key('alias'); $table_al_dom = table_by_key('alias_domain'); @@ -951,7 +951,7 @@ ALTER TABLE `$table_admin` CHANGE `password` `password` VARCHAR( 255 ) {LATIN1} NOT NULL ALTER TABLE `$table_admin` DEFAULT {LATIN1} ALTER TABLE `$table_alias` CHANGE `address` `address` VARCHAR( 255 ) {LATIN1} NOT NULL - ALTER TABLE `$table_alias` CHANGE `goto` `goto` VARCHAR( 255 ) {LATIN1} NOT NULL + ALTER TABLE `$table_alias` CHANGE `goto` `goto` TEXT ) {LATIN1} NOT NULL ALTER TABLE `$table_alias` CHANGE `domain` `domain` VARCHAR( 255 ) {LATIN1} NOT NULL ALTER TABLE `$table_alias` DEFAULT {LATIN1} ALTER TABLE `$table_al_dom` CHANGE `alias_domain` `alias_domain` VARCHAR( 255 ) {LATIN1} NOT NULL This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <chr...@us...> - 2008-11-12 20:15:06
|
Revision: 477 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=477&view=rev Author: christian_boltz Date: 2008-11-12 20:15:04 +0000 (Wed, 12 Nov 2008) Log Message: ----------- upgrade.php - fix MySQL syntax error in upgrade_473_mysql (pointed out by int on IRC) Modified Paths: -------------- trunk/upgrade.php Modified: trunk/upgrade.php =================================================================== --- trunk/upgrade.php 2008-11-11 23:00:09 UTC (rev 476) +++ trunk/upgrade.php 2008-11-12 20:15:04 UTC (rev 477) @@ -951,7 +951,7 @@ ALTER TABLE `$table_admin` CHANGE `password` `password` VARCHAR( 255 ) {LATIN1} NOT NULL ALTER TABLE `$table_admin` DEFAULT {LATIN1} ALTER TABLE `$table_alias` CHANGE `address` `address` VARCHAR( 255 ) {LATIN1} NOT NULL - ALTER TABLE `$table_alias` CHANGE `goto` `goto` TEXT ) {LATIN1} NOT NULL + ALTER TABLE `$table_alias` CHANGE `goto` `goto` TEXT {LATIN1} NOT NULL ALTER TABLE `$table_alias` CHANGE `domain` `domain` VARCHAR( 255 ) {LATIN1} NOT NULL ALTER TABLE `$table_alias` DEFAULT {LATIN1} ALTER TABLE `$table_al_dom` CHANGE `alias_domain` `alias_domain` VARCHAR( 255 ) {LATIN1} NOT NULL This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <chr...@us...> - 2008-11-21 21:10:27
|
Revision: 483 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=483&view=rev Author: christian_boltz Date: 2008-11-21 21:10:21 +0000 (Fri, 21 Nov 2008) Log Message: ----------- upgrade.php - upgrade_483_mysql(): change log.data to TEXT (was VARCHAR) - this fixes problems when changing aliases with lots of targets https://sourceforge.net/tracker/?func=detail&atid=937964&aid=1980062&group_id=191583 Modified Paths: -------------- trunk/upgrade.php Modified: trunk/upgrade.php =================================================================== --- trunk/upgrade.php 2008-11-13 11:56:52 UTC (rev 482) +++ trunk/upgrade.php 2008-11-21 21:10:21 UTC (rev 483) @@ -1000,3 +1000,8 @@ db_query_parsed("alter table $table_fmail rename column ssl to usessl"); } +function upgrade_483_mysql () { + $table_log = table_by_key('log'); + db_query_parsed("ALTER TABLE $table_log CHANGE `data` `data` TEXT {LATIN1} NOT NULL"); +} + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Gin...@us...> - 2008-11-24 20:54:25
|
Revision: 487 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=487&view=rev Author: GingerDog Date: 2008-11-24 20:54:20 +0000 (Mon, 24 Nov 2008) Log Message: ----------- upgrade.php: use dynamic table names more often - should make postgresql more happy with shcmeas etc Modified Paths: -------------- trunk/upgrade.php Modified: trunk/upgrade.php =================================================================== --- trunk/upgrade.php 2008-11-23 12:24:14 UTC (rev 486) +++ trunk/upgrade.php 2008-11-24 20:54:20 UTC (rev 487) @@ -366,7 +366,7 @@ CREATE TABLE ' . table_by_key('alias') . ' ( address character varying(255) NOT NULL, goto text NOT NULL, - domain character varying(255) NOT NULL REFERENCES domain, + domain character varying(255) NOT NULL REFERENCES "' . table_by_key('domain') '", created timestamp with time zone default now(), modified timestamp with time zone default now(), active boolean NOT NULL default true, @@ -381,7 +381,7 @@ db_query_parsed(' CREATE TABLE ' . table_by_key('domain_admins') . ' ( username character varying(255) NOT NULL, - domain character varying(255) NOT NULL REFERENCES domain, + domain character varying(255) NOT NULL REFERENCES "' . table_by_key('domain') . '", created timestamp with time zone default now(), active boolean NOT NULL default true ); @@ -410,7 +410,7 @@ name character varying(255) NOT NULL default \'\', maildir character varying(255) NOT NULL default \'\', quota integer NOT NULL default 0, - domain character varying(255) NOT NULL REFERENCES domain, + domain character varying(255) NOT NULL REFERENCES "' . table_by_key('domain') . '", created timestamp with time zone default now(), modified timestamp with time zone default now(), active boolean NOT NULL default true, @@ -428,7 +428,7 @@ subject character varying(255) NOT NULL, body text NOT NULL , cache text NOT NULL , - "domain" character varying(255) NOT NULL REFERENCES "domain", + "domain" character varying(255) NOT NULL REFERENCES "' . table_by_key('domain') . '", created timestamp with time zone DEFAULT now(), active boolean DEFAULT true NOT NULL ); @@ -438,7 +438,7 @@ if(!_pgsql_object_exists(table_by_key('vacation_notification'))) { db_query_parsed(' CREATE TABLE ' . table_by_key('vacation_notification') . ' ( - on_vacation character varying(255) NOT NULL REFERENCES vacation(email) ON DELETE CASCADE, + on_vacation character varying(255) NOT NULL REFERENCES ' . table_by_key('vacation') . '(email) ON DELETE CASCADE, notified character varying(255) NOT NULL, notified_at timestamp with time zone NOT NULL DEFAULT now(), CONSTRAINT vacation_notification_pkey primary key(on_vacation,notified) @@ -512,6 +512,7 @@ $table_log = table_by_key('log'); $table_mailbox = table_by_key('mailbox'); $table_vacation = table_by_key('vacation'); + $table_vacation_notification = table_by_key('vacation_notification'); if(!_pgsql_field_exists($table_domain, 'quota')) { $result = db_query_parsed("ALTER TABLE $table_domain ADD COLUMN quota int NOT NULL default '0'"); @@ -519,14 +520,14 @@ $result = db_query_parsed("ALTER TABLE $table_domain ALTER COLUMN domain DROP DEFAULT"); if(!_pgsql_object_exists('domain_domain_active')) { - $result = db_query_parsed("CREATE INDEX domain_domain_active ON domain(domain,active)"); + $result = db_query_parsed("CREATE INDEX domain_domain_active ON $table_domain(domain,active)"); } $result = db_query_parsed("ALTER TABLE $table_domain_admins ALTER COLUMN domain DROP DEFAULT"); $result = db_query_parsed("ALTER TABLE $table_alias ALTER COLUMN address DROP DEFAULT"); $result = db_query_parsed("ALTER TABLE $table_alias ALTER COLUMN domain DROP DEFAULT"); if(!_pgsql_object_exists('alias_address_active')) { - $result = db_query_parsed("CREATE INDEX alias_address_active ON alias(address,active)"); + $result = db_query_parsed("CREATE INDEX alias_address_active ON $table_alias(address,active)"); } $result = db_query_parsed("ALTER TABLE $table_domain_admins ALTER COLUMN username DROP DEFAULT"); @@ -546,13 +547,13 @@ $result = db_query_parsed(" BEGIN; ALTER TABLE $table_mailbox RENAME COLUMN domain TO domain_old; - ALTER TABLE $table_mailbox ADD COLUMN domain varchar(255) REFERENCES domain (domain); + ALTER TABLE $table_mailbox ADD COLUMN domain varchar(255) REFERENCES $table_domain (domain); UPDATE $table_mailbox SET domain = domain_old; ALTER TABLE $table_mailbox DROP COLUMN domain_old; COMMIT;" ); if(!_pgsql_object_exists('mailbox_username_active')) { - db_query_parsed('CREATE INDEX mailbox_username_active ON mailbox(username,active)'); + db_query_parsed('CREATE INDEX mailbox_username_active ON $table_mailbox(username,active)'); } @@ -564,20 +565,20 @@ $result = db_query_parsed(" BEGIN; ALTER TABLE $table_vacation RENAME COLUMN domain to domain_old; - ALTER TABLE $table_vacation ADD COLUMN domain varchar(255) REFERENCES domain; + ALTER TABLE $table_vacation ADD COLUMN domain varchar(255) REFERENCES $domain; UPDATE $table_vacation SET domain = domain_old; ALTER TABLE $table_vacation DROP COLUMN domain_old; COMMIT; "); if(!_pgsql_object_exists('vacation_email_active')) { - $result = db_query_parsed("CREATE INDEX vacation_email_active ON vacation(email,active)"); + $result = db_query_parsed("CREATE INDEX vacation_email_active ON $table_vacation(email,active)"); } - if(!_pgsql_object_exists('vacation_notification')) { + if(!_pgsql_object_exists($table_vacation_notification)) { $result = db_query_parsed(" - CREATE TABLE vacation_notification ( - on_vacation character varying(255) NOT NULL REFERENCES vacation(email) ON DELETE CASCADE, + CREATE TABLE $table_vacation_notification ( + on_vacation character varying(255) NOT NULL REFERENCES $table_vacation(email) ON DELETE CASCADE, notified character varying(255) NOT NULL, notified_at timestamp with time zone NOT NULL DEFAULT now(), CONSTRAINT vacation_notification_pkey primary key(on_vacation,notified));"); @@ -756,6 +757,7 @@ */ function upgrade_318_mysql() { $table_vacation_notification = table_by_key('vacation_notification'); + $table_vacation = table_by_key('vacation'); db_query_parsed( " CREATE TABLE {IF_NOT_EXISTS} $table_vacation_notification ( @@ -764,7 +766,7 @@ notified_at timestamp NOT NULL default CURRENT_TIMESTAMP, PRIMARY KEY on_vacation (`on_vacation`, `notified`), CONSTRAINT `vacation_notification_pkey` - FOREIGN KEY (`on_vacation`) REFERENCES vacation(`email`) ON DELETE CASCADE + FOREIGN KEY (`on_vacation`) REFERENCES $table_vacation(`email`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT {LATIN1} TYPE=InnoDB COMMENT='Postfix Admin - Virtual Vacation Notifications' @@ -789,7 +791,7 @@ # create constraint... $result = db_query_parsed(" ALTER TABLE $table_vacation_notification ADD CONSTRAINT `vacation_notification_pkey` - FOREIGN KEY (`on_vacation`) REFERENCES vacation(`email`) ON DELETE CASCADE "); + FOREIGN KEY (`on_vacation`) REFERENCES $table_vacation(`email`) ON DELETE CASCADE "); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Gin...@us...> - 2008-11-25 09:55:31
|
Revision: 490 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=490&view=rev Author: GingerDog Date: 2008-11-25 09:55:27 +0000 (Tue, 25 Nov 2008) Log Message: ----------- upgrade.php: see bug 2339963 Modified Paths: -------------- trunk/upgrade.php Modified: trunk/upgrade.php =================================================================== --- trunk/upgrade.php 2008-11-25 09:51:51 UTC (rev 489) +++ trunk/upgrade.php 2008-11-25 09:55:27 UTC (rev 490) @@ -401,10 +401,9 @@ COMMENT ON TABLE ' . table_by_key('log') . ' IS \'Postfix Admin - Log\'; '); } - if(!_pgsql_object_exists(table_by_key('mailbox'))) { db_query_parsed(' - CREATE TABLE mailbox ( + CREATE TABLE ' . table_by_key('mailbox') . ' ( username character varying(255) NOT NULL, password character varying(255) NOT NULL default \'\', name character varying(255) NOT NULL default \'\', This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Gin...@us...> - 2008-11-25 10:00:12
|
Revision: 491 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=491&view=rev Author: GingerDog Date: 2008-11-25 10:00:09 +0000 (Tue, 25 Nov 2008) Log Message: ----------- upgrade.php: syntax error fix Modified Paths: -------------- trunk/upgrade.php Modified: trunk/upgrade.php =================================================================== --- trunk/upgrade.php 2008-11-25 09:55:27 UTC (rev 490) +++ trunk/upgrade.php 2008-11-25 10:00:09 UTC (rev 491) @@ -363,17 +363,17 @@ if(!_pgsql_object_exists(table_by_key('alias'))) { db_query_parsed(' - CREATE TABLE ' . table_by_key('alias') . ' ( + CREATE TABLE ' . table_by_key("alias") . ' ( address character varying(255) NOT NULL, goto text NOT NULL, - domain character varying(255) NOT NULL REFERENCES "' . table_by_key('domain') '", + domain character varying(255) NOT NULL REFERENCES "' . table_by_key("domain") . '", created timestamp with time zone default now(), modified timestamp with time zone default now(), active boolean NOT NULL default true, Constraint "alias_key" Primary Key ("address") ); - CREATE INDEX alias_address_active ON ' . table_by_key('alias') . '(address,active); - COMMENT ON TABLE ' . table_by_key('alias') . ' IS \'Postfix Admin - Virtual Aliases\'; + CREATE INDEX alias_address_active ON ' . table_by_key("alias") . '(address,active); + COMMENT ON TABLE ' . table_by_key("alias") . ' IS \'Postfix Admin - Virtual Aliases\'; '); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Gin...@us...> - 2008-12-07 19:28:14
|
Revision: 493 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=493&view=rev Author: GingerDog Date: 2008-12-07 19:28:10 +0000 (Sun, 07 Dec 2008) Log Message: ----------- bug fix reported by johnjdevine - see http://sourceforge.net/forum/forum.php?thread_id=2644846&forum_id=676076 Modified Paths: -------------- trunk/upgrade.php Modified: trunk/upgrade.php =================================================================== --- trunk/upgrade.php 2008-12-01 19:35:31 UTC (rev 492) +++ trunk/upgrade.php 2008-12-07 19:28:10 UTC (rev 493) @@ -564,7 +564,7 @@ $result = db_query_parsed(" BEGIN; ALTER TABLE $table_vacation RENAME COLUMN domain to domain_old; - ALTER TABLE $table_vacation ADD COLUMN domain varchar(255) REFERENCES $domain; + ALTER TABLE $table_vacation ADD COLUMN domain varchar(255) REFERENCES $table_domain; UPDATE $table_vacation SET domain = domain_old; ALTER TABLE $table_vacation DROP COLUMN domain_old; COMMIT; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Gin...@us...> - 2008-12-11 21:15:04
|
Revision: 495 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=495&view=rev Author: GingerDog Date: 2008-12-11 21:14:59 +0000 (Thu, 11 Dec 2008) Log Message: ----------- upgrade.php: first part of adding support for local_part of a mailboxs address - see https://sourceforge.net/forum/forum.php?thread_id=2343775&forum_id=676076 Modified Paths: -------------- trunk/upgrade.php Modified: trunk/upgrade.php =================================================================== --- trunk/upgrade.php 2008-12-11 20:05:04 UTC (rev 494) +++ trunk/upgrade.php 2008-12-11 21:14:59 UTC (rev 495) @@ -41,7 +41,6 @@ AND pg_catalog.pg_table_is_visible(c.oid) ) AND a.attname = '$field' "; -// echo $sql; $r = db_query($sql); $row = db_row($r['result']); if($row) { @@ -1006,3 +1005,22 @@ db_query_parsed("ALTER TABLE $table_log CHANGE `data` `data` TEXT {LATIN1} NOT NULL"); } +# Add a local_part field to the mailbox table, and populate it with the local part of the user's address. +# This is to make it easier (hopefully) to change the filesystem location of a mailbox in the future +# See https://sourceforge.net/forum/message.php?msg_id=5394663 +function upgrade_495_pgsql() { + $table_mailbox = table_by_key('mailbox'); + if(!_pgsql_field_exists($table_mailbox, 'local_part')) { + db_query_parsed("ALTER TABLE $table_mailbox add column local_part varchar(255) "); + db_query_parsed("UPDATE $table_mailbox SET local_part = substring(username from '^(.*)@')"); + db_query_parsed("ALTER TABLE $table_mailbox alter column local_part SET NOT NULL"); + } +} +# See https://sourceforge.net/forum/message.php?msg_id=5394663 +function upgrade_495_mysql() { + $table_mailbox = table_by_key('mailbox'); + db_query_parsed("ALTER TABLE $table_mailbox add local_part varchar(255) "); // allow to be null + db_query_parsed("UPDATE $table_mailbox SET local_part = substring_index(username, '@', 1"); + db_query_parsed("ALTER TABLE $table_mailbox change local_part local_part varchar(255) NOT NULL"); // remove null-ness... +} + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Gin...@us...> - 2008-12-12 19:43:50
|
Revision: 498 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=498&view=rev Author: GingerDog Date: 2008-12-12 19:43:46 +0000 (Fri, 12 Dec 2008) Log Message: ----------- only add hte ssl field to postgresql dbs if it does not already exist Modified Paths: -------------- trunk/upgrade.php Modified: trunk/upgrade.php =================================================================== --- trunk/upgrade.php 2008-12-12 19:42:12 UTC (rev 497) +++ trunk/upgrade.php 2008-12-12 19:43:46 UTC (rev 498) @@ -932,7 +932,9 @@ } function upgrade_439_pgsql() { $table_fetchmail = table_by_key('fetchmail'); - db_query_parsed("ALTER TABLE $table_fetchmail ADD COLUMN ssl BOOLEAN NOT NULL DEFAULT false"); + if(!_pgsql_field_exists($table_fetchmail, 'ssl')) { + db_query_parsed("ALTER TABLE $table_fetchmail ADD COLUMN ssl BOOLEAN NOT NULL DEFAULT false"); + } } function upgrade_473_mysql() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Gin...@us...> - 2008-12-13 07:30:40
|
Revision: 500 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=500&view=rev Author: GingerDog Date: 2008-12-13 07:30:36 +0000 (Sat, 13 Dec 2008) Log Message: ----------- upgrade.php: bug fix (thanks to matt rude for reporting it. no thanks to me for failing to type!) - see also https://sourceforge.net/tracker/?func=detail&atid=937964&aid=2423106&group_id=191583 Modified Paths: -------------- trunk/upgrade.php Modified: trunk/upgrade.php =================================================================== --- trunk/upgrade.php 2008-12-12 20:55:32 UTC (rev 499) +++ trunk/upgrade.php 2008-12-13 07:30:36 UTC (rev 500) @@ -1022,7 +1022,7 @@ function upgrade_495_mysql() { $table_mailbox = table_by_key('mailbox'); db_query_parsed("ALTER TABLE $table_mailbox add local_part varchar(255) "); // allow to be null - db_query_parsed("UPDATE $table_mailbox SET local_part = substring_index(username, '@', 1"); + db_query_parsed("UPDATE $table_mailbox SET local_part = substring_index(username, '@', 1)"); db_query_parsed("ALTER TABLE $table_mailbox change local_part local_part varchar(255) NOT NULL"); // remove null-ness... } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <chr...@us...> - 2008-12-23 00:19:55
|
Revision: 505 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=505&view=rev Author: christian_boltz Date: 2008-12-23 00:19:51 +0000 (Tue, 23 Dec 2008) Log Message: ----------- - upgrade_495_mysql: place local_part field between quota and domain - upgrade_504_mysql: ensure correct charset for local_part Modified Paths: -------------- trunk/upgrade.php Modified: trunk/upgrade.php =================================================================== --- trunk/upgrade.php 2008-12-23 00:03:08 UTC (rev 504) +++ trunk/upgrade.php 2008-12-23 00:19:51 UTC (rev 505) @@ -1021,8 +1021,13 @@ # See https://sourceforge.net/forum/message.php?msg_id=5394663 function upgrade_495_mysql() { $table_mailbox = table_by_key('mailbox'); - db_query_parsed("ALTER TABLE $table_mailbox add local_part varchar(255) "); // allow to be null + db_query_parsed("ALTER TABLE $table_mailbox add local_part varchar(255) AFTER quota"); // allow to be null db_query_parsed("UPDATE $table_mailbox SET local_part = substring_index(username, '@', 1)"); db_query_parsed("ALTER TABLE $table_mailbox change local_part local_part varchar(255) NOT NULL"); // remove null-ness... } +function upgrade_504_mysql() { + $table_mailbox = table_by_key('mailbox'); + db_query_parsed("ALTER TABLE `$table_mailbox` CHANGE `local_part` `local_part` VARCHAR( 255 ) {LATIN1} NOT NULL"); +} + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Gin...@us...> - 2009-01-04 19:11:34
|
Revision: 506 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=506&view=rev Author: GingerDog Date: 2009-01-04 19:11:29 +0000 (Sun, 04 Jan 2009) Log Message: ----------- 1) remove explicit collation settings; 2) remove vacation_notification_pkey drop thing - see https://sourceforge.net/forum/forum.php?thread_id=2789651&forum_id=676076 Modified Paths: -------------- trunk/upgrade.php Modified: trunk/upgrade.php =================================================================== --- trunk/upgrade.php 2008-12-23 00:19:51 UTC (rev 505) +++ trunk/upgrade.php 2009-01-04 19:11:29 UTC (rev 506) @@ -156,8 +156,8 @@ '{UNSIGNED}' => 'unsigned' , '{FULLTEXT}' => 'FULLTEXT', '{BOOLEAN}' => 'tinyint(1) NOT NULL', - '{UTF-8}' => '/*!40100 CHARACTER SET utf8 COLLATE utf8_unicode_ci */', - '{LATIN1}' => '/*!40100 CHARACTER SET latin1 COLLATE latin1_swedish_ci */', + '{UTF-8}' => '/*!40100 CHARACTER SET utf8 */', + '{LATIN1}' => '/*!40100 CHARACTER SET latin1 */', '{IF_NOT_EXISTS}' => 'IF NOT EXISTS', '{RENAME_COLUMN}' => 'CHANGE COLUMN', ); @@ -306,7 +306,7 @@ active tinyint(4) NOT NULL default '1', PRIMARY KEY (email), KEY email (email) - ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci TYPE=InnoDB COMMENT='Postfix Admin - Virtual Vacation' ;"; + ) ENGINE=InnoDB DEFAULT CHARSET=utf8 TYPE=InnoDB COMMENT='Postfix Admin - Virtual Vacation' ;"; foreach($sql as $query) { db_query_parsed($query); @@ -772,7 +772,6 @@ # in case someone has manually created the table with utf8 fields before: $all_sql = split("\n", trim(" - ALTER TABLE `$table_vacation_notification` DROP FOREIGN KEY `vacation_notification_pkey` ALTER TABLE `$table_vacation_notification` CHANGE `on_vacation` `on_vacation` VARCHAR( 255 ) {LATIN1} NOT NULL ALTER TABLE `$table_vacation_notification` CHANGE `notified` `notified` VARCHAR( 255 ) {LATIN1} NOT NULL ALTER TABLE `$table_vacation_notification` DEFAULT {LATIN1} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Gin...@us...> - 2009-01-05 19:44:20
|
Revision: 507 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=507&view=rev Author: GingerDog Date: 2009-01-05 19:44:15 +0000 (Mon, 05 Jan 2009) Log Message: ----------- upgrade.php: vain attempt to stop stupid upgrade errors Modified Paths: -------------- trunk/upgrade.php Modified: trunk/upgrade.php =================================================================== --- trunk/upgrade.php 2009-01-04 19:11:29 UTC (rev 506) +++ trunk/upgrade.php 2009-01-05 19:44:15 UTC (rev 507) @@ -772,9 +772,9 @@ # in case someone has manually created the table with utf8 fields before: $all_sql = split("\n", trim(" - ALTER TABLE `$table_vacation_notification` CHANGE `on_vacation` `on_vacation` VARCHAR( 255 ) {LATIN1} NOT NULL - ALTER TABLE `$table_vacation_notification` CHANGE `notified` `notified` VARCHAR( 255 ) {LATIN1} NOT NULL - ALTER TABLE `$table_vacation_notification` DEFAULT {LATIN1} + ALTER TABLE `$table_vacation_notification` CHANGE `on_vacation` `on_vacation` VARCHAR( 255 ) NOT NULL + ALTER TABLE `$table_vacation_notification` CHANGE `notified` `notified` VARCHAR( 255 ) NOT NULL + ALTER TABLE `$table_vacation_notification` DEFAULT ")); # Possible errors that can be ignored: # None. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Gin...@us...> - 2009-01-06 19:51:52
|
Revision: 508 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=508&view=rev Author: GingerDog Date: 2009-01-06 19:51:45 +0000 (Tue, 06 Jan 2009) Log Message: ----------- upgrade.php: Fixes from Thiago Silva - see https://sourceforge.net/forum/forum.php?thread_id=2789651&forum_id=676076 Modified Paths: -------------- trunk/upgrade.php Modified: trunk/upgrade.php =================================================================== --- trunk/upgrade.php 2009-01-05 19:44:15 UTC (rev 507) +++ trunk/upgrade.php 2009-01-06 19:51:45 UTC (rev 508) @@ -714,7 +714,7 @@ ALTER TABLE `$table_vacation` CHANGE `cache` `cache` TEXT {LATIN1} NOT NULL ALTER TABLE `$table_vacation` CHANGE `domain` `domain` VARCHAR( 255 ) {LATIN1} NOT NULL ALTER TABLE `$table_vacation` CHANGE `active` `active` TINYINT( 1 ) NOT NULL DEFAULT '1' - ALTER TABLE `$table_vacation` DEFAULT {LATIN1} + ALTER TABLE `$table_vacation` DEFAULT {LATIN1} ALTER TABLE `$table_vacation` ENGINE = INNODB ")); @@ -774,7 +774,7 @@ $all_sql = split("\n", trim(" ALTER TABLE `$table_vacation_notification` CHANGE `on_vacation` `on_vacation` VARCHAR( 255 ) NOT NULL ALTER TABLE `$table_vacation_notification` CHANGE `notified` `notified` VARCHAR( 255 ) NOT NULL - ALTER TABLE `$table_vacation_notification` DEFAULT + ALTER TABLE `$table_vacation_notification` DEFAULT {LATIN1} ")); # Possible errors that can be ignored: # None. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Gin...@us...> - 2009-01-07 19:59:47
|
Revision: 509 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=509&view=rev Author: GingerDog Date: 2009-01-07 19:59:33 +0000 (Wed, 07 Jan 2009) Log Message: ----------- upgrade.php: this makes it work for me... Modified Paths: -------------- trunk/upgrade.php Modified: trunk/upgrade.php =================================================================== --- trunk/upgrade.php 2009-01-06 19:51:45 UTC (rev 508) +++ trunk/upgrade.php 2009-01-07 19:59:33 UTC (rev 509) @@ -766,7 +766,7 @@ CONSTRAINT `vacation_notification_pkey` FOREIGN KEY (`on_vacation`) REFERENCES $table_vacation(`email`) ON DELETE CASCADE ) - ENGINE=InnoDB DEFAULT {LATIN1} TYPE=InnoDB + ENGINE=InnoDB TYPE=InnoDB COMMENT='Postfix Admin - Virtual Vacation Notifications' "); @@ -774,7 +774,7 @@ $all_sql = split("\n", trim(" ALTER TABLE `$table_vacation_notification` CHANGE `on_vacation` `on_vacation` VARCHAR( 255 ) NOT NULL ALTER TABLE `$table_vacation_notification` CHANGE `notified` `notified` VARCHAR( 255 ) NOT NULL - ALTER TABLE `$table_vacation_notification` DEFAULT {LATIN1} + ALTER TABLE `$table_vacation_notification` DEFAULT CHARACTER SET utf8 ")); # Possible errors that can be ignored: # None. @@ -785,10 +785,6 @@ $result = db_query_parsed($sql); } - # create constraint... - $result = db_query_parsed(" - ALTER TABLE $table_vacation_notification ADD CONSTRAINT `vacation_notification_pkey` - FOREIGN KEY (`on_vacation`) REFERENCES $table_vacation(`email`) ON DELETE CASCADE "); } @@ -800,7 +796,7 @@ $table_fetchmail = table_by_key('fetchmail'); db_query_parsed( " - create table $table_fetchmail( + CREATE TABLE IF NOT EXISTS $table_fetchmail( id int(11) unsigned not null auto_increment, mailbox varchar(255) not null default '', src_server varchar(255) not null default '', This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Gin...@us...> - 2009-01-12 20:53:55
|
Revision: 510 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=510&view=rev Author: GingerDog Date: 2009-01-12 20:53:45 +0000 (Mon, 12 Jan 2009) Log Message: ----------- upgrade.php: add _mysql_field_exists() so we do not add fields that are already there; fix bugs -hopefully fix errors seen by Tom me...@td... - see postfixadmin-devel mailing list etc Modified Paths: -------------- trunk/upgrade.php Modified: trunk/upgrade.php =================================================================== --- trunk/upgrade.php 2009-01-07 19:59:33 UTC (rev 509) +++ trunk/upgrade.php 2009-01-12 20:53:45 UTC (rev 510) @@ -49,6 +49,15 @@ return false; } +function _mysql_field_exists($table, $field) { + $sql = "SHOW COLUMNS FROM $table LIKE '$field'"; + $r = db_query($sql); + $row = db_row($r['result']); + if($row) { + return true; + } + return false; +} $table = table_by_key('config'); if($CONF['database_type'] == 'pgsql') { @@ -772,7 +781,6 @@ # in case someone has manually created the table with utf8 fields before: $all_sql = split("\n", trim(" - ALTER TABLE `$table_vacation_notification` CHANGE `on_vacation` `on_vacation` VARCHAR( 255 ) NOT NULL ALTER TABLE `$table_vacation_notification` CHANGE `notified` `notified` VARCHAR( 255 ) NOT NULL ALTER TABLE `$table_vacation_notification` DEFAULT CHARACTER SET utf8 ")); @@ -990,11 +998,15 @@ function upgrade_479_mysql () { # ssl is a reserved word in MySQL and causes several problems. Renaming the field... $table_fmail = table_by_key('fetchmail'); - db_query_parsed("ALTER TABLE `$table_fmail` CHANGE `ssl` `usessl` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0'"); + if(!_mysql_field_exists($table_fmail, 'usessl')) { + db_query_parsed("ALTER TABLE `$table_fmail` CHANGE `ssl` `usessl` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0'"); + } } function upgrade_479_pgsql () { $table_fmail = table_by_key('fetchmail'); - db_query_parsed("alter table $table_fmail rename column ssl to usessl"); + if(!_pgsql_field_exists($table_fmail, 'usessl')) { + db_query_parsed("alter table $table_fmail rename column ssl to usessl"); + } } function upgrade_483_mysql () { @@ -1016,9 +1028,11 @@ # See https://sourceforge.net/forum/message.php?msg_id=5394663 function upgrade_495_mysql() { $table_mailbox = table_by_key('mailbox'); - db_query_parsed("ALTER TABLE $table_mailbox add local_part varchar(255) AFTER quota"); // allow to be null - db_query_parsed("UPDATE $table_mailbox SET local_part = substring_index(username, '@', 1)"); - db_query_parsed("ALTER TABLE $table_mailbox change local_part local_part varchar(255) NOT NULL"); // remove null-ness... + if(!_mysql_field_exists($table_mailbox, 'local_part')) { + db_query_parsed("ALTER TABLE $table_mailbox add local_part varchar(255) AFTER quota"); // allow to be null + db_query_parsed("UPDATE $table_mailbox SET local_part = substring_index(username, '@', 1)"); + db_query_parsed("ALTER TABLE $table_mailbox change local_part local_part varchar(255) NOT NULL"); // remove null-ness... + } } function upgrade_504_mysql() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Gin...@us...> - 2009-01-12 21:08:56
|
Revision: 511 http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=511&view=rev Author: GingerDog Date: 2009-01-12 21:08:51 +0000 (Mon, 12 Jan 2009) Log Message: ----------- upgrade.php: fix mysql alter table add columns to only take place if hte field does not exist Modified Paths: -------------- trunk/upgrade.php Modified: trunk/upgrade.php =================================================================== --- trunk/upgrade.php 2009-01-12 20:53:45 UTC (rev 510) +++ trunk/upgrade.php 2009-01-12 21:08:51 UTC (rev 511) @@ -326,11 +326,12 @@ # upgrade pre-2.1 database # from TABLE_BACKUP_MX.TXT $table_domain = table_by_key ('domain'); - $result = db_query_parsed("ALTER TABLE $table_domain ADD COLUMN transport VARCHAR(255) AFTER maxquota;", TRUE); - // don't think PGSQL supports 'AFTER transport' - $result = db_query_parsed("ALTER TABLE $table_domain ADD COLUMN backupmx {BOOLEAN} DEFAULT {BOOL_FALSE} AFTER transport;", TRUE); - # possible errors that can be ignored: - # - Invalid query: Table 'postfix.domain' doesn't exist + if(!_mysql_field_exists($table_domain, 'transport')) { + $result = db_query_parsed("ALTER TABLE $table_domain ADD COLUMN transport VARCHAR(255) AFTER maxquota;", TRUE); + } + if(!_mysql_field_exists($table_domain, 'backupmx')) { + $result = db_query_parsed("ALTER TABLE $table_domain ADD COLUMN backupmx {BOOLEAN} DEFAULT {BOOL_FALSE} AFTER transport;", TRUE); + } } function upgrade_2_pgsql() { @@ -468,36 +469,60 @@ $table_mailbox = table_by_key ('mailbox'); $table_vacation = table_by_key ('vacation'); - // these will not work on PostgreSQL; syntax is : - // ALTER TABLE foo RENAME f1 TO f2 - $all_sql = split("\n", trim(" - ALTER TABLE $table_admin {RENAME_COLUMN} create_date created DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL; - ALTER TABLE $table_admin {RENAME_COLUMN} change_date modified DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL; - ALTER TABLE $table_alias {RENAME_COLUMN} create_date created DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL; - ALTER TABLE $table_alias {RENAME_COLUMN} change_date modified DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL; - ALTER TABLE $table_domain {RENAME_COLUMN} create_date created DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL; - ALTER TABLE $table_domain {RENAME_COLUMN} change_date modified DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL; - ALTER TABLE $table_domain ADD COLUMN aliases INT(10) DEFAULT '-1' NOT NULL AFTER description; - ALTER TABLE $table_domain ADD COLUMN mailboxes INT(10) DEFAULT '-1' NOT NULL AFTER aliases; - ALTER TABLE $table_domain ADD COLUMN maxquota INT(10) DEFAULT '-1' NOT NULL AFTER mailboxes; - ALTER TABLE $table_domain ADD COLUMN transport VARCHAR(255) AFTER maxquota; - ALTER TABLE $table_domain ADD COLUMN backupmx TINYINT(1) DEFAULT '0' NOT NULL AFTER transport; - ALTER TABLE $table_mailbox {RENAME_COLUMN} create_date created DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL; - ALTER TABLE $table_mailbox {RENAME_COLUMN} change_date modified DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL; - ALTER TABLE $table_mailbox ADD COLUMN quota INT(10) DEFAULT '-1' NOT NULL AFTER maildir; - ALTER TABLE $table_vacation ADD COLUMN domain VARCHAR(255) DEFAULT '' NOT NULL AFTER cache; - ALTER TABLE $table_vacation ADD COLUMN created DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL AFTER domain; - ALTER TABLE $table_vacation ADD COLUMN active TINYINT(1) DEFAULT '1' NOT NULL AFTER created; - ALTER TABLE $table_vacation DROP PRIMARY KEY - ALTER TABLE $table_vacation ADD PRIMARY KEY(email) - UPDATE $table_vacation SET domain=SUBSTRING_INDEX(email, '@', -1) WHERE email=email; - ")); - - foreach ($all_sql as $sql) { - $result = db_query_parsed($sql, TRUE); + if(!_mysql_field_exists($table_admin, 'created')) { + db_query_parsed("ALTER TABLE $table_admin {RENAME_COLUMN} create_date created DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL;"); } - # Possible errors that can be ignored: - # - Invalid query: Table 'postfix.*' doesn't exist + if(!_mysql_field_exists($table_admin, 'modified')) { + db_query_parsed("ALTER TABLE $table_admin {RENAME_COLUMN} change_date modified DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL;"); + } + if(!_mysql_field_exists($table_alias, 'created')) { + db_query_parsed("ALTER TABLE $table_alias {RENAME_COLUMN} create_date created DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL;"); + } + if(!_mysql_field_exists($table_alias, 'modified')) { + db_query_parsed("ALTER TABLE $table_alias {RENAME_COLUMN} change_date modified DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL;"); + } + if(!_mysql_field_exists($table_domain, 'created')) { + db_query_parsed("ALTER TABLE $table_domain {RENAME_COLUMN} create_date created DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL;"); + } + if(!_mysql_field_exists($table_domain, 'modified')) { + db_query_parsed("ALTER TABLE $table_domain {RENAME_COLUMN} change_date modified DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL;"); + } + if(!_mysql_field_exists($table_domain, 'aliases')) { + db_query_parsed("ALTER TABLE $table_domain ADD COLUMN aliases INT(10) DEFAULT '-1' NOT NULL AFTER description;"); + } + if(!_mysql_field_exists($table_domain, 'mailboxes')) { + db_query_parsed("ALTER TABLE $table_domain ADD COLUMN mailboxes INT(10) DEFAULT '-1' NOT NULL AFTER aliases;"); + } + if(!_mysql_field_exists($table_domain, 'maxquota')) { + db_query_parsed("ALTER TABLE $table_domain ADD COLUMN maxquota INT(10) DEFAULT '-1' NOT NULL AFTER mailboxes;"); + } + if(!_mysql_field_exists($table_domain, 'transport')) { + db_query_parsed("ALTER TABLE $table_domain ADD COLUMN transport VARCHAR(255) AFTER maxquota;"); + } + if(!_mysql_field_exists($table_domain, 'backupmx')) { + db_query_parsed("ALTER TABLE $table_domain ADD COLUMN backupmx TINYINT(1) DEFAULT '0' NOT NULL AFTER transport;"); + } + if(!_mysql_field_exists($table_mailbox, 'created')) { + db_query_parsed("ALTER TABLE $table_mailbox {RENAME_COLUMN} create_date created DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL;"); + } + if(!_mysql_field_exists($table_mailbox, 'modified')) { + db_query_parsed("ALTER TABLE $table_mailbox {RENAME_COLUMN} change_date modified DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL;"); + } + if(!_mysql_field_exists($table_mailbox, 'quota')) { + db_query_parsed("ALTER TABLE $table_mailbox ADD COLUMN quota INT(10) DEFAULT '-1' NOT NULL AFTER maildir;"); + } + if(!_mysql_field_exists($table_vacation, 'domain')) { + db_query_parsed("ALTER TABLE $table_vacation ADD COLUMN domain VARCHAR(255) DEFAULT '' NOT NULL AFTER cache;"); + } + if(!_mysql_field_exists($table_vacation, 'created')) { + db_query_parsed("ALTER TABLE $table_vacation ADD COLUMN created DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL AFTER domain;"); + } + if(!_mysql_field_exists($table_vacation, 'active')) { + db_query_parsed("ALTER TABLE $table_vacation ADD COLUMN active TINYINT(1) DEFAULT '1' NOT NULL AFTER created;"); + } + db_query_parsed("ALTER TABLE $table_vacation DROP PRIMARY KEY"); + db_query_parsed("ALTER TABLE $table_vacation ADD PRIMARY KEY(email)"); + db_query_parsed("UPDATE $table_vacation SET domain=SUBSTRING_INDEX(email, '@', -1) WHERE email=email;"); } function upgrade_4_mysql() { # MySQL only @@ -929,9 +954,9 @@ */ function upgrade_439_mysql() { $table_fetchmail = table_by_key('fetchmail'); - db_query_parsed(" - ALTER TABLE `$table_fetchmail` ADD `ssl` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0' AFTER `protocol` ; - "); + if(!_mysql_field_exists($table_fetchmail, 'ssl')) { + db_query_parsed("ALTER TABLE `$table_fetchmail` ADD `ssl` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0' AFTER `protocol` ; "); + } } function upgrade_439_pgsql() { $table_fetchmail = table_by_key('fetchmail'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |