refactor(db)!: replace version column using Version

This commit is contained in:
2025-08-04 01:07:16 +08:00
parent 308b087b94
commit 2dc96e06aa
3 changed files with 9 additions and 3 deletions

View File

@ -5,6 +5,8 @@ from typing import TYPE_CHECKING, Optional
from sqlalchemy import ForeignKeyConstraint, Integer, Numeric, String from sqlalchemy import ForeignKeyConstraint, Integer, Numeric, String
from sqlalchemy.orm import Mapped, mapped_column, relationship from sqlalchemy.orm import Mapped, mapped_column, relationship
from arcaea_offline.utils import Version
from ._base import ModelBase, ReprHelper from ._base import ModelBase, ReprHelper
from ._types import ForceTimezoneDateTime from ._types import ForceTimezoneDateTime
@ -30,4 +32,4 @@ class ChartInfo(ModelBase, ReprHelper):
constant: Mapped[Decimal] = mapped_column(Numeric, nullable=False) constant: Mapped[Decimal] = mapped_column(Numeric, nullable=False)
notes: Mapped[Optional[int]] = mapped_column(Integer) notes: Mapped[Optional[int]] = mapped_column(Integer)
added_at: Mapped[datetime] = mapped_column(ForceTimezoneDateTime, primary_key=True) added_at: Mapped[datetime] = mapped_column(ForceTimezoneDateTime, primary_key=True)
version: Mapped[Optional[str]] = mapped_column(String) version: Mapped[Optional[Version]]

View File

@ -13,6 +13,8 @@ from sqlalchemy import (
) )
from sqlalchemy.orm import Mapped, mapped_column, relationship from sqlalchemy.orm import Mapped, mapped_column, relationship
from arcaea_offline.utils import Version
from ._base import ModelBase, ReprHelper from ._base import ModelBase, ReprHelper
from ._types import ForceTimezoneDateTime from ._types import ForceTimezoneDateTime
@ -65,7 +67,7 @@ class Difficulty(ModelBase, ReprHelper):
bpm: Mapped[Optional[str]] = mapped_column(String) bpm: Mapped[Optional[str]] = mapped_column(String)
bpm_base: Mapped[Optional[Decimal]] = mapped_column(Numeric(asdecimal=True)) bpm_base: Mapped[Optional[Decimal]] = mapped_column(Numeric(asdecimal=True))
added_at: Mapped[Optional[datetime]] = mapped_column(ForceTimezoneDateTime) added_at: Mapped[Optional[datetime]] = mapped_column(ForceTimezoneDateTime)
version: Mapped[Optional[str]] = mapped_column(String) version: Mapped[Optional[Version]]
is_legacy11: Mapped[bool] = mapped_column( is_legacy11: Mapped[bool] = mapped_column(
Boolean, nullable=False, insert_default=False, server_default=text("0") Boolean, nullable=False, insert_default=False, server_default=text("0")
) )

View File

@ -5,6 +5,8 @@ from typing import TYPE_CHECKING, Optional
from sqlalchemy import Boolean, ForeignKey, Integer, Numeric, String, text from sqlalchemy import Boolean, ForeignKey, Integer, Numeric, String, text
from sqlalchemy.orm import Mapped, mapped_column, relationship from sqlalchemy.orm import Mapped, mapped_column, relationship
from arcaea_offline.utils import Version
from ._base import ModelBase, ReprHelper from ._base import ModelBase, ReprHelper
from ._types import ForceTimezoneDateTime from ._types import ForceTimezoneDateTime
@ -42,7 +44,7 @@ class Song(ModelBase, ReprHelper):
added_at: Mapped[datetime] = mapped_column( added_at: Mapped[datetime] = mapped_column(
ForceTimezoneDateTime, nullable=False, index=True ForceTimezoneDateTime, nullable=False, index=True
) )
version: Mapped[Optional[str]] = mapped_column(String) version: Mapped[Optional[Version]]
bpm: Mapped[Optional[str]] = mapped_column(String) bpm: Mapped[Optional[str]] = mapped_column(String)
bpm_base: Mapped[Optional[Decimal]] = mapped_column(Numeric(asdecimal=True)) bpm_base: Mapped[Optional[Decimal]] = mapped_column(Numeric(asdecimal=True))