首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

PHP MySQL 專案打包交付:SQL 腳本 + 安裝向導替代直接導出數據

     編輯:程式設計綜合問答

交付痛點

直接導出 SQL 文件給客戶,需客戶手動建庫、導入、修改配置,易出錯且不專業。

標準化交付方案

  1. 結構腳本:`schema.sql` 包含 `CREATE DATABASE`、`CREATE TABLE`、索引、外鍵。
  2. 數據腳本:`data.sql` 包含基礎字典、管理員賬號等初始數據(`INSERT`)。
  3. 安裝入口:`install.php` 引導式安裝:
<?php
// install.php 簡化流程
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $host = $_POST['host']; $user = $_POST['user']; $pass = $_POST['pass']; $db = $_POST['db'];
    $mysqli = new mysqli($host, $user, $pass);
    $mysqli->query("CREATE DATABASE IF NOT EXISTS `$db`");
    $mysqli->select_db($db);
    // 執行 schema.sql
    $sql = file_get_contents('schema.sql');
    foreach (explode(";\n", $sql) as $stmt) if (trim($stmt)) $mysqli->query($stmt);
    // 執行 data.sql
    $sql = file_get_contents('data.sql');
    foreach (explode(";\n", $sql) as $stmt) if (trim($stmt)) $mysqli->query($stmt);
    // 寫入配置文件
    file_put_contents('config.php', "<?php\nreturn " . var_export([...], true) . ";\n?>");
    die("安裝成功!刪除 install.php 後訪問首頁。");
}
?>
<form method="post">
    主機: <input name="host" value="localhost"><br>
    用戶: <input name="user"><br>
    密碼: <input name="pass" type="password"><br>
    數據庫: <input name="db"><br>
    <button>安裝</button>
</form>

優勢

  • 客戶零 SQL 知識也能部署。
  • 版本升級時提供 `upgrade_v1.1_to_v1.2.sql` + 遷移腳本。
  • 敏感數據(密碼哈希)不硬編碼在 SQL,由安裝向導生成。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved