168 lines
59 KiB
JavaScript
168 lines
59 KiB
JavaScript
import{_ as i,o as a,c as n,a2 as l}from"./chunks/framework.B-QBKwc1.js";const c=JSON.parse('{"title":"数据库初始化","description":"本章指导您完成数据库的创建和 SQL 脚本导入。","frontmatter":{},"headers":[],"relativePath":"zh/quickstart/database-init.md","filePath":"zh/quickstart/database-init.md"}'),t={name:"zh/quickstart/database-init.md"};function h(e,s,p,k,r,d){return a(),n("div",null,[...s[0]||(s[0]=[l(`<h1 id="_2-5-数据库初始化" tabindex="-1">2.5 数据库初始化 <a class="header-anchor" href="#_2-5-数据库初始化" aria-label="Permalink to "2.5 数据库初始化""></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.laravel13.elevue.sql # MySQL 版本</span></span>
|
||
<span class="line"><span>├── postgresql/</span></span>
|
||
<span class="line"><span>│ └── rxthinkcmf.laravel13.elevue.sql # PostgreSQL 版本</span></span>
|
||
<span class="line"><span>├── sqlserver/</span></span>
|
||
<span class="line"><span>│ └── rxthinkcmf.laravel13.elevue.sql # SQL Server 版本</span></span>
|
||
<span class="line"><span>├── oracle/</span></span>
|
||
<span class="line"><span>│ └── rxthinkcmf.laravel13.elevue.sql # Oracle 版本</span></span>
|
||
<span class="line"><span>└── sqlite/</span></span>
|
||
<span class="line"><span> └── rxthinkcmf.laravel13.elevue.sql # SQLite 版本</span></span></code></pre></div><p>各数据库脚本已针对对应的 SQL 语法做了适配,包含完整的表结构(25 张业务表,<code>laravel_</code> 前缀)与初始数据。</p><div class="warning custom-block"><p class="custom-block-title">本项目未使用 Laravel 迁移建表</p><p><code>database/migrations/</code> 目录为空,<code>php artisan migrate</code> 只会初始化迁移记录表,<strong>不会创建业务表</strong>。数据库结构与初始数据以 SQL 脚本为准,表前缀为 <code>laravel_</code>(对应 <code>.env</code> 中 <code>DB_PREFIX</code>)。</p></div><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.laravel13.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 专用初始化脚本(约 226MB,耗时 1~3 分钟)</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.laravel13.elevue</span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;"> <</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> document/mysql/rxthinkcmf.laravel13.elevue.sql</span></span></code></pre></div><div class="tip custom-block"><p class="custom-block-title">温馨提示</p><ul><li>使用 <a href="/zh/quickstart/docker.html">2.8 Docker 快速体验</a> 时无需手动导入,MySQL 容器<strong>首次启动自动执行</strong>该脚本;</li><li>Windows PowerShell 不支持 <code><</code> 重定向,可改用 CMD 执行,或在 Navicat / phpMyAdmin 中导入。</li></ul></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:#F286C4;--shiki-light:#1E754F;">DB_CONNECTION</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">=</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">mysql</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">DB_HOST</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;">DB_PORT</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">=</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">3306</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">DB_DATABASE</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">=</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">rxthinkcmf.laravel13.elevue</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">DB_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;">DB_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;">DB_PREFIX</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">=</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">laravel_ </span><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># 必须保留,脚本中表均为 laravel_ 前缀</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:#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.laravel13.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.laravel13.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.laravel13.elevue</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -f</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> document/postgresql/rxthinkcmf.laravel13.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:#F286C4;--shiki-light:#1E754F;">DB_CONNECTION</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">=</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">pgsql</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">DB_HOST</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;">DB_PORT</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">=</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">5432</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">DB_DATABASE</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">=</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">rxthinkcmf.laravel13.elevue</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">DB_USERNAME</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">=</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">postgres</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">DB_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;">DB_PREFIX</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">=</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">laravel_</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.3-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;"> database</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;"> database/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;"> database/database.sqlite</span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;"> <</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> document/sqlite/rxthinkcmf.laravel13.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:#F286C4;--shiki-light:#1E754F;">DB_CONNECTION</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">=</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">sqlite</span></span>
|
||
<span class="line"><span style="--shiki-dark:#7B7F8B;--shiki-light:#A0ADA0;"># DB_DATABASE 指向 database/database.sqlite(Laravel 默认值,无需修改)</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">DB_PREFIX</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">=</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">laravel_</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.laravel13.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.laravel13.elevue</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> -i</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> document/sqlserver/rxthinkcmf.laravel13.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:#F286C4;--shiki-light:#1E754F;">DB_CONNECTION</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">=</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">sqlsrv</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">DB_HOST</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;">DB_PORT</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">=</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">1433</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">DB_DATABASE</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">=</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">rxthinkcmf.laravel13.elevue</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">DB_USERNAME</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">=</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">sa</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">DB_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;">DB_PREFIX</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">=</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">laravel_</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_laravel13_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_laravel13_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_laravel13_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.laravel13.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:#F286C4;--shiki-light:#1E754F;">DB_CONNECTION</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">=</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">oracle</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">DB_HOST</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;">DB_PORT</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">=</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">1521</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">DB_DATABASE</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">=</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">rxthinkcmf.laravel13.elevue</span></span>
|
||
<span class="line"><span style="--shiki-dark:#F286C4;--shiki-light:#1E754F;">DB_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;">DB_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;">DB_PREFIX</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">=</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">laravel_</span></span></code></pre></div><div class="warning custom-block"><p class="custom-block-title">Oracle 前置条件与实现说明</p><ul><li>需要 PHP 的 <code>pdo_oci</code> 扩展与 Oracle Instant Client,安装步骤见 <a href="/zh/quickstart/environment.html">2.1 开发环境准备</a>「数据库安装 → Oracle」;</li><li>项目已内置 Oracle 运行时驱动:<code>DB_CONNECTION=oracle</code> 即可连接(<code>AppServiceProvider</code> 注册 <code>oci</code> 自定义驱动,配套 <code>App\\Support\\Database\\{OracleConnection, OracleGrammar, OracleProcessor}</code>,分页与自增主键回填已适配);切换时 <code>.env</code> 中 <code>DB_PORT</code> 改为 <code>1521</code>;</li><li>表结构变更请使用跨库迁移工具 <code>php artisan db:migrate</code>(自动生成 Oracle 序列与触发器),不使用 Laravel 迁移;</li><li>实际投产前请按业务场景完整验证(复杂查询、导入导出等)。</li></ul></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;"># 方式一:框架命令行(能正常执行说明框架与数据库配置可加载)</span></span>
|
||
<span class="line"><span style="--shiki-dark:#62E884;--shiki-light:#59873A;">php</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> artisan</span><span style="--shiki-dark:#BF9EEE;--shiki-light:#A65E2B;"> --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://admin.laravel13.elevue/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.laravel13.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 laravel_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.laravel13.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 laravel_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;"> database/database.sqlite</span><span style="--shiki-dark:#DEE492;--shiki-light:#B5695977;"> "</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;">SELECT COUNT(*) FROM laravel_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.laravel13.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 laravel_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;"> laravel_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><p>查询到记录数 > 0 即初始化成功。</p><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(超级管理员,用户 ID=1)</td></tr><tr><td>租户演示账号</td><td>tenant001 / 123456(客户租户A 租户管理员)</td></tr><tr><td>默认角色</td><td>超级管理员(全部数据权限)</td></tr><tr><td>部门与岗位</td><td>默认组织架构数据</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><tr><td>城市数据</td><td>全国行政区划数据</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.laravel13.elevue</span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;"> <</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> document/mysql/rxthinkcmf.laravel13.elevue.sql</span></span></code></pre></div><h3 id="Q-报-Table-xxx-users-doesn-t-exist" tabindex="-1">Q: 报 <code>Table 'xxx.users' doesn't exist</code> <a class="header-anchor" href="#Q-报-Table-xxx-users-doesn-t-exist" aria-label="Permalink to "Q: 报 \`Table 'xxx.users' doesn't exist\`""></a></h3><p>A: <code>DB_PREFIX</code> 未配置或不匹配。脚本中的表均为 <code>laravel_</code> 前缀(如 <code>laravel_user</code>),确认 <code>.env</code> 中:</p><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:#F286C4;--shiki-light:#1E754F;">DB_PREFIX</span><span style="--shiki-dark:#F286C4;--shiki-light:#999999;">=</span><span style="--shiki-dark:#F6F6F4;--shiki-light:#393A34;">laravel_</span></span></code></pre></div><p>修改后执行 <code>php artisan config:clear</code>。</p><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.laravel13.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.laravel13.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.laravel13.elevue</span><span style="--shiki-dark:#F286C4;--shiki-light:#AB5959;"> <</span><span style="--shiki-dark:#E7EE98;--shiki-light:#B56959;"> document/mysql/rxthinkcmf.laravel13.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><p>脚本约 226MB(含全国行政区划等大数据量表),导入需 1~3 分钟属正常。确保命令行窗口保持打开直到导入完成;中断后按上一条清库重导。</p><h3 id="Q-使用了错误数据库类型的脚本" tabindex="-1">Q: 使用了错误数据库类型的脚本 <a class="header-anchor" href="#Q-使用了错误数据库类型的脚本" aria-label="Permalink to "Q: 使用了错误数据库类型的脚本""></a></h3><p>A: 请使用 <code>document/</code> 下<strong>与你的数据库类型对应目录</strong>中的脚本(如 MySQL 用 <code>document/mysql/</code>),脚本已按对应 SQL 语法适配,混用会报语法错误。</p><h3 id="Q-php-artisan-migrate-后依然表不存在" tabindex="-1">Q: <code>php artisan migrate</code> 后依然表不存在 <a class="header-anchor" href="#Q-php-artisan-migrate-后依然表不存在" aria-label="Permalink to "Q: \`php artisan migrate\` 后依然表不存在""></a></h3><p>正常现象——本项目 migrations 为空,<code>migrate</code> 不创建业务表,请按本章手动导入 SQL 脚本。</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;"> database/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;"> database/database.sqlite</span></span></code></pre></div><h3 id="Q-想把已有-MySQL-数据迁移到其他数据库" tabindex="-1">Q: 想把已有 MySQL 数据迁移到其他数据库 <a class="header-anchor" href="#Q-想把已有-MySQL-数据迁移到其他数据库" aria-label="Permalink to "Q: 想把已有 MySQL 数据迁移到其他数据库""></a></h3><p>使用跨库迁移工具(结构 + 数据 + Oracle 序列自动处理),见 <a href="/zh/tools/db-migrate.html">7.6 数据库迁移工具</a>。</p>`,82)])])}const o=i(t,[["render",h]]);export{c as __pageData,o as default};
|