SF.net SVN: postfixadmin: [340] trunk/upgrade.php
Brought to you by:
christian_boltz,
gingerdog
|
From: <Gin...@us...> - 2008-04-23 15:25:38
|
Revision: 340
http://postfixadmin.svn.sourceforge.net/postfixadmin/?rev=340&view=rev
Author: GingerDog
Date: 2008-04-23 08:25:31 -0700 (Wed, 23 Apr 2008)
Log Message:
-----------
upgrade.php: fix issue of mysql tables not being created on initial install
Modified Paths:
--------------
trunk/upgrade.php
Modified: trunk/upgrade.php
===================================================================
--- trunk/upgrade.php 2008-04-22 23:05:29 UTC (rev 339)
+++ trunk/upgrade.php 2008-04-23 15:25:31 UTC (rev 340)
@@ -220,6 +220,105 @@
echo "upgrade_1";
}
+function upgrade_1_mysql() {
+ // CREATE MYSQL DATABASE TABLES.
+ $admin = table_by_key('admin');
+ $alias = table_by_key('alias');
+ $domain = table_by_key('domain');
+ $domain_admins = table_by_key('domain_admins');
+ $log = table_by_key('log');
+ $mailbox = table_by_key('mailbox');
+ $vacation = table_by_key('vacation');
+
+ $sql = array();
+ $sql[] = "
+ CREATE TABLE {IF_NOT_EXISTS} $admin (
+ `username` varchar(255) NOT NULL default '',
+ `password` 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 (`username`)
+ ) TYPE=MyISAM COMMENT='Postfix Admin - Virtual Admins';";
+
+ $sql[] = "
+ CREATE TABLE {IF_NOT_EXISTS} $alias (
+ `address` varchar(255) NOT NULL default '',
+ `goto` text NOT NULL,
+ `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 (`address`)
+ ) TYPE=MyISAM COMMENT='Postfix Admin - Virtual Aliases'; ";
+
+ $sql[] = "
+ CREATE TABLE {IF_NOT_EXISTS} $domain (
+ `domain` varchar(255) NOT NULL default '',
+ `description` varchar(255) NOT NULL default '',
+ `aliases` int(10) NOT NULL default '0',
+ `mailboxes` int(10) NOT NULL default '0',
+ `maxquota` bigint(20) NOT NULL default '0',
+ `quota` bigint(20) NOT NULL default '0',
+ `transport` varchar(255) default NULL,
+ `backupmx` tinyint(1) NOT NULL default '0',
+ `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 (`domain`)
+ ) TYPE=MyISAM COMMENT='Postfix Admin - Virtual Domains'; ";
+
+ $sql[] = "
+ CREATE TABLE {IF_NOT_EXISTS} $domain_admins (
+ `username` varchar(255) NOT NULL default '',
+ `domain` varchar(255) NOT NULL default '',
+ `created` datetime NOT NULL default '0000-00-00 00:00:00',
+ `active` tinyint(1) NOT NULL default '1',
+ KEY username (`username`)
+ ) TYPE=MyISAM COMMENT='Postfix Admin - Domain Admins';";
+
+ $sql[] = "
+ CREATE TABLE {IF_NOT_EXISTS} $log (
+ `timestamp` datetime NOT NULL default '0000-00-00 00:00:00',
+ `username` varchar(255) NOT NULL default '',
+ `domain` varchar(255) NOT NULL default '',
+ `action` varchar(255) NOT NULL default '',
+ `data` varchar(255) NOT NULL default '',
+ KEY timestamp (`timestamp`)
+ ) TYPE=MyISAM COMMENT='Postfix Admin - Log';";
+
+ $sql[] = "
+ CREATE TABLE {IF_NOT_EXISTS} $mailbox (
+ `username` varchar(255) NOT NULL default '',
+ `password` varchar(255) NOT NULL default '',
+ `name` varchar(255) NOT NULL default '',
+ `maildir` varchar(255) NOT NULL default '',
+ `quota` bigint(20) NOT NULL default '0',
+ `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 (`username`)
+ ) TYPE=MyISAM COMMENT='Postfix Admin - Virtual Mailboxes';";
+
+ $sql[] = "
+ CREATE TABLE {IF_NOT_EXISTS} $vacation (
+ email varchar(255) NOT NULL default '',
+ subject varchar(255) NOT NULL default '',
+ body text NOT NULL,
+ cache text NOT NULL,
+ domain varchar(255) NOT NULL default '',
+ created datetime NOT NULL default '0000-00-00 00:00:00',
+ 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' ;";
+
+ foreach($sql as $query) {
+ db_query_parsed($query);
+ }
+}
+
function upgrade_2_mysql() {
# upgrade pre-2.1 database
# from TABLE_BACKUP_MX.TXT
@@ -671,7 +770,7 @@
on_vacation varchar(255) NOT NULL,
notified varchar(255) NOT NULL,
notified_at timestamp NOT NULL default CURRENT_TIMESTAMP,
- PRIMARY KEY on_vacation (`on_vacation`, `notified`),
+ PRIMARY KEY on_vacation (`on_vacation`, `notified`),
CONSTRAINT `vacation_notification_pkey`
FOREIGN KEY (`on_vacation`) REFERENCES vacation(`email`) ON DELETE CASCADE
)
@@ -701,18 +800,3 @@
FOREIGN KEY (`on_vacation`) REFERENCES vacation(`email`) ON DELETE CASCADE
");
}
-
-/*
- TODO
-
- Database changes that should be done:
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-MySQL:
-* vacation:
- - DROP INDEX email
- - 'cache' field might be obsolete with vacation_notification - needs to be checked!
-* charset of equal fields MUST be the same (see bugreport)
- */
-
-
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|