forked from Cookies_Github_mirror/AquaDX
[F] Fix wacca db constraints
This commit is contained in:
@@ -46,7 +46,7 @@ enum class WaccaItemType(val type: Int) {
|
||||
TOUCH_EFFECT(17);
|
||||
|
||||
operator fun invoke() = type
|
||||
operator fun invoke(u: WaccaUser, id: Int) = WcUserItem(id, this()).apply { user = u }
|
||||
operator fun invoke(u: WaccaUser, id: Int) = WcUserItem(type = this(), itemId = id).apply { user = u }
|
||||
}
|
||||
|
||||
enum class WaccaOptionType(val id: Int, val default: Int) {
|
||||
|
||||
@@ -28,7 +28,7 @@ class WaccaUser : BaseEntity() {
|
||||
var title1 = 0
|
||||
var title2 = 0
|
||||
var rating = 0
|
||||
@Temporal(TemporalType.TIME)
|
||||
@Temporal(TemporalType.TIMESTAMP)
|
||||
var vipExpireTime: Date = Date(0)
|
||||
var alwaysVip = false
|
||||
var loginCount = 0
|
||||
@@ -51,7 +51,7 @@ class WaccaUser : BaseEntity() {
|
||||
var lastFolderOrder = 0
|
||||
var lastFolderId = 0
|
||||
var lastSongOrder = 0
|
||||
@Temporal(TemporalType.TIME)
|
||||
@Temporal(TemporalType.TIMESTAMP)
|
||||
var lastLoginDate: Date = Date(0)
|
||||
var gateTutorialFlags: String? = null
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import icu.samnyan.aqua.net.games.BaseEntity
|
||||
import icu.samnyan.aqua.sega.wacca.WaccaItemType
|
||||
import icu.samnyan.aqua.sega.wacca.WaccaItemType.*
|
||||
import jakarta.persistence.*
|
||||
import java.util.*
|
||||
|
||||
typealias UC = UniqueConstraint
|
||||
|
||||
@@ -73,18 +74,21 @@ class WcUserItem(
|
||||
var itemId: Int = 0,
|
||||
var p1: Long = 0L,
|
||||
var p2: Long = 0L,
|
||||
var p3: Long = 0L
|
||||
var p3: Long = 0L,
|
||||
|
||||
@Temporal(TemporalType.TIMESTAMP)
|
||||
var acquiredDate: Date = Date(),
|
||||
) : WaccaUserEntity() {
|
||||
fun ls() = when (type) {
|
||||
MUSIC_UNLOCK() -> ls(itemId, p1, p2, p3) // songId, diff, acquireDate, unlockDate
|
||||
ICON() -> ls(itemId, type, p1, p2) // id, type, uses, acquiredDate
|
||||
MUSIC_UNLOCK() -> ls(itemId, p1, acquiredDate, acquiredDate) // songId, diff, acquireDate, unlockDate
|
||||
ICON() -> ls(itemId, type, p1, acquiredDate) // id, type, uses, acquiredDate
|
||||
TROPHY() -> ls(itemId, p1, p2, p3) // id, season, progress, badgeType
|
||||
SKILL() -> ls(itemId, p1, p2, p3) // skillType, level, flag, badge
|
||||
TICKET() -> ls(id, itemId, p1) // userTicketId, ticketId, expire
|
||||
NAVIGATOR() -> ls(itemId, type, p1, p2, p3) // id, type, acquiredDate, uses, usesToday
|
||||
NAVIGATOR() -> ls(itemId, type, acquiredDate, p1, p2) // id, type, acquiredDate, uses, usesToday
|
||||
|
||||
// Generic: title, note colors, note sounds, plates, touch effects
|
||||
else -> ls(itemId, type, p1)
|
||||
else -> ls(itemId, type, acquiredDate) // id, type, acquireDate
|
||||
}
|
||||
|
||||
infix fun isType(t: WaccaItemType) = type == t()
|
||||
|
||||
@@ -19,28 +19,17 @@ ALTER TABLE wacca_user_gate
|
||||
ADD last_used datetime NOT NULL;
|
||||
|
||||
ALTER TABLE wacca_user_item
|
||||
ADD p1 BIGINT NOT NULL;
|
||||
|
||||
ALTER TABLE wacca_user_item
|
||||
ADD p2 BIGINT NOT NULL;
|
||||
|
||||
ALTER TABLE wacca_user_item
|
||||
ADD p3 BIGINT NOT NULL;
|
||||
|
||||
ALTER TABLE wacca_user_item
|
||||
DROP COLUMN acquire_date;
|
||||
|
||||
ALTER TABLE wacca_user_item
|
||||
DROP COLUMN use_count;
|
||||
ADD p1 BIGINT NOT NULL,
|
||||
ADD p2 BIGINT NOT NULL,
|
||||
ADD p3 BIGINT NOT NULL,
|
||||
DROP COLUMN acquire_date,
|
||||
DROP COLUMN use_count,
|
||||
ADD acquired_date datetime NOT NULL,
|
||||
DROP CONSTRAINT wacca_user_item_unique,
|
||||
ADD CONSTRAINT wacca_user_item_unique UNIQUE (user_id, item_id, type);
|
||||
|
||||
ALTER TABLE wacca_user
|
||||
DROP COLUMN last_login_date;
|
||||
|
||||
ALTER TABLE wacca_user
|
||||
DROP COLUMN vip_expire_time;
|
||||
|
||||
ALTER TABLE wacca_user
|
||||
ADD last_login_date time NOT NULL;
|
||||
|
||||
ALTER TABLE wacca_user
|
||||
ADD vip_expire_time time NOT NULL;
|
||||
DROP COLUMN last_login_date,
|
||||
DROP COLUMN vip_expire_time,
|
||||
ADD last_login_date datetime NOT NULL,
|
||||
ADD vip_expire_time datetime NOT NULL;
|
||||
|
||||
Reference in New Issue
Block a user