added initial schema.prisma, populate brand and equipment
This commit is contained in:
@ -10,5 +10,82 @@ generator client {
|
||||
|
||||
datasource db {
|
||||
provider = "postgresql"
|
||||
url = env("10.0.0.124:5432")
|
||||
url = env("DATABASE_URL")
|
||||
}
|
||||
|
||||
model Vehicle {
|
||||
id Int @id @default(autoincrement())
|
||||
brand String
|
||||
model String
|
||||
variant String?
|
||||
year Int
|
||||
kilometers Int
|
||||
condition String
|
||||
location String
|
||||
latitude String
|
||||
longitude String
|
||||
gasType String
|
||||
images String[]
|
||||
description String
|
||||
service String
|
||||
inspectedAt DateTime?
|
||||
|
||||
updatedAt DateTime @updatedAt
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
auctions Auction[] // Relation to Auction
|
||||
equipment Equipment[] @relation("VehicleEquipment")
|
||||
}
|
||||
|
||||
model Equipment {
|
||||
id Int @id @default(autoincrement())
|
||||
name String
|
||||
|
||||
vehicles Vehicle[] @relation("VehicleEquipment")
|
||||
}
|
||||
|
||||
model Auction {
|
||||
id Int @id @default(autoincrement())
|
||||
vehicleId Int
|
||||
userId Int
|
||||
|
||||
askingPrice Float
|
||||
description String?
|
||||
|
||||
vehicle Vehicle @relation(fields: [vehicleId], references: [id])
|
||||
user User @relation(fields: [userId], references: [id])
|
||||
|
||||
updatedAt DateTime @updatedAt
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
bids Bid[] // Relation to Bid
|
||||
}
|
||||
|
||||
model User {
|
||||
id Int @id @default(autoincrement())
|
||||
name String
|
||||
company String?
|
||||
address String
|
||||
latitude String
|
||||
longitude String
|
||||
phone String
|
||||
privatePhone String?
|
||||
email String
|
||||
cvr String?
|
||||
|
||||
updatedAt DateTime @updatedAt
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
auctions Auction[] // Relation to Auction
|
||||
}
|
||||
|
||||
model Bid {
|
||||
id Int @id @default(autoincrement())
|
||||
auctionId Int
|
||||
bid Float
|
||||
|
||||
auction Auction @relation(fields: [auctionId], references: [id])
|
||||
|
||||
updatedAt DateTime @updatedAt
|
||||
createdAt DateTime @default(now())
|
||||
}
|
||||
|
||||
188
prisma/seed.ts
Normal file
188
prisma/seed.ts
Normal file
@ -0,0 +1,188 @@
|
||||
import { PrismaClient } from '@prisma/client';
|
||||
|
||||
const prisma = new PrismaClient();
|
||||
|
||||
const equipmentData = [
|
||||
"aut.",
|
||||
"aut.gear/tiptronic",
|
||||
"ratgearskifte",
|
||||
"alu.",
|
||||
"15\" Alufælge",
|
||||
"16\" Alufælge",
|
||||
"17\" Alufælge",
|
||||
"18\" Alufælge",
|
||||
"19\" Alufælge",
|
||||
"20\" Alufælge",
|
||||
"21\" Alufælge",
|
||||
"22\" Alufælge",
|
||||
"vinterhjul",
|
||||
"varme i rat",
|
||||
"airc.",
|
||||
"fuldaut. klima",
|
||||
"2 zone klima",
|
||||
"3 zone klima",
|
||||
"4 zone klima",
|
||||
"køl i handskerum",
|
||||
"elektrisk",
|
||||
"kabinevarmer",
|
||||
"motorkabinevarmer",
|
||||
"alarm",
|
||||
"el-klapbare sidespejle",
|
||||
"el-klapbare sidespejle m. varme",
|
||||
"el-spejle m/varme",
|
||||
"automatisk parkerings system",
|
||||
"360° kamera",
|
||||
"bakkamera",
|
||||
"parkeringssensor (bag)",
|
||||
"parkeringssensor (for)",
|
||||
"adaptiv fartpilot",
|
||||
"automatisk",
|
||||
"start/stop",
|
||||
"el betjent bagklap",
|
||||
"dæktryksmåler",
|
||||
"adaptiv undervogn",
|
||||
"elektrisk parkeringsbremse",
|
||||
"træthedsregistrering",
|
||||
"skiltegenkendelse",
|
||||
"CD",
|
||||
"CD/radio",
|
||||
"radio med CDboks",
|
||||
"el komfortsæder",
|
||||
"sportssæder",
|
||||
"integrerede børnesæder",
|
||||
"3 individuelle sæder i bag",
|
||||
"lygtevasker",
|
||||
"tågelygter",
|
||||
"bi-xenon",
|
||||
"xenonlys",
|
||||
"automatisk lys",
|
||||
"fjernlysassistent",
|
||||
"kurvelys",
|
||||
"LED kørelys",
|
||||
"fuld LED forlygter",
|
||||
"airbag",
|
||||
"db. airbags",
|
||||
"4 airbags",
|
||||
"6 airbags",
|
||||
"7 airbags",
|
||||
"8 airbags",
|
||||
"9 airbags",
|
||||
"10 airbags",
|
||||
"ABS",
|
||||
"antispin",
|
||||
"c.lås",
|
||||
"fjernb. c.lås",
|
||||
"nøglefri betjening",
|
||||
"fartpilot",
|
||||
"kørecomputer",
|
||||
"infocenter",
|
||||
"startspærre",
|
||||
"varme i forrude",
|
||||
"auto. nedbl. Bakspejl",
|
||||
"udv. temp. måler",
|
||||
"regnsensor",
|
||||
"sædevarme",
|
||||
"højdejust. forsæder",
|
||||
"højdejust. førersæde",
|
||||
"el indst. forsæder",
|
||||
"el indst. førersæde m. memory",
|
||||
"soltag",
|
||||
"el-soltag",
|
||||
"glastag",
|
||||
"el-ruder",
|
||||
"4x el-ruder",
|
||||
"el-spejle",
|
||||
"DAB radio",
|
||||
"DAB+ radio",
|
||||
"navigation",
|
||||
"multifunktionsrat",
|
||||
"håndfrit til mobil",
|
||||
"bluetooth",
|
||||
"musikstreaming via bluetooth",
|
||||
"nightvision",
|
||||
"digitalt cockpit",
|
||||
"headup display",
|
||||
"Android Auto",
|
||||
"Apple CarPlay",
|
||||
"Internet",
|
||||
"trådløs",
|
||||
"mobilopladning",
|
||||
"SD kortlæser",
|
||||
"USB tilslutning",
|
||||
"AUX tilslutning",
|
||||
"armlæn",
|
||||
"isofix",
|
||||
"bagagerumsdækken",
|
||||
"kopholder",
|
||||
"stofindtræk",
|
||||
"dellæder",
|
||||
"læderindtræk",
|
||||
"kunstlæder",
|
||||
"splitbagsæde",
|
||||
"læderrat",
|
||||
"ESP",
|
||||
"servo",
|
||||
"vognbaneassistent",
|
||||
"blindvinkelsassistent",
|
||||
"automatisk nødbremsesystem",
|
||||
"sænket",
|
||||
"tagræling",
|
||||
"tonede ruder",
|
||||
"mørktonede ruder i bag",
|
||||
"1 ejer",
|
||||
"ikke ryger",
|
||||
"service ok",
|
||||
"brugtbilsattest",
|
||||
"træk",
|
||||
"aftag. træk",
|
||||
"svingbart træk (manuel)",
|
||||
"svingbart træk (elektrisk)",
|
||||
"diesel partikel filter",
|
||||
"undervognsbehandlet"
|
||||
];
|
||||
|
||||
const brandData = [
|
||||
"Abarth", "AC", "Adler", "Aiways", "Alfa Romeo", "Alpina", "Aston Martin",
|
||||
"Auburn", "Audi", "Austin", "Austin Healey", "Auto Union", "Bentley",
|
||||
"BMW", "Buick", "BYD", "Cadillac", "CF Moto", "Chevrolet", "Chrysler",
|
||||
"Citroën", "Corvette", "Cupra", "Dacia", "Daewoo", "Daihatsu", "Daimler",
|
||||
"Dallara", "DeLorean", "DKW", "Dodge", "DS", "Ferrari", "Fiat", "Fisker",
|
||||
"Ford", "GMC", "Honda", "Hongqi", "Hyundai", "JAC", "Jaguar", "Jeep",
|
||||
"Kalmar", "KGM", "Kia", "Lada", "Lamborghini", "Lancia", "Land Rover",
|
||||
"Lexus", "Lincoln", "Lloyd", "Lotus", "Lynk & Co", "MAN", "Maserati",
|
||||
"Maxus", "Maybach", "Mazda", "McLaren", "Mercedes", "Mercury",
|
||||
"Messerschmitt", "MG", "MINI", "Mitsubishi", "Morgan", "Morris", "NIO",
|
||||
"Nissan", "Oldsmobile", "Opel", "Packard", "Peugeot", "Plymouth",
|
||||
"Polestar", "Pontiac", "Porsche", "Renault", "Rolls-Royce", "Rover",
|
||||
"Seat", "Seres", "Singer", "Skoda", "Smart", "SsangYong", "Studebaker",
|
||||
"Subaru", "Suzuki", "Saab", "Tesla", "Toyota", "Triumph", "Vauxhall",
|
||||
"Volvo", "Voyah", "VW", "Wolseley", "Xpeng", "Yugo"
|
||||
];
|
||||
|
||||
async function main() {
|
||||
for (const equipment of equipmentData) {
|
||||
await prisma.equipment.create({
|
||||
data: { name: equipment },
|
||||
});
|
||||
}
|
||||
console.log('Equipment data seeded');
|
||||
|
||||
|
||||
// Seed Brands
|
||||
for (const brand of brandData) {
|
||||
await prisma.brand.create({
|
||||
data: { name: brand },
|
||||
});
|
||||
}
|
||||
console.log('Brand data seeded');
|
||||
}
|
||||
|
||||
|
||||
main()
|
||||
.catch((e) => {
|
||||
console.error(e);
|
||||
process.exit(1);
|
||||
})
|
||||
.finally(async () => {
|
||||
await prisma.$disconnect();
|
||||
});
|
||||
Reference in New Issue
Block a user