fixed build performance issues; optimized queries
This commit is contained in:
+23
-2
@@ -1,8 +1,9 @@
|
||||
import "dotenv/config";
|
||||
import { env } from "@/env";
|
||||
import { db } from "../src/server/db";
|
||||
import { articles, categories, users } from "../src/server/db/schema";
|
||||
|
||||
async function seed() {
|
||||
async function developmentSeed() {
|
||||
const usersData = Array.from({ length: 100 }).map((_, i) => ({
|
||||
name: `User ${i + 1}`,
|
||||
email: `user${i + 1}@example.com`,
|
||||
@@ -37,9 +38,29 @@ async function seed() {
|
||||
console.log("Seeded " + a.length + " articles");
|
||||
}
|
||||
|
||||
async function productionSeed() {
|
||||
const user = await db.query.users.findFirst();
|
||||
if (user) {
|
||||
console.log("Skipped seeding, user already exists");
|
||||
return;
|
||||
}
|
||||
const initialUser = {
|
||||
name: "Admin",
|
||||
email: "payblot@gmail.com",
|
||||
role: 7,
|
||||
};
|
||||
await db.insert(users).values(initialUser);
|
||||
console.log("Seeded user");
|
||||
}
|
||||
|
||||
async function init() {
|
||||
try {
|
||||
await seed();
|
||||
if (env.NODE_ENV === "development") await developmentSeed();
|
||||
else if (env.NODE_ENV === "production") await productionSeed();
|
||||
else
|
||||
console.log(
|
||||
"Skipped seeding, NODE_ENV is not set to development or production",
|
||||
);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
} finally {
|
||||
|
||||
Reference in New Issue
Block a user