feat: 添加数据库种子数据脚本
- 创建管理员用户 (admin@novalon.cn) - 创建默认功能配置 - 创建默认 SEO 配置
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
import { db } from './index';
|
||||
import { users, siteConfig } from './schema';
|
||||
import { nanoid } from 'nanoid';
|
||||
import bcrypt from 'bcryptjs';
|
||||
|
||||
async function seed() {
|
||||
console.log('🌱 开始种子数据...');
|
||||
|
||||
try {
|
||||
const hashedPassword = await bcrypt.hash('admin123456', 10);
|
||||
await db.insert(users).values({
|
||||
id: nanoid(),
|
||||
email: 'admin@novalon.cn',
|
||||
passwordHash: hashedPassword,
|
||||
name: '系统管理员',
|
||||
role: 'admin',
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date(),
|
||||
});
|
||||
|
||||
console.log('✅ 创建管理员用户: admin@novalon.cn');
|
||||
|
||||
const defaultConfigs = [
|
||||
{
|
||||
id: nanoid(),
|
||||
key: 'feature_news',
|
||||
value: {
|
||||
enabled: true,
|
||||
displayCount: 6,
|
||||
categories: ['公司新闻', '产品发布', '合作动态', '行业资讯'],
|
||||
sortOrder: 'desc',
|
||||
},
|
||||
category: 'feature',
|
||||
description: '新闻模块配置',
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
{
|
||||
id: nanoid(),
|
||||
key: 'feature_products',
|
||||
value: {
|
||||
enabled: true,
|
||||
showPricing: true,
|
||||
featuredProducts: ['erp', 'crm'],
|
||||
},
|
||||
category: 'feature',
|
||||
description: '产品模块配置',
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
{
|
||||
id: nanoid(),
|
||||
key: 'feature_services',
|
||||
value: {
|
||||
enabled: true,
|
||||
items: ['software', 'cloud', 'data', 'security'],
|
||||
},
|
||||
category: 'feature',
|
||||
description: '服务模块配置',
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
{
|
||||
id: nanoid(),
|
||||
key: 'seo_default',
|
||||
value: {
|
||||
title: '四川睿新致远科技有限公司 - 企业数字化转型服务商',
|
||||
description: '以智慧连接数字趋势,以伙伴身份陪您成长——您的数字化转型同行者',
|
||||
keywords: ['数字化转型', '软件开发', '云服务', '数据分析', '信息安全'],
|
||||
},
|
||||
category: 'seo',
|
||||
description: '默认 SEO 配置',
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
];
|
||||
|
||||
for (const config of defaultConfigs) {
|
||||
await db.insert(siteConfig).values(config);
|
||||
console.log(`✅ 创建配置: ${config.key}`);
|
||||
}
|
||||
|
||||
console.log('🎉 种子数据完成!');
|
||||
console.log('📝 管理员账号: admin@novalon.cn');
|
||||
console.log('🔑 默认密码: admin123456');
|
||||
} catch (error) {
|
||||
console.error('❌ 种子数据失败:', error);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
seed();
|
||||
Reference in New Issue
Block a user