176 lines
58 KiB
JavaScript
176 lines
58 KiB
JavaScript
import{_ as i,o as a,c as n,a2 as h}from"./chunks/framework.B-QBKwc1.js";const g=JSON.parse('{"title":"数据库初始化","description":"本章指导您完成数据库的创建和 SQL 脚本导入。","frontmatter":{},"headers":[],"relativePath":"zh/quickstart/database-init.md","filePath":"zh/quickstart/database-init.md"}'),l={name:"zh/quickstart/database-init.md"};function t(p,s,k,e,r,d){return a(),n("div",null,[...s[0]||(s[0]=[h(`<h1 id="_2-4-数据库初始化" tabindex="-1">2.4 数据库初始化 <a class="header-anchor" href="#_2-4-数据库初始化" aria-label="Permalink to "2.4 数据库初始化""></a></h1><div class="tip custom-block"><p class="custom-block-title">概述</p><p>本章指导您完成数据库的创建和 SQL 脚本导入。项目为每种数据库提供了独立的 SQL 脚本,存放在 <code>document/</code> 目录下按数据库类型分组。</p></div><h2 id="SQL-脚本目录结构" tabindex="-1">SQL 脚本目录结构 <a class="header-anchor" href="#SQL-脚本目录结构" aria-label="Permalink to "SQL 脚本目录结构""></a></h2><div class="language-text vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">text</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span>document/</span></span>
|
||
<span class="line"><span>├── mysql/</span></span>
|
||
<span class="line"><span>│ └── rxthinkcmf.thinkphp8.elevue.sql # MySQL 版本</span></span>
|
||
<span class="line"><span>├── postgresql/</span></span>
|
||
<span class="line"><span>│ └── rxthinkcmf.thinkphp8.elevue.sql # PostgreSQL 版本</span></span>
|
||
<span class="line"><span>├── sqlserver/</span></span>
|
||
<span class="line"><span>│ └── rxthinkcmf.thinkphp8.elevue.sql # SQL Server 版本</span></span>
|
||
<span class="line"><span>├── oracle/</span></span>
|
||
<span class="line"><span>│ └── rxthinkcmf.thinkphp8.elevue.sql # Oracle 版本</span></span>
|
||
<span class="line"><span>└── sqlite/</span></span>
|
||
<span class="line"><span> └── rxthinkcmf.thinkphp8.elevue.sql # SQLite 版本</span></span></code></pre></div><p>各数据库脚本已针对对应的 SQL 语法做了适配,可直接导入使用,无需手动转换。</p><hr><h2 id="MySQL-初始化" tabindex="-1">MySQL 初始化 <a class="header-anchor" href="#MySQL-初始化" aria-label="Permalink to "MySQL 初始化""></a></h2><h3 id="_1-创建数据库" tabindex="-1">1. 创建数据库 <a class="header-anchor" href="#_1-创建数据库" aria-label="Permalink to "1. 创建数据库""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># 连接 MySQL(-u root 以 root 用户,-p 交互式输入密码)</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">mysql</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -u</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> root</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -p</span></span></code></pre></div><div class="language-sql vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">sql</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">-- 创建项目数据库</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">-- CHARACTER SET utf8mb4 → 支持 emoji 等四字节字符</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">-- COLLATE utf8mb4_general_ci → 不区分大小写的排序规则</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">CREATE</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;"> DATABASE</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> \`</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">rxthinkcmf.thinkphp8.elevue</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">\`</span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;"> DEFAULT</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;"> CHARACTER</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;"> SET</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> utf8mb4 </span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;">COLLATE</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> utf8mb4_general_ci;</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">EXIT;</span></span></code></pre></div><h3 id="_2-导入-SQL-脚本" tabindex="-1">2. 导入 SQL 脚本 <a class="header-anchor" href="#_2-导入-SQL-脚本" aria-label="Permalink to "2. 导入 SQL 脚本""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -----------------------------------------------------------------------------</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># 导入 MySQL 专用初始化脚本</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -----------------------------------------------------------------------------</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -u root -proot → 数据库用户名和密码</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># rxthinkcmf... → 目标数据库名</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># < file.sql → 将 SQL 文件内容作为 mysql 命令的输入</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">mysql</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -u</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> root</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -proot</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> rxthinkcmf.thinkphp8.elevue</span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;"> <</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> document/mysql/rxthinkcmf.thinkphp8.elevue.sql</span></span></code></pre></div><div class="tip custom-block"><p class="custom-block-title">温馨提示</p><p>导入完成后,数据库中包含完整的表结构和初始数据(管理员账号、菜单、字典、城市数据等),可直接使用。</p></div><h3 id="_3-配置-env" tabindex="-1">3. 配置 .env <a class="header-anchor" href="#_3-配置-env" aria-label="Permalink to "3. 配置 .env""></a></h3><div class="language-ini vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ini</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">[</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#59873A;">DATABASE</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">]</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">TYPE</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> mysql </span><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">; 数据库类型</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">HOSTNAME</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> 127.0.0.1 </span><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">; 数据库地址</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">DATABASE</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> rxthinkcmf.thinkphp8.elevue </span><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">; 数据库名</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">USERNAME</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> root </span><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">; 用户名</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">PASSWORD</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> root </span><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">; 密码</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">HOSTPORT</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> 3306 </span><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">; 端口</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">PREFIX</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> think_ </span><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">; 表前缀</span></span></code></pre></div><hr><h2 id="PostgreSQL-初始化" tabindex="-1">PostgreSQL 初始化 <a class="header-anchor" href="#PostgreSQL-初始化" aria-label="Permalink to "PostgreSQL 初始化""></a></h2><h3 id="_1-创建数据库-1" tabindex="-1">1. 创建数据库 <a class="header-anchor" href="#_1-创建数据库-1" aria-label="Permalink to "1. 创建数据库""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># 以 postgres 系统用户身份进入 PostgreSQL 命令行</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">sudo</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -u</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> postgres</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> psql</span></span></code></pre></div><div class="language-sql vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">sql</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">-- 创建数据库用户(如已存在可跳过)</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">CREATE</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;"> USER</span><span style="--shiki-dark:#62E884;--shiki-light:#59873A;"> postgres</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;"> WITH</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;"> PASSWORD</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> '</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">root</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">'</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">;</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">-- 创建项目数据库</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">-- OWNER postgres → 指定数据库所有者</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">-- ENCODING 'UTF8' → 使用 UTF-8 编码</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">CREATE</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;"> DATABASE</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> "</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">rxthinkcmf.thinkphp8.elevue</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">"</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;"> OWNER</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> postgres </span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">ENCODING</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> '</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">UTF8</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">'</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">;</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">-- 授予用户对该数据库的所有权限</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">GRANT</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> ALL PRIVILEGES </span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">ON</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;"> DATABASE</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> "</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">rxthinkcmf.thinkphp8.elevue</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">"</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;"> TO</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> postgres;</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">\\q</span></span></code></pre></div><h3 id="_2-导入-SQL-脚本-1" tabindex="-1">2. 导入 SQL 脚本 <a class="header-anchor" href="#_2-导入-SQL-脚本-1" aria-label="Permalink to "2. 导入 SQL 脚本""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -----------------------------------------------------------------------------</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># 导入 PostgreSQL 专用初始化脚本</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -----------------------------------------------------------------------------</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -U postgres → 连接用户</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -d ... → 目标数据库</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -f file.sql → 执行 SQL 文件</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">psql</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -U</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> postgres</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -d</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> rxthinkcmf.thinkphp8.elevue</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -f</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> document/postgresql/rxthinkcmf.thinkphp8.elevue.sql</span></span></code></pre></div><h3 id="_3-配置-env-1" tabindex="-1">3. 配置 .env <a class="header-anchor" href="#_3-配置-env-1" aria-label="Permalink to "3. 配置 .env""></a></h3><div class="language-ini vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ini</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">[</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#59873A;">DATABASE</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">]</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">TYPE</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> pgsql </span><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">; 数据库类型改为 pgsql</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">HOSTNAME</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> 127.0.0.1</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">DATABASE</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> rxthinkcmf.thinkphp8.elevue</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">USERNAME</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> postgres </span><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">; PostgreSQL 默认用户</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">PASSWORD</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> root</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">HOSTPORT</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> 5432 </span><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">; PostgreSQL 默认端口</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">PREFIX</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> think_</span></span></code></pre></div><hr><h2 id="SQLite-初始化" tabindex="-1">SQLite 初始化 <a class="header-anchor" href="#SQLite-初始化" aria-label="Permalink to "SQLite 初始化""></a></h2><h3 id="_1-创建数据库文件" tabindex="-1">1. 创建数据库文件 <a class="header-anchor" href="#_1-创建数据库文件" aria-label="Permalink to "1. 创建数据库文件""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># 安装 PHP 的 SQLite 扩展(如尚未安装)</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">sudo</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> apt</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> install</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> php8.2-sqlite3</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># 创建数据库文件存放目录(-p 参数:目录不存在时自动创建)</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">mkdir</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -p</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> /www/api/runtime</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># 创建空的 SQLite 数据库文件(touch 创建空文件)</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">touch</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> /www/api/runtime/database.sqlite</span></span></code></pre></div><h3 id="_2-导入-SQL-脚本-2" tabindex="-1">2. 导入 SQL 脚本 <a class="header-anchor" href="#_2-导入-SQL-脚本-2" aria-label="Permalink to "2. 导入 SQL 脚本""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -----------------------------------------------------------------------------</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># 导入 SQLite 专用初始化脚本</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -----------------------------------------------------------------------------</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># sqlite3 → SQLite 命令行工具</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># 数据库文件路径 → SQLite 数据库存储在单个文件中</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># < file.sql → 将 SQL 文件作为输入执行</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">sqlite3</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> /www/api/runtime/database.sqlite</span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;"> <</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> document/sqlite/rxthinkcmf.thinkphp8.elevue.sql</span></span></code></pre></div><h3 id="_3-配置-env-2" tabindex="-1">3. 配置 .env <a class="header-anchor" href="#_3-配置-env-2" aria-label="Permalink to "3. 配置 .env""></a></h3><div class="language-ini vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ini</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">[</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#59873A;">DATABASE</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">]</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">TYPE</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> sqlite </span><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">; 数据库类型改为 sqlite</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">DATABASE</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> /www/api/runtime/database.sqlite </span><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">; SQLite 文件路径</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">PREFIX</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> think_</span></span></code></pre></div><div class="tip custom-block"><p class="custom-block-title">SQLite 特点</p><ul><li>无需安装数据库服务器,数据存储在单个文件中</li><li>适合开发环境、小型项目或嵌入式场景</li><li>文件路径需确保 PHP 进程有读写权限</li></ul></div><hr><h2 id="SQL-Server-初始化" tabindex="-1">SQL Server 初始化 <a class="header-anchor" href="#SQL-Server-初始化" aria-label="Permalink to "SQL Server 初始化""></a></h2><h3 id="_1-创建数据库-2" tabindex="-1">1. 创建数据库 <a class="header-anchor" href="#_1-创建数据库-2" aria-label="Permalink to "1. 创建数据库""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -----------------------------------------------------------------------------</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># 使用 sqlcmd 创建数据库</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -----------------------------------------------------------------------------</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -S localhost → 服务器地址</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -U sa → 用户名(sa 为 SQL Server 管理员)</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -P root → 密码</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -Q → 执行 SQL 查询后退出</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># COLLATE Chinese_PRC_CI_AS → 中文排序规则(不区分大小写)</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">sqlcmd</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -S</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> localhost</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -U</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> sa</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -P</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> root</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -Q</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> "</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">CREATE DATABASE [rxthinkcmf.thinkphp8.elevue] COLLATE Chinese_PRC_CI_AS</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">"</span></span></code></pre></div><h3 id="_2-导入-SQL-脚本-3" tabindex="-1">2. 导入 SQL 脚本 <a class="header-anchor" href="#_2-导入-SQL-脚本-3" aria-label="Permalink to "2. 导入 SQL 脚本""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -----------------------------------------------------------------------------</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># 导入 SQL Server 专用初始化脚本</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -----------------------------------------------------------------------------</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -d rxthinkcmf... → 目标数据库</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -i file.sql → 执行 SQL 文件</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">sqlcmd</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -S</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> localhost</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -U</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> sa</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -P</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> root</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -d</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> rxthinkcmf.thinkphp8.elevue</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -i</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> document/sqlserver/rxthinkcmf.thinkphp8.elevue.sql</span></span></code></pre></div><h3 id="_3-配置-env-3" tabindex="-1">3. 配置 .env <a class="header-anchor" href="#_3-配置-env-3" aria-label="Permalink to "3. 配置 .env""></a></h3><div class="language-ini vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ini</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">[</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#59873A;">DATABASE</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">]</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">TYPE</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> sqlsrv </span><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">; 数据库类型改为 sqlsrv</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">HOSTNAME</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> 127.0.0.1</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">DATABASE</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> rxthinkcmf.thinkphp8.elevue</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">USERNAME</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> sa </span><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">; SQL Server 默认管理员</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">PASSWORD</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> root</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">HOSTPORT</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> 1433 </span><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">; SQL Server 默认端口</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">PREFIX</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> think_</span></span></code></pre></div><hr><h2 id="Oracle-初始化" tabindex="-1">Oracle 初始化 <a class="header-anchor" href="#Oracle-初始化" aria-label="Permalink to "Oracle 初始化""></a></h2><h3 id="_1-创建表空间和用户" tabindex="-1">1. 创建表空间和用户 <a class="header-anchor" href="#_1-创建表空间和用户" aria-label="Permalink to "1. 创建表空间和用户""></a></h3><div class="language-sql vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">sql</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">-- 使用 sqlplus 连接 Oracle(system 为管理员用户,XE 为服务名)</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">sqlplus </span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">system</span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;">/</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">root</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">@localhost:</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#2F798A;">1521</span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;">/</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">XE</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">-- 创建表空间(Oracle 数据存储的逻辑单元)</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">-- DATAFILE → 数据文件的物理路径</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">-- SIZE 100M → 初始大小 100MB</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">-- AUTOEXTEND ON NEXT 100M → 空间不足时自动扩展 100MB</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">CREATE</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;"> TABLESPACE</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> "</span><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">rxthinkcmf_thinkphp8_elevue</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">"</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">DATAFILE </span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">'</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">/u01/oradata/rxthinkcmf_thinkphp8_elevue.dbf</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">'</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">SIZE</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> 100M AUTOEXTEND </span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">ON</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;"> NEXT</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> 100M;</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">-- 创建数据库用户</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">-- IDENTIFIED BY → 设置密码</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">-- DEFAULT TABLESPACE → 指定默认表空间</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">CREATE</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;"> USER</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> "</span><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">root</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">" IDENTIFIED </span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">BY</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> "</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">root</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">"</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;">DEFAULT</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> TABLESPACE </span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">"</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">rxthinkcmf_thinkphp8_elevue</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">"</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">;</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">-- 授权</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">-- CONNECT → 连接权限</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">-- RESOURCE → 创建表/视图等对象的权限</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">-- CREATE VIEW → 创建视图的权限</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">-- UNLIMITED TABLESPACE → 不限制表空间使用量</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">GRANT</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;"> CONNECT</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">, </span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">RESOURCE</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">, </span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">CREATE</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> VIEW </span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">TO</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> "</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">root</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">"</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">;</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">GRANT</span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;"> UNLIMITED</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> TABLESPACE </span><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">TO</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> "</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">root</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">"</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">;</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">EXIT;</span></span></code></pre></div><h3 id="_2-导入-SQL-脚本-4" tabindex="-1">2. 导入 SQL 脚本 <a class="header-anchor" href="#_2-导入-SQL-脚本-4" aria-label="Permalink to "2. 导入 SQL 脚本""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -----------------------------------------------------------------------------</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># 导入 Oracle 专用初始化脚本</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -----------------------------------------------------------------------------</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># sqlplus → Oracle 命令行工具</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># root/root@localhost:1521/XE → 用户/密码@主机:端口/服务名</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># @file.sql → 执行 SQL 文件</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">sqlplus</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> root/root@localhost:1521/XE</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> @document/oracle/rxthinkcmf.thinkphp8.elevue.sql</span></span></code></pre></div><h3 id="_3-配置-env-4" tabindex="-1">3. 配置 .env <a class="header-anchor" href="#_3-配置-env-4" aria-label="Permalink to "3. 配置 .env""></a></h3><div class="language-ini vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ini</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">[</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#59873A;">DATABASE</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">]</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">TYPE</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> oracle </span><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">; 数据库类型改为 oracle</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">HOSTNAME</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> 127.0.0.1</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">DATABASE</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> rxthinkcmf.thinkphp8.elevue</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">USERNAME</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> root</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">PASSWORD</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> root</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">HOSTPORT</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> 1521 </span><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;">; Oracle 默认端口</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">PREFIX</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;"> =</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;"> think_</span></span></code></pre></div><hr><h2 id="验证数据库" tabindex="-1">验证数据库 <a class="header-anchor" href="#验证数据库" aria-label="Permalink to "验证数据库""></a></h2><p>无论使用哪种数据库,都可以通过以下方式验证:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># 方式一:ThinkPHP 命令行(显示版本信息,验证框架可正常加载)</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">php</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> think</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> version</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># 方式二:手动测试登录接口(POST 请求 + JSON 参数)</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">curl</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> http://localhost:8000/api/login</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -X</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> POST</span><span style="--shiki-dark:#F286C4;--shiki-light:#A65E2B;"> \\</span></span>
|
||
<span class="line"><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -H</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> "</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">Content-Type: application/json</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">"</span><span style="--shiki-dark:#F286C4;--shiki-light:#A65E2B;"> \\</span></span>
|
||
<span class="line"><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -d</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> '</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">{"username":"admin","password":"123456"}</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">'</span></span></code></pre></div><p>各数据库直接查询验证:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -----------------------------------------------------------------------------</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># MySQL:查询用户表记录数(验证表是否创建成功且有数据)</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -----------------------------------------------------------------------------</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -e → 执行 SQL 后退出</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">mysql</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -u</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> root</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -proot</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> rxthinkcmf.thinkphp8.elevue</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -e</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> "</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">SELECT COUNT(*) FROM think_user;</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">"</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -----------------------------------------------------------------------------</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># PostgreSQL:查询用户表记录数</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -----------------------------------------------------------------------------</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -c → 执行 SQL 命令</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">psql</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -U</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> postgres</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -d</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> rxthinkcmf.thinkphp8.elevue</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -c</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> "</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">SELECT COUNT(*) FROM think_user;</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">"</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -----------------------------------------------------------------------------</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># SQLite:查询用户表记录数</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -----------------------------------------------------------------------------</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">sqlite3</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> /www/api/runtime/database.sqlite</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> "</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">SELECT COUNT(*) FROM think_user;</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">"</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -----------------------------------------------------------------------------</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># SQL Server:查询用户表记录数</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -----------------------------------------------------------------------------</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -Q → 执行查询后退出</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">sqlcmd</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -S</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> localhost</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -U</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> sa</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -P</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> root</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -d</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> rxthinkcmf.thinkphp8.elevue</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -Q</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> "</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">SELECT COUNT(*) FROM think_user;</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">"</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -----------------------------------------------------------------------------</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># Oracle:查询用户表记录数(需先进入 SQL 命令行)</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -----------------------------------------------------------------------------</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">sqlplus</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> root/root@localhost:1521/XE</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">SELECT</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> COUNT</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">(</span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;">*</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">)</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> FROM</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> think_user</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">;</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">EXIT</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#999999;">;</span></span></code></pre></div><hr><h2 id="默认数据" tabindex="-1">默认数据 <a class="header-anchor" href="#默认数据" aria-label="Permalink to "默认数据""></a></h2><p>导入完成后,系统包含以下初始数据:</p><table tabindex="0"><thead><tr><th>数据</th><th>说明</th></tr></thead><tbody><tr><td>管理员账号</td><td>admin / 123456</td></tr><tr><td>默认角色</td><td>超级管理员(data_scope=1,全部数据权限)</td></tr><tr><td>系统菜单</td><td>完整的菜单和权限节点数据</td></tr><tr><td>字典数据</td><td>性别、状态等基础字典</td></tr><tr><td>系统参数</td><td>DEFAULT_PASSWORD 等系统参数</td></tr><tr><td>城市数据</td><td>全国行政区划数据</td></tr></tbody></table><hr><h2 id="常见问题" tabindex="-1">常见问题 <a class="header-anchor" href="#常见问题" aria-label="Permalink to "常见问题""></a></h2><h3 id="Q-导入报错字符集问题-MySQL-" tabindex="-1">Q: 导入报错字符集问题(MySQL) <a class="header-anchor" href="#Q-导入报错字符集问题-MySQL-" aria-label="Permalink to "Q: 导入报错字符集问题(MySQL)""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># --default-character-set=utf8mb4 → 指定字符集为 utf8mb4(支持 emoji)</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">mysql</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -u</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> root</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -proot</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> --default-character-set=utf8mb4</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> rxthinkcmf.thinkphp8.elevue</span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;"> <</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> document/mysql/rxthinkcmf.thinkphp8.elevue.sql</span></span></code></pre></div><h3 id="Q-表已存在错误" tabindex="-1">Q: 表已存在错误 <a class="header-anchor" href="#Q-表已存在错误" aria-label="Permalink to "Q: 表已存在错误""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -----------------------------------------------------------------------------</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># 先删除旧数据库再重建(⚠️ 会清空所有数据)</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># -----------------------------------------------------------------------------</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># DROP DATABASE IF EXISTS → 如果存在则删除</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">mysql</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -u</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> root</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -proot</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -e</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> "</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">DROP DATABASE IF EXISTS </span><span style="--shiki-dark:#F286C4;--shiki-light:#A65E2B;">\\\`</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">rxthinkcmf.thinkphp8.elevue</span><span style="--shiki-dark:#F286C4;--shiki-light:#A65E2B;">\\\`</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">;</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">"</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># 创建数据库(指定字符集)</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">mysql</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -u</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> root</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -proot</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -e</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> "</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">CREATE DATABASE </span><span style="--shiki-dark:#F286C4;--shiki-light:#A65E2B;">\\\`</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">rxthinkcmf.thinkphp8.elevue</span><span style="--shiki-dark:#F286C4;--shiki-light:#A65E2B;">\\\`</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> DEFAULT CHARACTER SET utf8mb4;</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;">"</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># 重新导入 SQL</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">mysql</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -u</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> root</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -proot</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> rxthinkcmf.thinkphp8.elevue</span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;"> <</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> document/mysql/rxthinkcmf.thinkphp8.elevue.sql</span></span></code></pre></div><h3 id="Q-PostgreSQL-导入报错" tabindex="-1">Q: PostgreSQL 导入报错 <a class="header-anchor" href="#Q-PostgreSQL-导入报错" aria-label="Permalink to "Q: PostgreSQL 导入报错""></a></h3><p>确保使用 <code>document/postgresql/</code> 目录下的脚本,该脚本已针对 PostgreSQL 语法做了适配。</p><h3 id="Q-SQLite-文件权限问题" tabindex="-1">Q: SQLite 文件权限问题 <a class="header-anchor" href="#Q-SQLite-文件权限问题" aria-label="Permalink to "Q: SQLite 文件权限问题""></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes dracula-soft vitesse-light vp-code" tabindex="0"><code><span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># 664 → owner/group 可读写,others 只读</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">chmod</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#2F798A;"> 664</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> /www/api/runtime/database.sqlite</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># 修改文件所有者为 Web 服务器用户</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">chown</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> www-data:www-data</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> /www/api/runtime/database.sqlite</span></span></code></pre></div>`,69)])])}const A=i(l,[["render",t]]);export{g as __pageData,A as default};
|