SF.net SVN: postfixadmin:[1740] trunk/upgrade.php
Brought to you by:
christian_boltz,
gingerdog
|
From: <gin...@us...> - 2015-02-17 11:03:19
|
Revision: 1740
http://sourceforge.net/p/postfixadmin/code/1740
Author: gingerdog
Date: 2015-02-17 11:03:16 +0000 (Tue, 17 Feb 2015)
Log Message:
-----------
stop relying on subversion keyword for database upgrades; just iterate over all user defined functions and find the largest numeric one
Modified Paths:
--------------
trunk/upgrade.php
Modified: trunk/upgrade.php
===================================================================
--- trunk/upgrade.php 2015-02-16 14:43:58 UTC (rev 1739)
+++ trunk/upgrade.php 2015-02-17 11:03:16 UTC (rev 1740)
@@ -135,11 +135,21 @@
_do_upgrade($version);
-
function _do_upgrade($current_version) {
global $CONF;
- $target_version = preg_replace('/[^0-9]/', '', '$Revision$');
+ $target_version = 0;
+ // Rather than being bound to an svn revision number, just look for the largest function name that matches upgrade_\d+...
+ // $target_version = preg_replace('/[^0-9]/', '', '$Revision$');
+ $our_upgrade_functions = array_filter(get_defined_functions()['user'], function($name) { return preg_match('/upgrade_[\d]+(_mysql|_pgsql)?$/', $name) == 1; } );
+ foreach($our_upgrade_functions as $function_name) {
+ $bits = explode("_", $function_name);
+ $function_number = $bits[1];
+ if($function_number > $current_version && $function_number > $target_version) {
+ $target_version = $function_number;
+ }
+ }
+
if ($current_version >= $target_version) {
# already up to date
echo "<p>Database is up to date</p>";
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|