import { drizzle } from 'drizzle-orm/d1' import { emails, messages } from '../app/lib/schema' import { nanoid } from 'nanoid' const TEST_USER_ID = '4e4c1d5d-a3c9-407a-8808-2a2424b38c62' interface Env { DB: D1Database } const MAX_EMAIL_COUNT = 5 const MAX_MESSAGE_COUNT = 50 const BATCH_SIZE = 10 // SQLite 变量限制 async function generateTestData(env: Env) { const db = drizzle(env.DB) const now = new Date() try { // 生成测试邮箱 const testEmails = Array.from({ length: MAX_EMAIL_COUNT }).map(() => ({ id: crypto.randomUUID(), address: `${nanoid(6)}@moemail.app`, userId: TEST_USER_ID, createdAt: now, expiresAt: new Date(now.getTime() + 24 * 60 * 60 * 1000), })) // 插入测试邮箱 const emailResults = await db.insert(emails).values(testEmails).returning() console.log('Created test emails:', emailResults) // 为每个邮箱生成测试消息 for (const email of emailResults) { const allMessages = Array.from({ length: MAX_MESSAGE_COUNT }).map((_, index) => ({ id: crypto.randomUUID(), emailId: email.id, fromAddress: `sender${index + 1}@example.com`, subject: `Test Message ${index + 1} - ${nanoid(6)}`, content: `This is test message ${index + 1} content.\n\nBest regards,\nSender ${index + 1}`, html: `
This is test message ${index + 1} content.
With some HTML formatting.
Best regards,
Sender ${index + 1}