2017-07-01 15:28:29 -05:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* db-update.inc.php
|
|
|
|
*
|
|
|
|
* Run database update/deploy for installer
|
|
|
|
*
|
|
|
|
* This program is free software: you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
|
|
* (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
*
|
|
|
|
* @package LibreNMS
|
|
|
|
* @link http://librenms.org
|
|
|
|
* @copyright 2017 Tony Murray
|
|
|
|
* @author Tony Murray <murraytony@gmail.com>
|
|
|
|
*/
|
|
|
|
|
2019-06-23 00:29:12 -05:00
|
|
|
if (file_exists(\LibreNMS\Config::get('install_dir') . '/config.php')) {
|
2017-07-01 15:28:29 -05:00
|
|
|
echo("This should only be called during install");
|
|
|
|
exit;
|
|
|
|
}
|
2019-03-14 08:06:27 -05:00
|
|
|
$init_modules = ['nodb'];
|
2019-06-23 00:29:12 -05:00
|
|
|
require \LibreNMS\Config::get('install_dir') . '/includes/init.php';
|
2017-07-01 15:28:29 -05:00
|
|
|
|
|
|
|
header("Content-type: text/plain");
|
|
|
|
header('X-Accel-Buffering: no');
|
|
|
|
|
|
|
|
$db_vars = array(
|
2019-01-14 07:44:23 -05:00
|
|
|
'dbhost' => 'host',
|
|
|
|
'dbuser' => 'username',
|
|
|
|
'dbpass' => 'password',
|
|
|
|
'dbname' => 'database',
|
|
|
|
'dbport' => 'port',
|
|
|
|
'dbsocket' => 'unix_socket',
|
2017-07-01 15:28:29 -05:00
|
|
|
);
|
|
|
|
|
2019-01-14 07:44:23 -05:00
|
|
|
\Config::set('database.connections.setup', [
|
|
|
|
"driver" => "mysql",
|
|
|
|
"host" => $_SESSION['dbhost'] ?: 'localhost',
|
|
|
|
"port" => $_SESSION['dbhost'] ?: 3306,
|
|
|
|
"database" => $_SESSION['dbname'] ?: 'librenms',
|
|
|
|
"username" => $_SESSION['dbuser'] ?: 'librenms',
|
|
|
|
"password" => $_SESSION['dbpass'] ?: '',
|
|
|
|
"charset" => "utf8",
|
|
|
|
"collation" => "utf8_unicode_ci",
|
|
|
|
"prefix" => "",
|
|
|
|
"strict" => true,
|
|
|
|
"engine" => null
|
|
|
|
]);
|
2017-07-01 15:28:29 -05:00
|
|
|
|
|
|
|
|
|
|
|
echo "Starting Update...\n";
|
2019-01-23 23:42:19 -06:00
|
|
|
try {
|
|
|
|
$ret = \Artisan::call('migrate', ['--seed' => true, '--force' => true, '--database' => 'setup']);
|
2017-07-01 15:28:29 -05:00
|
|
|
|
2019-01-23 23:42:19 -06:00
|
|
|
echo \Artisan::output();
|
|
|
|
|
2019-02-05 16:50:51 -06:00
|
|
|
if ($ret == 0 && \LibreNMS\DB\Schema::isCurrent()) {
|
|
|
|
echo "\n\nSuccess!";
|
|
|
|
} else {
|
|
|
|
echo "\n\nError!";
|
|
|
|
http_response_code(500);
|
|
|
|
}
|
2019-01-23 23:42:19 -06:00
|
|
|
} catch (Exception $e) {
|
|
|
|
echo $e->getMessage() . "\n\nError!";
|
2019-02-05 16:50:51 -06:00
|
|
|
http_response_code(500);
|
2017-07-01 15:28:29 -05:00
|
|
|
}
|
|
|
|
|
2017-08-26 13:35:13 -05:00
|
|
|
ob_end_flush();
|
|
|
|
flush();
|
2017-07-01 15:28:29 -05:00
|
|
|
session_write_close();
|