Files

73 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 数据库安装与初始化
依据《产品文档》创建数据库 `ocean` 及表结构。
## 1. 安装 MySQL(若未安装)
在终端执行(会提示输入 sudo 密码):
```bash
sudo apt-get update
sudo apt-get install -y mysql-server
```
安装后启动服务:
```bash
sudo systemctl start mysql
sudo systemctl enable mysql
```
## 2. 创建数据库与表
在项目根目录执行(使用 root 登录,无密码时用 `sudo mysql`):
```bash
cd /home/xsl/code/ocean
sudo mysql < backend/schema.sql
```
若 root 已设置密码,则:
```bash
mysql -u root -p < backend/schema.sql
```
按提示输入 root 密码即可。
## 2.1 创建专用用户(避免 root Access denied
Ubuntu 下 MySQL 的 root 常用 socket 认证,脚本用 root 连接会报 `Access denied for user 'root'@'localhost'`。建议为 ocean 创建专用用户:
```bash
cd /home/xsl/code/ocean
sudo mysql < backend/scripts/create_db_user.sql
```
默认会创建用户 `ocean` / 密码 `ocean123`(仅限 ocean 库)。然后在 `backend/.env` 中设置:
```
MYSQL_USER=ocean
MYSQL_PASSWORD=ocean123
MYSQL_DATABASE=ocean
```
若需自定义密码,可先编辑 `backend/scripts/create_db_user.sql``IDENTIFIED BY '...'` 再执行。
## 3. 验证
```bash
mysql -u root -e "USE ocean; SHOW TABLES;"
# 应看到:users, projects, operation_logs
```
## 表说明
| 表名 | 说明 |
|------|------|
| users | 用户(角色:管理员、市场部、工程部、技经部、财务部、物贸部) |
| projects | 项目(含合同信息、成本控制、应收款、应付款、其他 5 类字段) |
| operation_logs | 项目修改操作日志 |
字段与产品文档、API 文档一致;数据库字段名为 snake_case,与 API 的 camelCase 由后端做映射。