diff --git a/.env b/.env index 9c13fa88..6acdc4bd 100644 --- a/.env +++ b/.env @@ -1,4 +1,4 @@ [APP] NAME = Lsky Pro -DEBUG = true +DEBUG = false TRACE = false diff --git a/application/index/controller/Install.php b/application/index/controller/Install.php index 1cf41e7d..47b4ab74 100644 --- a/application/index/controller/Install.php +++ b/application/index/controller/Install.php @@ -205,14 +205,46 @@ EOT; $config['database'], $config['hostport'] ); - if ($mysqli->connect_error) { + if ($mysqli->connect_errno) { $mysqli->close(); throw new Exception($mysqli->connect_error); } + + $mysqli->autocommit(false); + $mysqli->select_db($config['database']); $mysqli->query("SET NAMES utf8"); + + // 新建表字段 + $tableFields = [ + 'lsky_images' => [ + 'folder_id' => 'ALTER TABLE `lsky_images` ADD `folder_id` INT NOT NULL DEFAULT \'0\' COMMENT \'文件夹ID\' AFTER `user_id`;' + ] + ]; + + foreach ($tableFields as $table => $fields) { + foreach ($fields as $field => $sql) { + $fetchFields = $mysqli->query("DESCRIBE `{$table}`;"); + // 判断字段是否已存在 + $flag = true; + foreach ($fetchFields as $fetchField) { + if ($field == $fetchField['Field']) { + $flag = false; + } + } + if ($flag) { + if (!$mysqli->query($sql)) { + throw new Exception($mysqli->error); + } + } + } + } + if (!$mysqli->multi_query($file)) { throw new Exception('数据写入失败'); } + $mysqli->commit(); + $mysqli->autocommit(true); + $mysqli->close(); } $code = 1; $msg = '更新成功,返回首页'; @@ -223,6 +255,7 @@ EOT; } } } catch (Exception $e) { + $mysqli->rollback(); $code = 0; $msg = $e->getMessage(); } diff --git a/public/2018/12/26/5c22d7e678190.jpg b/public/2018/12/26/5c22d7e678190.jpg new file mode 100644 index 00000000..766788fb Binary files /dev/null and b/public/2018/12/26/5c22d7e678190.jpg differ diff --git a/public/2018/12/27/5c243dca1511c.jpeg b/public/2018/12/27/5c243dca1511c.jpeg new file mode 100644 index 00000000..1eb5943f Binary files /dev/null and b/public/2018/12/27/5c243dca1511c.jpeg differ diff --git a/public/2018/12/27/5c24a076234c0.png b/public/2018/12/27/5c24a076234c0.png new file mode 100644 index 00000000..d555b823 Binary files /dev/null and b/public/2018/12/27/5c24a076234c0.png differ diff --git a/update.sql b/update.sql index 4abedd4e..8b68748a 100644 --- a/update.sql +++ b/update.sql @@ -31,18 +31,6 @@ UPDATE `lsky_config` SET `value` = 'kodo' WHERE `lsky_config`.`value` = 'qiniu'; UPDATE `lsky_config` SET `value` = 'uss' WHERE `lsky_config`.`value` = 'upyun'; -- v1.4.1 -DROP PROCEDURE IF EXISTS schema_change; -DELIMITER // -CREATE PROCEDURE schema_change() BEGIN -DECLARE {database} VARCHAR(100); -SELECT DATABASE() INTO {database}; -IF NOT EXISTS(SELECT 1 FROM information_schema.columns where table_schema='{database}' and table_name='lsky_images' and COLUMN_NAME='folder_id') THEN - ALTER TABLE `lsky_images` ADD `folder_id` INT NOT NULL DEFAULT '0' COMMENT '文件夹ID' AFTER `user_id`; -END IF; -END// -DELIMITER ; -CALL schema_change(); - CREATE TABLE IF NOT EXISTS `lsky_folders` ( `id` int(11) PRIMARY KEY AUTO_INCREMENT NOT NULL COMMENT 'ID', `user_id` int(11) NOT NULL COMMENT '用户ID',