@@ -746,6 +746,10 @@ model PartnerRequest {
|
||||
longitude Float
|
||||
address String?
|
||||
contact String?
|
||||
region String?
|
||||
imageUrl String?
|
||||
sortOrder Int @default(0)
|
||||
active Boolean @default(true)
|
||||
status String @default("pending") // pending/approved/rejected
|
||||
createdAt DateTime @default(now())
|
||||
approvedAt DateTime?
|
||||
@@ -766,18 +770,4 @@ model Setting {
|
||||
}
|
||||
|
||||
// 메인 노출용 제휴 샵 가로 스크롤 데이터
|
||||
model PartnerShop {
|
||||
id String @id @default(cuid())
|
||||
region String
|
||||
name String
|
||||
address String
|
||||
imageUrl String
|
||||
sortOrder Int @default(0)
|
||||
active Boolean @default(true)
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
@@unique([name, region])
|
||||
@@index([active, sortOrder])
|
||||
@@map("partner_shops")
|
||||
}
|
||||
// PartnerShop 모델 제거됨 (PartnerRequest로 통합)
|
||||
|
||||
@@ -463,10 +463,10 @@ async function seedPartnerShops() {
|
||||
{ region: "강원도", name: "test2", address: "춘천시 중앙로 112", imageUrl: "/sample.jpg", sortOrder: 2 },
|
||||
];
|
||||
for (const it of items) {
|
||||
await prisma.partnerShop.upsert({
|
||||
where: { name_region: { name: it.name, region: it.region } },
|
||||
update: { address: it.address, imageUrl: it.imageUrl, sortOrder: it.sortOrder, active: true },
|
||||
create: it,
|
||||
await prisma.partnerRequest.upsert({
|
||||
where: { id: `${it.region}-${it.name}` },
|
||||
update: { address: it.address, imageUrl: it.imageUrl, sortOrder: it.sortOrder, active: true, status: "approved" },
|
||||
create: { id: `${it.region}-${it.name}`, region: it.region, name: it.name, address: it.address, imageUrl: it.imageUrl, sortOrder: it.sortOrder, active: true, status: "approved", category: "misc", latitude: 37.5, longitude: 127.0 },
|
||||
});
|
||||
}
|
||||
// 표시 토글 기본값 보장
|
||||
@@ -537,6 +537,25 @@ async function main() {
|
||||
await prisma.$executeRawUnsafe("ALTER TABLE partners ADD COLUMN categoryId TEXT");
|
||||
// 외래키 제약은 생략 (SQLite에서는 제약 추가가 까다로움)
|
||||
}
|
||||
// partner_requests 확장 컬럼 보장 (region, imageUrl, sortOrder, active)
|
||||
const prCols = await prisma.$queryRaw`PRAGMA table_info('partner_requests')`;
|
||||
const colHas = (name) => Array.isArray(prCols) && prCols.some((c) => (c.name || c.COLUMN_NAME) === name);
|
||||
if (!colHas('region')) {
|
||||
console.log("Adding missing column: partner_requests.region");
|
||||
await prisma.$executeRawUnsafe("ALTER TABLE partner_requests ADD COLUMN region TEXT");
|
||||
}
|
||||
if (!colHas('imageUrl')) {
|
||||
console.log("Adding missing column: partner_requests.imageUrl");
|
||||
await prisma.$executeRawUnsafe("ALTER TABLE partner_requests ADD COLUMN imageUrl TEXT");
|
||||
}
|
||||
if (!colHas('sortOrder')) {
|
||||
console.log("Adding missing column: partner_requests.sortOrder");
|
||||
await prisma.$executeRawUnsafe("ALTER TABLE partner_requests ADD COLUMN sortOrder INTEGER NOT NULL DEFAULT 0");
|
||||
}
|
||||
if (!colHas('active')) {
|
||||
console.log("Adding missing column: partner_requests.active");
|
||||
await prisma.$executeRawUnsafe("ALTER TABLE partner_requests ADD COLUMN active BOOLEAN NOT NULL DEFAULT 1");
|
||||
}
|
||||
} catch (e) {
|
||||
console.warn("SQLite schema ensure failed:", e);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user