Files

56 lines
1.6 KiB
Go

package database
import (
"hfb_jysh/backend/internal/model"
"gorm.io/gorm"
)
// MigrateListingLifecycleTestSchema 创建商品生命周期测试所需的共享表结构。
// 真实表结构已由 migrations 建好,这里的 AutoMigrate 只做幂等补齐。
func MigrateListingLifecycleTestSchema(db *gorm.DB) error {
return AutoMigrateIfMissing(db,
&model.User{},
&model.AdminUser{},
&model.GameAccount{},
&model.RentalListing{},
&model.ListingUpload{},
&model.ListingStatusEvent{},
&model.DistributionSite{},
&model.DistributionSiteAccount{},
)
}
// MigrateRentalTransactionTestSchema 在商品生命周期基础上创建订单、支付和交接测试所需的共享表结构。
func MigrateRentalTransactionTestSchema(db *gorm.DB) error {
if err := MigrateListingLifecycleTestSchema(db); err != nil {
return err
}
return AutoMigrateIfMissing(db,
&model.RentalOrder{},
&model.SystemConfig{},
&model.PaymentOrder{},
&model.Notification{},
&model.AdminNotification{},
&model.HandoffRecord{},
&model.OrderCheckout{},
&model.WalletAccount{},
&model.WalletLedger{},
&model.RenterGrowthLedger{},
&model.AuditLog{},
&model.ProcessEvent{},
&model.ChatConversation{},
&model.ChatParticipant{},
&model.ChatAdminConversationState{},
&model.ChatMessage{},
)
}
// MigrateRentalDisputeTestSchema 在交易链路基础上创建申诉测试所需的表结构。
func MigrateRentalDisputeTestSchema(db *gorm.DB) error {
if err := MigrateRentalTransactionTestSchema(db); err != nil {
return err
}
return AutoMigrateIfMissing(db, &model.Dispute{})
}