mirror of
https://github.com/BradNut/boredgame
synced 2025-09-08 17:40:22 +00:00
Changing external id to Int, remove not needed columns, add expansion information, and update seeder.
This commit is contained in:
parent
75aa901a24
commit
5d9af200b7
2 changed files with 94 additions and 111 deletions
|
|
@ -158,7 +158,6 @@ model Game {
|
|||
name String
|
||||
slug String
|
||||
description String? @db.LongText
|
||||
description_preview String? @db.LongText
|
||||
year_published Int? @db.Year
|
||||
min_players Int?
|
||||
max_players Int?
|
||||
|
|
@ -170,11 +169,6 @@ model Game {
|
|||
thumb_url String?
|
||||
url String?
|
||||
rules_url String?
|
||||
is_expansion Boolean @default(false)
|
||||
primary_publisher_id String?
|
||||
primary_publisher Publisher? @relation("PrimaryPublishers", references: [id], fields: [primary_publisher_id])
|
||||
primary_designer_id String?
|
||||
primary_designer Designer? @relation("PrimaryDesigners", references: [id], fields: [primary_designer_id])
|
||||
categories Category[]
|
||||
mechanics Mechanic[]
|
||||
designers Designer[]
|
||||
|
|
@ -185,12 +179,13 @@ model Game {
|
|||
collection_items CollectionItem[]
|
||||
wishlist_items WishlistItem[]
|
||||
list_items ListItem[]
|
||||
external_id String @unique
|
||||
external_id Int @unique
|
||||
last_sync_at DateTime? @db.Timestamp(6)
|
||||
created_at DateTime @default(now()) @db.Timestamp(6)
|
||||
updated_at DateTime @updatedAt @db.Timestamp(6)
|
||||
|
||||
@@fulltext([name])
|
||||
@@index([primary_publisher_id])
|
||||
@@fulltext([slug])
|
||||
@@map("games")
|
||||
}
|
||||
|
||||
|
|
@ -211,9 +206,8 @@ model Publisher {
|
|||
id String @id @default(cuid())
|
||||
name String
|
||||
slug String
|
||||
external_id String @unique
|
||||
external_id Int @unique
|
||||
games Game[]
|
||||
primary_publisher Game[] @relation("PrimaryPublishers")
|
||||
created_at DateTime @default(now()) @db.Timestamp(6)
|
||||
updated_at DateTime @updatedAt @db.Timestamp(6)
|
||||
|
||||
|
|
@ -226,7 +220,7 @@ model Category {
|
|||
name String
|
||||
slug String
|
||||
games Game[]
|
||||
external_id String @unique
|
||||
external_id Int @unique
|
||||
created_at DateTime @default(now()) @db.Timestamp(6)
|
||||
updated_at DateTime @updatedAt @db.Timestamp(6)
|
||||
|
||||
|
|
@ -239,7 +233,7 @@ model Mechanic {
|
|||
name String
|
||||
slug String
|
||||
games Game[]
|
||||
external_id String @unique
|
||||
external_id Int @unique
|
||||
created_at DateTime @default(now()) @db.Timestamp(6)
|
||||
updated_at DateTime @updatedAt @db.Timestamp(6)
|
||||
|
||||
|
|
@ -251,9 +245,8 @@ model Designer {
|
|||
id String @id @default(cuid())
|
||||
name String
|
||||
slug String
|
||||
external_id String @unique
|
||||
external_id Int @unique
|
||||
games Game[]
|
||||
primary_designer Game[] @relation("PrimaryDesigners")
|
||||
created_at DateTime @default(now()) @db.Timestamp(6)
|
||||
updated_at DateTime @updatedAt @db.Timestamp(6)
|
||||
|
||||
|
|
@ -265,6 +258,7 @@ model Artist {
|
|||
id String @id @default(cuid())
|
||||
name String
|
||||
slug String @unique
|
||||
external_id Int @unique
|
||||
games Game[]
|
||||
created_at DateTime @default(now()) @db.Timestamp(6)
|
||||
updated_at DateTime @updatedAt @db.Timestamp(6)
|
||||
|
|
@ -275,15 +269,13 @@ model Artist {
|
|||
|
||||
model Expansion {
|
||||
id String @id @default(cuid())
|
||||
name String
|
||||
year_published Int?
|
||||
base_game Game? @relation(fields: [base_game_id], references: [id])
|
||||
base_game_id String?
|
||||
external_id String @unique
|
||||
base_game Game @relation(fields: [base_game_id], references: [id])
|
||||
base_game_id String
|
||||
game_id String
|
||||
created_at DateTime @default(now()) @db.Timestamp(6)
|
||||
updated_at DateTime @updatedAt @db.Timestamp(6)
|
||||
|
||||
@@fulltext([name])
|
||||
@@index([base_game_id])
|
||||
@@index([game_id])
|
||||
@@map("expansions")
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,59 +20,50 @@ async function main() {
|
|||
console.log('Roles already exist. No action taken.');
|
||||
}
|
||||
|
||||
console.log('Creating Mechanics ...');
|
||||
const existingMechanics = await prisma.mechanic.findMany();
|
||||
if (existingMechanics.length === 0) {
|
||||
for (const mechanic of mechanics.mechanics) {
|
||||
await prisma.mechanic.create({
|
||||
data: {
|
||||
name: mechanic.name,
|
||||
external_id: createId(),
|
||||
slug: kebabCase(mechanic.name)
|
||||
if (!await prisma.publisher.findFirst({
|
||||
where: {
|
||||
external_id: 9999
|
||||
}
|
||||
});
|
||||
}
|
||||
console.log('Mechanics created.');
|
||||
}
|
||||
|
||||
console.log('Creating Categories ...');
|
||||
const existingCategories = await prisma.category.findMany();
|
||||
if (existingCategories.length === 0) {
|
||||
for (const category of categories.categories) {
|
||||
await prisma.category.create({
|
||||
data: {
|
||||
name: category.name,
|
||||
external_id: createId(),
|
||||
slug: kebabCase(category.name)
|
||||
}
|
||||
});
|
||||
}
|
||||
console.log('Categories created.');
|
||||
}
|
||||
|
||||
})) {
|
||||
console.log('Publisher does not exist. Creating...');
|
||||
await prisma.publisher.create({
|
||||
data: {
|
||||
name: 'Unknown',
|
||||
slug: 'unknown',
|
||||
external_id: createId()
|
||||
external_id: 9999
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (!await prisma.designer.findFirst({
|
||||
where: {
|
||||
external_id: 9999
|
||||
}
|
||||
})) {
|
||||
console.log('Designer does not exist. Creating...');
|
||||
await prisma.designer.create({
|
||||
data: {
|
||||
name: 'Unknown',
|
||||
slug: 'unknown',
|
||||
external_id: createId()
|
||||
external_id: 9999
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (!await prisma.artist.findFirst({
|
||||
where: {
|
||||
external_id: 9999
|
||||
}
|
||||
})) {
|
||||
console.log('Artist does not exist. Creating...');
|
||||
await prisma.artist.create({
|
||||
data: {
|
||||
name: 'Unknown',
|
||||
slug: 'unknown'
|
||||
slug: 'unknown',
|
||||
external_id: 9999
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
// for (const p of userData) {
|
||||
// const user = await prisma.user.create({
|
||||
// data: {
|
||||
|
|
|
|||
Loading…
Reference in a new issue