Merge pull request #4118 from annando/cleaned-update
Old stuff had been removed from the update routine
This commit is contained in:
commit
d279cb0327
2 changed files with 59 additions and 1653 deletions
91
boot.php
91
boot.php
|
@ -37,7 +37,6 @@ require_once 'include/datetime.php';
|
||||||
require_once 'include/pgettext.php';
|
require_once 'include/pgettext.php';
|
||||||
require_once 'include/nav.php';
|
require_once 'include/nav.php';
|
||||||
require_once 'include/identity.php';
|
require_once 'include/identity.php';
|
||||||
require_once 'update.php';
|
|
||||||
|
|
||||||
define('FRIENDICA_PLATFORM', 'Friendica');
|
define('FRIENDICA_PLATFORM', 'Friendica');
|
||||||
define('FRIENDICA_CODENAME', 'Asparagus');
|
define('FRIENDICA_CODENAME', 'Asparagus');
|
||||||
|
@ -619,10 +618,17 @@ function is_ajax()
|
||||||
function check_db($via_worker)
|
function check_db($via_worker)
|
||||||
{
|
{
|
||||||
$build = Config::get('system', 'build');
|
$build = Config::get('system', 'build');
|
||||||
if (!x($build)) {
|
|
||||||
|
if (empty($build)) {
|
||||||
Config::set('system', 'build', DB_UPDATE_VERSION);
|
Config::set('system', 'build', DB_UPDATE_VERSION);
|
||||||
$build = DB_UPDATE_VERSION;
|
$build = DB_UPDATE_VERSION;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// We don't support upgrading from very old versions anymore
|
||||||
|
if ($build < NEW_UPDATE_ROUTINE_VERSION) {
|
||||||
|
die('You try to update from a version prior to database version 1170. The direct upgrade path is not supported. Please update to version 3.5.4 before updating to this version.');
|
||||||
|
}
|
||||||
|
|
||||||
if ($build != DB_UPDATE_VERSION) {
|
if ($build != DB_UPDATE_VERSION) {
|
||||||
// When we cannot execute the database update via the worker, we will do it directly
|
// When we cannot execute the database update via the worker, we will do it directly
|
||||||
if (!Worker::add(PRIORITY_CRITICAL, 'DBUpdate') && $via_worker) {
|
if (!Worker::add(PRIORITY_CRITICAL, 'DBUpdate') && $via_worker) {
|
||||||
|
@ -647,7 +653,7 @@ function check_url(App $a)
|
||||||
// and www.example.com vs example.com.
|
// and www.example.com vs example.com.
|
||||||
// We will only change the url to an ip address if there is no existing setting
|
// We will only change the url to an ip address if there is no existing setting
|
||||||
|
|
||||||
if (!x($url)) {
|
if (empty($url)) {
|
||||||
$url = Config::set('system', 'url', System::baseUrl());
|
$url = Config::set('system', 'url', System::baseUrl());
|
||||||
}
|
}
|
||||||
if ((!link_compare($url, System::baseUrl())) && (!preg_match("/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/", $a->get_hostname))) {
|
if ((!link_compare($url, System::baseUrl())) && (!preg_match("/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/", $a->get_hostname))) {
|
||||||
|
@ -664,63 +670,46 @@ function check_url(App $a)
|
||||||
function update_db(App $a)
|
function update_db(App $a)
|
||||||
{
|
{
|
||||||
$build = Config::get('system', 'build');
|
$build = Config::get('system', 'build');
|
||||||
if (!x($build)) {
|
|
||||||
$build = Config::set('system', 'build', DB_UPDATE_VERSION);
|
if (empty($build)) {
|
||||||
|
Config::set('system', 'build', DB_UPDATE_VERSION);
|
||||||
|
$build = DB_UPDATE_VERSION;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($build != DB_UPDATE_VERSION) {
|
if ($build != DB_UPDATE_VERSION) {
|
||||||
|
require_once 'update.php';
|
||||||
|
|
||||||
$stored = intval($build);
|
$stored = intval($build);
|
||||||
$current = intval(DB_UPDATE_VERSION);
|
$current = intval(DB_UPDATE_VERSION);
|
||||||
if ($stored < $current) {
|
if ($stored < $current) {
|
||||||
Config::load('database');
|
Config::load('database');
|
||||||
|
|
||||||
// We're reporting a different version than what is currently installed.
|
// Compare the current structure with the defined structure
|
||||||
// Run any existing update scripts to bring the database up to current.
|
$t = Config::get('database', 'dbupdate_' . DB_UPDATE_VERSION);
|
||||||
// make sure that boot.php and update.php are the same release, we might be
|
if (!is_null($t)) {
|
||||||
// updating right this very second and the correct version of the update.php
|
return;
|
||||||
// file may not be here yet. This can happen on a very busy site.
|
}
|
||||||
|
|
||||||
if (DB_UPDATE_VERSION == UPDATE_VERSION) {
|
Config::set('database', 'dbupdate_' . DB_UPDATE_VERSION, time());
|
||||||
// Compare the current structure with the defined structure
|
|
||||||
|
|
||||||
$t = Config::get('database', 'dbupdate_' . DB_UPDATE_VERSION);
|
// run update routine
|
||||||
if (!is_null($t)) {
|
// it update the structure in one call
|
||||||
return;
|
$retval = DBStructure::update(false, true);
|
||||||
}
|
if ($retval) {
|
||||||
|
DBStructure::updateFail(
|
||||||
|
DB_UPDATE_VERSION,
|
||||||
|
$retval
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Config::set('database', 'dbupdate_' . DB_UPDATE_VERSION, 'success');
|
||||||
|
}
|
||||||
|
|
||||||
Config::set('database', 'dbupdate_' . DB_UPDATE_VERSION, time());
|
// run any left update_nnnn functions in update.php
|
||||||
|
for ($x = $stored + 1; $x <= $current; $x++) {
|
||||||
// run old update routine (wich could modify the schema and
|
$r = run_update_function($x);
|
||||||
// conflits with new routine)
|
if (!$r) {
|
||||||
for ($x = $stored; $x < NEW_UPDATE_ROUTINE_VERSION; $x++) {
|
break;
|
||||||
$r = run_update_function($x);
|
|
||||||
if (!$r) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($stored < NEW_UPDATE_ROUTINE_VERSION) {
|
|
||||||
$stored = NEW_UPDATE_ROUTINE_VERSION;
|
|
||||||
}
|
|
||||||
|
|
||||||
// run new update routine
|
|
||||||
// it update the structure in one call
|
|
||||||
$retval = DBStructure::update(false, true);
|
|
||||||
if ($retval) {
|
|
||||||
DBStructure::updateFail(
|
|
||||||
DB_UPDATE_VERSION,
|
|
||||||
$retval
|
|
||||||
);
|
|
||||||
return;
|
|
||||||
} else {
|
|
||||||
Config::set('database', 'dbupdate_' . DB_UPDATE_VERSION, 'success');
|
|
||||||
}
|
|
||||||
|
|
||||||
// run any left update_nnnn functions in update.php
|
|
||||||
for ($x = $stored; $x < $current; $x ++) {
|
|
||||||
$r = run_update_function($x);
|
|
||||||
if (!$r) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -996,7 +985,7 @@ function remote_user()
|
||||||
if (local_user()) {
|
if (local_user()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if ((x($_SESSION, 'authenticated')) && (x($_SESSION, 'visitor_id'))) {
|
if (x($_SESSION, 'authenticated') && x($_SESSION, 'visitor_id')) {
|
||||||
return intval($_SESSION['visitor_id']);
|
return intval($_SESSION['visitor_id']);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -1051,7 +1040,7 @@ function info($s)
|
||||||
function get_max_import_size()
|
function get_max_import_size()
|
||||||
{
|
{
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
return ((x($a->config, 'max_import_size')) ? $a->config['max_import_size'] : 0 );
|
return (x($a->config, 'max_import_size') ? $a->config['max_import_size'] : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
1621
update.php
1621
update.php
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue