automated versioning

This commit is contained in:
Friendika 2011-03-09 16:57:22 -08:00
parent 1c779e2061
commit 7b9dff1db7
3 changed files with 16 additions and 15 deletions

1
.gitignore vendored
View file

@ -4,5 +4,6 @@ wip/*
include/jquery-1.4.2.min.js
*.log
*.out
*.version*
push*
home.html

View file

@ -2,9 +2,9 @@
set_time_limit(0);
define ( 'BUILD_ID', 1040 );
define ( 'FRIENDIKA_VERSION', '2.10.0912' );
define ( 'FRIENDIKA_VERSION', '2.1.913' );
define ( 'DFRN_PROTOCOL_VERSION', '2.1' );
define ( 'DB_UPDATE_VERSION', 1040 );
define ( 'EOL', "<br />\r\n" );
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
@ -435,15 +435,15 @@ function check_config(&$a) {
$build = get_config('system','build');
if(! x($build))
$build = set_config('system','build',BUILD_ID);
$build = set_config('system','build',DB_UPDATE_VERSION);
$url = get_config('system','url');
if(! x($url))
$url = set_config('system','url',$a->get_baseurl());
if($build != BUILD_ID) {
if($build != DB_UPDATE_VERSION) {
$stored = intval($build);
$current = intval(BUILD_ID);
$current = intval(DB_UPDATE_VERSION);
if(($stored < $current) && file_exists('update.php')) {
// We're reporting a different version than what is currently installed.
// Run any existing update scripts to bring the database up to current.
@ -455,7 +455,7 @@ function check_config(&$a) {
$func($a);
}
}
set_config('system','build', BUILD_ID);
set_config('system','build', DB_UPDATE_VERSION);
}
}

View file

@ -11,24 +11,24 @@
* Each function in this file is named update_nnnn() where nnnn is an increasing number
* which began counting at 1000.
*
* At the top of the file "boot.php" is a define for BUILD_ID. Any time there is a change
* At the top of the file "boot.php" is a define for DB_UPDATE_VERSION. Any time there is a change
* to the database schema or one which requires an upgrade path from the existing application,
* the BUILD_ID is incremented.
* the DB_UPDATE_VERSION is incremented.
*
* The current BUILD_ID is stored in the config area of the database. If the application starts up
* and BUILD_ID is greater than the last stored build number, we will process every update function
* in order from the currently stored value to the new BUILD_ID. This is expected to bring the system
* The current DB_UPDATE_VERSION is stored in the config area of the database. If the application starts up
* and DB_UPDATE_VERSION is greater than the last stored build number, we will process every update function
* in order from the currently stored value to the new DB_UPDATE_VERSION. This is expected to bring the system
* up to current without requiring re-installation or manual intervention.
*
* Once the upgrade functions have completed, the current BUILD_ID is stored as the current value.
* The BUILD_ID will always be one greater than the last numbered script in this file.
* Once the upgrade functions have completed, the current DB_UPDATE_VERSION is stored as the current value.
* The DB_UPDATE_VERSION will always be one greater than the last numbered script in this file.
*
* If you change the database schema, the following are required:
* 1. Update the file database.sql to match the new schema.
* 2. Update this file by adding a new function at the end with the number of the current BUILD_ID.
* 2. Update this file by adding a new function at the end with the number of the current DB_UPDATE_VERSION.
* This function should modify the current database schema and perform any other steps necessary
* to ensure that upgrade is silent and free from requiring interaction.
* 3. Increment the BUILD_ID in boot.php
* 3. Increment the DB_UPDATE_VERSION in boot.php
* 4. TEST the upgrade prior to checkin and filing a pull request.
*
*/