ci: docker compose for easy access
This commit is contained in:
parent
a6edf804b4
commit
c42b8e2904
11 changed files with 249 additions and 13 deletions
|
|
@ -15,6 +15,7 @@
|
|||
"db:studio": "drizzle-kit studio",
|
||||
"db:migrate": "drizzle-kit migrate",
|
||||
"db:seed": "bun --env-file=../../apps/server/.env run ./src/seed.ts",
|
||||
"db:seed:if-empty": "bun --env-file=../../apps/server/.env run ./src/seed-if-empty.ts",
|
||||
"db:start": "docker compose up -d",
|
||||
"db:watch": "docker compose up",
|
||||
"db:stop": "docker compose stop",
|
||||
|
|
|
|||
34
packages/db/src/seed-if-empty.ts
Normal file
34
packages/db/src/seed-if-empty.ts
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
import dotenv from "dotenv";
|
||||
|
||||
dotenv.config({
|
||||
path: new URL("../../../apps/server/.env", import.meta.url).pathname,
|
||||
});
|
||||
|
||||
import { db } from "./index";
|
||||
import { seed } from "./seed";
|
||||
|
||||
async function seedIfEmpty() {
|
||||
const existingUser = await db.query.user.findFirst({
|
||||
columns: {
|
||||
id: true,
|
||||
},
|
||||
});
|
||||
|
||||
if (existingUser) {
|
||||
console.info("Database already has users; skipping sample seed.");
|
||||
return;
|
||||
}
|
||||
|
||||
await seed();
|
||||
console.info("Seeded auth admin and monitoring dashboard sample data.");
|
||||
console.info("Admin login: admin@minmon.local / admin12345");
|
||||
}
|
||||
|
||||
seedIfEmpty()
|
||||
.then(() => {
|
||||
process.exit(0);
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error("Failed to initialize seed data.", error);
|
||||
process.exit(1);
|
||||
});
|
||||
|
|
@ -261,18 +261,20 @@ async function seedMonitoringData() {
|
|||
);
|
||||
}
|
||||
|
||||
async function seed() {
|
||||
export async function seed() {
|
||||
await seedAuthAdmin();
|
||||
await seedMonitoringData();
|
||||
}
|
||||
|
||||
seed()
|
||||
.then(() => {
|
||||
console.info("Seeded auth admin and monitoring dashboard sample data.");
|
||||
console.info("Admin login: admin@minmon.local / admin12345");
|
||||
process.exit(0);
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error("Failed to seed dashboard sample data.", error);
|
||||
process.exit(1);
|
||||
});
|
||||
if (import.meta.main) {
|
||||
seed()
|
||||
.then(() => {
|
||||
console.info("Seeded auth admin and monitoring dashboard sample data.");
|
||||
console.info("Admin login: admin@minmon.local / admin12345");
|
||||
process.exit(0);
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error("Failed to seed dashboard sample data.", error);
|
||||
process.exit(1);
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue