diff --git a/f_install/sql/common_schema.sql b/f_install/sql/common_schema.sql index fd6f2100..3b12a0b6 100644 --- a/f_install/sql/common_schema.sql +++ b/f_install/sql/common_schema.sql @@ -2,7 +2,6 @@ DROP TABLE IF EXISTS `system`; DROP TABLE IF EXISTS `member`; DROP TABLE IF EXISTS `member_log`; -DROP TABLE IF EXISTS `config`; -- 시스템 테이블 -- TODO:장기적으로는 key-value(json) storage 형태로 바꾸는게 나을 듯. diff --git a/i_entrance/j_server_get_admin_status.php b/i_entrance/j_server_get_admin_status.php index fa8cde7f..71fc2133 100644 --- a/i_entrance/j_server_get_admin_status.php +++ b/i_entrance/j_server_get_admin_status.php @@ -16,6 +16,8 @@ $result = []; $server = []; +$storage = new \sammo\KVStorage(RootDB::db(), 'git_path'); +$serverGitPath = $storage->getAll(); $rootServer = Util::array_last(AppConf::getList())->getShortName(); @@ -74,7 +76,8 @@ foreach (AppConf::getList() as $setting) { 'name' => $serverDir, 'korName' => $serverKorName, 'color' => $serverColor, - 'isRoot' => $serverDir == $rootServer + 'isRoot' => $serverDir == $rootServer, + 'lastGitPath' => ($serverGitPath[$serverDir][0])??'origin/master' ]; $server[] = $state; } diff --git a/j_updateServer.php b/j_updateServer.php index 5d483b09..f0c23cd9 100644 --- a/j_updateServer.php +++ b/j_updateServer.php @@ -29,6 +29,7 @@ if($session->userGrade < 5){ $request = $_POST + $_GET; $rootDB = RootDB::db(); +$storage = new \sammo\KVStorage($rootDB, 'git_path'); $tmpFile = 'd_log/arc.zip'; $v = new Validator($request); @@ -48,7 +49,7 @@ $target = Util::getReq('target'); $server = basename($request['server']); if($session->userGrade <= 5 || !$target){ - $target = Json::decode($rootDB->queryFirstField('SELECT `key`=%s FROM `config`', "git_path_$server")); + $target = $storage->$server; if($target){ $target = $target[0]; } @@ -118,6 +119,8 @@ if($server == $baseServerName){ ], true ); + $storage->$server = [null, $version]; + Json::die([ 'server'=>$server, 'result'=>true, @@ -161,11 +164,7 @@ $result = Util::generateFileUsingSimpleTemplate( ], true ); -$rootDB->insertUpdate('config', [ - "key" => "git_path_$server", - "value" =>Json::encode([$target, $version]) -]); - +$storage->$server = [$target, $version]; //AppConf::getList()[$server]->closeServer(); Json::die([ diff --git a/js/admin_server.js b/js/admin_server.js index bd157e95..79ff8e1d 100644 --- a/js/admin_server.js +++ b/js/admin_server.js @@ -1,6 +1,6 @@ var serverAdminTemplate = '\ -