87 lines
1.8 KiB
Bash
Executable File
87 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
echo "=========================================="
|
|
echo " 由壹点3D素材平台 - 安装脚本"
|
|
echo "=========================================="
|
|
echo ""
|
|
|
|
# Check if Node.js is installed
|
|
if ! command -v node &> /dev/null; then
|
|
echo "❌ Node.js 未安装,请先安装 Node.js (>= 18)"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ Node.js 版本: $(node -v)"
|
|
echo ""
|
|
|
|
# Check if .env.local exists
|
|
if [ ! -f .env.local ]; then
|
|
echo "❌ .env.local 文件不存在"
|
|
echo "请先创建 .env.local 文件并配置环境变量"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ .env.local 文件已存在"
|
|
echo ""
|
|
|
|
# Install dependencies
|
|
echo "📦 安装依赖包..."
|
|
npm install
|
|
|
|
if [ $? -ne 0 ]; then
|
|
echo "❌ 依赖安装失败"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ 依赖安装完成"
|
|
echo ""
|
|
|
|
# Generate Prisma Client
|
|
echo "🔧 生成 Prisma Client..."
|
|
npm run prisma:generate
|
|
|
|
if [ $? -ne 0 ]; then
|
|
echo "❌ Prisma Client 生成失败"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ Prisma Client 生成完成"
|
|
echo ""
|
|
|
|
# Push database schema
|
|
echo "🗄️ 推送数据库模式..."
|
|
npm run prisma:push
|
|
|
|
if [ $? -ne 0 ]; then
|
|
echo "❌ 数据库模式推送失败,请检查数据库连接"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ 数据库模式推送完成"
|
|
echo ""
|
|
|
|
# Create uploads directory
|
|
echo "📁 创建上传目录..."
|
|
mkdir -p uploads
|
|
|
|
echo "✅ 上传目录创建完成"
|
|
echo ""
|
|
|
|
echo "=========================================="
|
|
echo " ✅ 安装完成!"
|
|
echo "=========================================="
|
|
echo ""
|
|
echo "下一步:"
|
|
echo "1. 注册一个账号: http://localhost:3000/register"
|
|
echo "2. 将该账号设置为管理员:"
|
|
echo " npm run prisma:studio"
|
|
echo " 然后在 Prisma Studio 中将 role 改为 ADMIN"
|
|
echo ""
|
|
echo "启动开发服务器:"
|
|
echo " npm run dev"
|
|
echo ""
|
|
echo "访问网站:"
|
|
echo " http://localhost:3000"
|
|
echo ""
|
|
|