mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-10-02 08:07:40 -05:00
Better README & getting started (#2284)
* initial * wip * wip * wip * pr comment * remove todo * add a few placeholders * todos done
This commit is contained in:
33
scripts/setup.ts
Normal file
33
scripts/setup.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
import "dotenv/config";
|
||||
import fs from "node:fs";
|
||||
import { seed } from "~/db/seed";
|
||||
import { db } from "~/db/sql";
|
||||
import { logger } from "~/utils/logger";
|
||||
|
||||
async function main() {
|
||||
// Step 1: Create .env if it doesn't exist
|
||||
if (!fs.existsSync(".env")) {
|
||||
logger.info("📄 .env not found. Creating from .env.example...");
|
||||
fs.copyFileSync(".env.example", ".env");
|
||||
logger.info(".env created with defaults values");
|
||||
}
|
||||
|
||||
const dbEmpty = !(await db.selectFrom("User").selectAll().executeTakeFirst());
|
||||
|
||||
// Step 2: Run migration and seed if db.sqlite3 doesn't exist
|
||||
if (dbEmpty) {
|
||||
logger.info("🌱 Seeding database...");
|
||||
try {
|
||||
await seed();
|
||||
logger.info("Database seeded successfully");
|
||||
} catch (err) {
|
||||
logger.error(
|
||||
"Error running migrate or seed scripts:",
|
||||
(err as Error).message,
|
||||
);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
||||
Reference in New Issue
Block a user