up
This commit is contained in:
@@ -66,6 +66,16 @@ try {
|
||||
)
|
||||
");
|
||||
|
||||
// 创建 users 表
|
||||
$db->exec("
|
||||
CREATE TABLE IF NOT EXISTS users (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
username TEXT UNIQUE NOT NULL,
|
||||
password TEXT NOT NULL,
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
||||
)
|
||||
");
|
||||
|
||||
// 插入默认配置
|
||||
$defaults = [
|
||||
['site_title', 'OPS 运营管理系统'],
|
||||
@@ -78,10 +88,31 @@ try {
|
||||
$stmt->execute($config);
|
||||
}
|
||||
|
||||
// 插入默认管理员账号(密码使用 password_hash 加密)
|
||||
$stmt = $db->prepare("INSERT INTO users (username, password) VALUES (?, ?)");
|
||||
$stmt->execute(['admin', password_hash('admin', PASSWORD_DEFAULT)]);
|
||||
|
||||
// 设置新创建的数据库文件权限
|
||||
@chmod($db_path, 0666);
|
||||
}
|
||||
|
||||
// 数据库升级:如果 users 表不存在,创建它并迁移默认用户
|
||||
$tables = $db->query("SELECT name FROM sqlite_master WHERE type='table' AND name='users'")->fetchAll();
|
||||
if (empty($tables)) {
|
||||
$db->exec("
|
||||
CREATE TABLE IF NOT EXISTS users (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
username TEXT UNIQUE NOT NULL,
|
||||
password TEXT NOT NULL,
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
||||
)
|
||||
");
|
||||
|
||||
// 插入默认管理员账号
|
||||
$stmt = $db->prepare("INSERT OR IGNORE INTO users (username, password) VALUES (?, ?)");
|
||||
$stmt->execute(['admin', password_hash('admin', PASSWORD_DEFAULT)]);
|
||||
}
|
||||
|
||||
} catch (PDOException $e) {
|
||||
die("数据库连接失败: " . $e->getMessage() . "<br><br>请确保:<br>1. data 目录存在且可写 (chmod 777 data)<br>2. Web 服务器用户有权限创建文件");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user