import { mysqlTable, int, varchar, boolean, decimal, datetime, index } from "drizzle-orm/mysql-core" export const cards = mysqlTable("cards", { productId: int().primaryKey(), originalProductName: varchar({ length: 255 }).default("").notNull(), productName: varchar({ length: 255 }).notNull(), productLineName: varchar({ length: 255 }).default("").notNull(), productLineUrlName: varchar({ length: 255 }).default("").notNull(), productStatusId: int().default(0).notNull(), productTypeId: int().default(0).notNull(), productUrlName: varchar({ length: 255 }).default("").notNull(), rarityName: varchar({ length: 100 }).default("").notNull(), sealed: boolean().default(false).notNull(), sellerListable: boolean().default(false).notNull(), setId: int().default(0).notNull(), shippingCategoryId: int().default(0).notNull(), duplicate: boolean().default(false).notNull(), foilOnly: boolean().default(false).notNull(), maxFulfillableQuantity: int().default(0).notNull(), totalListings: int().default(0).notNull(), score: decimal({ precision: 10, scale: 2, mode: 'number' }).default(0).notNull(), lowestPrice: decimal({ precision: 10, scale: 2, mode: 'number' }).default(0).notNull(), lowestPriceWithShipping: decimal({ precision: 10, scale: 2, mode: 'number' }).default(0).notNull(), marketPrice: decimal({ precision: 10, scale: 2, mode: 'number' }).default(0).notNull(), medianPrice: decimal({ precision: 10, scale: 2, mode: 'number' }).default(0).notNull(), attack1: varchar({ length: 1024 }), attack2: varchar({ length: 1024 }), attack3: varchar({ length: 1024 }), attack4: varchar({ length: 1024 }), cardType: varchar({ length: 100 }), cardTypeB: varchar({ length: 100 }), energyType: varchar({ length: 100 }), flavorText: varchar({ length: 1000 }), hp: int().default(0).notNull(), number: varchar({ length: 50 }).default("").notNull(), releaseDate: datetime(), resistance: varchar({ length: 100 }), retreatCost: varchar({ length: 100 }), stage: varchar({ length: 100 }), weakness: varchar({ length: 100 }), Artist: varchar({ length: 255 }), }); export const sets = mysqlTable("sets", { setId: int().primaryKey(), setName: varchar({ length: 255 }).notNull(), setUrlName: varchar({ length: 255 }).notNull(), setCode: varchar({ length: 100 }).notNull(), }); export const skus = mysqlTable("skus", { skuId: int().primaryKey(), productId: int().notNull(), condition: varchar({ length: 255 }).notNull(), language: varchar({ length: 100 }).notNull(), variant: varchar({ length: 100 }).notNull(), calculatedAt: datetime(), highestPrice: decimal({ precision: 10, scale: 2 }), lowestPrice: decimal({ precision: 10, scale: 2 }), marketPrice: decimal({ precision: 10, scale: 2 }), priceCount: int(), }, (table) => [ index("productIdIdx").on(table.productId), ]); export const processingSkus = mysqlTable("processingSkus", { skuId: int().primaryKey(), });