mirror of
https://gitea.tendokyu.moe/Dniel97/artemis.git
synced 2026-09-22 22:28:25 +03:00
Merge branch 'master' into idac
This commit is contained in:
@@ -0,0 +1,313 @@
|
||||
"""IDAC Season 3
|
||||
|
||||
|
||||
Revision ID: 71fad2543ff7
|
||||
Revises: 318d52559e83
|
||||
Create Date: 2024-12-29 21:15:36.621390
|
||||
|
||||
"""
|
||||
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy.dialects import mysql
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = "71fad2543ff7"
|
||||
down_revision = "318d52559e83"
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
PROFILE_STOCK_COLUMNS = [
|
||||
"avatar_face_list",
|
||||
"avatar_face_new_list",
|
||||
"avatar_eye_list",
|
||||
"avatar_eye_new_list",
|
||||
"avatar_hair_list",
|
||||
"avatar_hair_new_list",
|
||||
"avatar_body_list",
|
||||
"avatar_body_new_list",
|
||||
"avatar_mouth_list",
|
||||
"avatar_mouth_new_list",
|
||||
"avatar_glasses_list",
|
||||
"avatar_glasses_new_list",
|
||||
"avatar_face_accessory_list",
|
||||
"avatar_face_accessory_new_list",
|
||||
"avatar_body_accessory_list",
|
||||
"avatar_body_accessory_new_list",
|
||||
"avatar_behind_list",
|
||||
"avatar_behind_new_list",
|
||||
"avatar_bg_list",
|
||||
"avatar_bg_new_list",
|
||||
"avatar_effect_list",
|
||||
"avatar_effect_new_list",
|
||||
"avatar_special_list",
|
||||
"avatar_special_new_list",
|
||||
"stamp_list",
|
||||
"stamp_new_list",
|
||||
"keyholder_list",
|
||||
"keyholder_new_list",
|
||||
"papercup_list",
|
||||
"papercup_new_list",
|
||||
"tachometer_list",
|
||||
"tachometer_new_list",
|
||||
"aura_list",
|
||||
"aura_new_list",
|
||||
"aura_color_list",
|
||||
"aura_color_new_list",
|
||||
"aura_line_list",
|
||||
"aura_line_new_list",
|
||||
"bgm_list",
|
||||
"bgm_new_list",
|
||||
"dx_color_list",
|
||||
"dx_color_new_list",
|
||||
"start_menu_bg_list",
|
||||
"start_menu_bg_new_list",
|
||||
"under_neon_list",
|
||||
]
|
||||
|
||||
|
||||
def upgrade():
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.create_table(
|
||||
"idac_team_info",
|
||||
sa.Column("id", sa.Integer(), nullable=False),
|
||||
sa.Column("version", sa.Integer(), nullable=False),
|
||||
sa.Column("name", sa.String(length=15), nullable=False),
|
||||
sa.Column("mileage", sa.Integer(), nullable=False, server_default="0"),
|
||||
sa.Column("sticker_id", sa.Integer(), nullable=False, server_default="1"),
|
||||
sa.Column(
|
||||
"sticker_stock",
|
||||
sa.String(length=256),
|
||||
nullable=False,
|
||||
server_default="0111111111111".ljust(256, "0"),
|
||||
),
|
||||
sa.Column("country", sa.Integer(), nullable=False),
|
||||
sa.Column("store_id", sa.Integer(), nullable=True),
|
||||
sa.Column("password", sa.String(length=10), nullable=False),
|
||||
sa.Column("auto_invite_flag", sa.Integer(), nullable=False, server_default="0"),
|
||||
sa.PrimaryKeyConstraint("id"),
|
||||
sa.UniqueConstraint("password", name="idac_team_info_password_uk"),
|
||||
sa.UniqueConstraint("id", "version", name="idac_team_info_uk"),
|
||||
mysql_charset="utf8mb4",
|
||||
)
|
||||
op.create_table(
|
||||
"idac_team_member",
|
||||
sa.Column("id", sa.Integer(), primary_key=True),
|
||||
sa.Column("version", sa.Integer(), nullable=False),
|
||||
sa.Column("team_id", sa.Integer(), nullable=False),
|
||||
sa.Column("user", sa.Integer(), nullable=False),
|
||||
sa.Column("role", sa.Integer(), nullable=False, server_default="0"),
|
||||
sa.Column("daily_bonus", sa.Integer(), nullable=False, server_default="0"),
|
||||
sa.Column("weekly_bonus", sa.Integer(), nullable=False, server_default="0"),
|
||||
sa.Column(
|
||||
"create_date_daily",
|
||||
sa.TIMESTAMP(),
|
||||
nullable=False,
|
||||
server_default=sa.text("now()"),
|
||||
),
|
||||
sa.Column(
|
||||
"create_date_weekly",
|
||||
sa.TIMESTAMP(),
|
||||
nullable=False,
|
||||
server_default=sa.text("now()"),
|
||||
),
|
||||
sa.Column(
|
||||
"join_dt", sa.TIMESTAMP(), server_default=sa.text("now()"), nullable=False
|
||||
),
|
||||
sa.ForeignKeyConstraint(
|
||||
["team_id"], ["idac_team_info.id"], onupdate="cascade", ondelete="cascade"
|
||||
),
|
||||
sa.ForeignKeyConstraint(
|
||||
["user"], ["aime_user.id"], onupdate="cascade", ondelete="cascade"
|
||||
),
|
||||
sa.UniqueConstraint("user", "version", name="idac_team_member_uk"),
|
||||
mysql_charset="utf8mb4",
|
||||
)
|
||||
op.create_table(
|
||||
"idac_league_info",
|
||||
sa.Column("id", sa.Integer(), primary_key=True),
|
||||
sa.Column("version", sa.Integer(), nullable=False),
|
||||
sa.Column("round_id", sa.Integer(), nullable=False),
|
||||
sa.Column("team_id", sa.Integer(), nullable=False),
|
||||
sa.Column("league_rank_id", sa.Integer(), nullable=False, server_default="0"),
|
||||
sa.Column("league_point", sa.Integer(), nullable=False, server_default="0"),
|
||||
sa.ForeignKeyConstraint(
|
||||
["team_id"], ["idac_team_info.id"], onupdate="cascade", ondelete="cascade"
|
||||
),
|
||||
sa.UniqueConstraint(
|
||||
"version", "round_id", "team_id", name="idac_league_info_uk"
|
||||
),
|
||||
mysql_charset="utf8mb4",
|
||||
)
|
||||
op.create_table(
|
||||
"idac_user_league_info",
|
||||
sa.Column("id", sa.Integer(), primary_key=True),
|
||||
sa.Column("version", sa.Integer(), nullable=False),
|
||||
sa.Column("user", sa.Integer(), nullable=False),
|
||||
sa.Column("team_id", sa.Integer(), nullable=False),
|
||||
sa.Column("round_id", sa.Integer(), nullable=False),
|
||||
sa.Column("point", sa.Integer(), nullable=False, server_default="0"),
|
||||
sa.Column("rewards_claimed", sa.Boolean(), nullable=False, server_default="0"),
|
||||
sa.ForeignKeyConstraint(
|
||||
["user"], ["aime_user.id"], onupdate="cascade", ondelete="cascade"
|
||||
),
|
||||
sa.UniqueConstraint(
|
||||
"user", "version", "round_id", name="idac_user_league_info_uk"
|
||||
),
|
||||
mysql_charset="utf8mb4",
|
||||
)
|
||||
|
||||
op.drop_column("idac_user_car", "total_car_parts_count")
|
||||
op.drop_column("idac_profile", "team_id")
|
||||
op.drop_column("idac_profile_config", "config_id")
|
||||
|
||||
op.add_column(
|
||||
"idac_profile",
|
||||
sa.Column(
|
||||
"total_car_parts_count", sa.Integer(), nullable=False, server_default="0"
|
||||
),
|
||||
)
|
||||
op.add_column("idac_profile_config", sa.Column("favorite_bgm_list", sa.Text()))
|
||||
op.add_column("idac_profile_config", sa.Column("break_flag", sa.INTEGER()))
|
||||
op.add_column(
|
||||
"idac_profile_config",
|
||||
sa.Column("visible_my_stats", sa.INTEGER()),
|
||||
)
|
||||
op.add_column(
|
||||
"idac_profile_config",
|
||||
sa.Column("visible_rival_stats", sa.INTEGER()),
|
||||
)
|
||||
op.add_column("idac_profile_tips", sa.Column("last_team_join_dt", sa.TIMESTAMP))
|
||||
|
||||
op.create_table(
|
||||
"idac_team_member_info",
|
||||
sa.Column("id", sa.Integer(), primary_key=True),
|
||||
sa.Column("version", sa.Integer(), nullable=False),
|
||||
sa.Column("team_id", sa.Integer(), nullable=False),
|
||||
sa.Column("user", sa.Integer(), nullable=False),
|
||||
sa.Column("action_id", sa.Integer(), nullable=False, server_default="2"),
|
||||
sa.Column(
|
||||
"action_dt", sa.DateTime(), server_default=sa.text("now()"), nullable=False
|
||||
),
|
||||
sa.ForeignKeyConstraint(
|
||||
["team_id"], ["idac_team_info.id"], onupdate="cascade", ondelete="cascade"
|
||||
),
|
||||
sa.ForeignKeyConstraint(
|
||||
["user"], ["aime_user.id"], onupdate="cascade", ondelete="cascade"
|
||||
),
|
||||
mysql_charset="utf8mb4",
|
||||
)
|
||||
op.create_index(
|
||||
"idx_trial_ranking",
|
||||
"idac_user_time_trial",
|
||||
["version", "course_id", "style_car_id", "user", "goal_time"],
|
||||
)
|
||||
|
||||
op.alter_column(
|
||||
"idac_user_battle_gift",
|
||||
"gift_status",
|
||||
new_column_name="gift_get_status",
|
||||
existing_type=sa.Integer(),
|
||||
existing_nullable=True,
|
||||
)
|
||||
|
||||
for column_name in PROFILE_STOCK_COLUMNS:
|
||||
op.alter_column(
|
||||
"idac_profile_stock",
|
||||
column_name,
|
||||
existing_type=sa.String(length=255),
|
||||
type_=sa.Text(),
|
||||
existing_nullable=True,
|
||||
)
|
||||
|
||||
op.alter_column(
|
||||
"idac_profile_stock",
|
||||
"mytitle_list",
|
||||
existing_type=sa.String(length=1024),
|
||||
type_=sa.Text(),
|
||||
existing_nullable=True,
|
||||
)
|
||||
op.alter_column(
|
||||
"idac_profile_stock",
|
||||
"mytitle_new_list",
|
||||
existing_type=sa.String(length=1024),
|
||||
type_=sa.Text(),
|
||||
existing_nullable=True,
|
||||
)
|
||||
op.create_unique_constraint(
|
||||
"idac_round_info_uk",
|
||||
"idac_round_info",
|
||||
["round_id_in_json", "season"]
|
||||
)
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade():
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.drop_table("idac_team_member_info")
|
||||
op.drop_table("idac_team_member")
|
||||
op.drop_table("idac_league_info")
|
||||
op.drop_table("idac_team_info")
|
||||
op.drop_table("idac_user_league_info")
|
||||
|
||||
op.drop_column("idac_profile", "total_car_parts_count")
|
||||
op.add_column(
|
||||
"idac_user_car",
|
||||
sa.Column(
|
||||
"total_car_parts_count", sa.Integer(), nullable=False, server_default="0"
|
||||
),
|
||||
)
|
||||
|
||||
op.drop_column("idac_profile_config", "favorite_bgm_list")
|
||||
op.drop_column("idac_profile_config", "visible_rival_stats")
|
||||
op.drop_column("idac_profile_config", "visible_my_stats")
|
||||
op.drop_column("idac_profile_config", "break_flag")
|
||||
op.drop_column("idac_profile_tips", "last_team_join_dt")
|
||||
|
||||
op.drop_index("idx_trial_ranking", "idac_user_time_trial")
|
||||
|
||||
op.add_column(
|
||||
"idac_profile",
|
||||
sa.Column("team_id", sa.INTEGER(), server_default="0"),
|
||||
)
|
||||
op.add_column(
|
||||
"idac_profile_config",
|
||||
sa.Column("config_id", sa.INTEGER()),
|
||||
)
|
||||
|
||||
op.alter_column(
|
||||
"idac_user_battle_gift",
|
||||
"gift_get_status",
|
||||
new_column_name="gift_status",
|
||||
existing_type=sa.Integer(),
|
||||
existing_nullable=True,
|
||||
)
|
||||
for column_name in PROFILE_STOCK_COLUMNS:
|
||||
op.alter_column(
|
||||
"idac_profile_stock",
|
||||
column_name,
|
||||
existing_type=sa.Text(),
|
||||
type_=sa.String(length=255),
|
||||
existing_nullable=True,
|
||||
)
|
||||
|
||||
op.alter_column(
|
||||
"idac_profile_stock",
|
||||
"mytitle_list",
|
||||
existing_type=sa.Text(),
|
||||
type_=sa.String(length=1024),
|
||||
existing_nullable=True,
|
||||
)
|
||||
op.alter_column(
|
||||
"idac_profile_stock",
|
||||
"mytitle_new_list",
|
||||
existing_type=sa.Text(),
|
||||
type_=sa.String(length=1024),
|
||||
existing_nullable=True,
|
||||
)
|
||||
op.drop_constraint(
|
||||
"idac_round_info_uk",
|
||||
"idac_round_info",
|
||||
type_="unique"
|
||||
)
|
||||
# ### end Alembic commands ###
|
||||
+6
-1
@@ -1,6 +1,8 @@
|
||||
from typing import Dict, List, Tuple, Any
|
||||
import asyncio
|
||||
import json
|
||||
import logging, coloredlogs
|
||||
|
||||
from typing import Dict, List, Tuple, Any
|
||||
from logging.handlers import TimedRotatingFileHandler
|
||||
from starlette.requests import Request
|
||||
from starlette.responses import Response
|
||||
@@ -140,6 +142,9 @@ class TitleServlet:
|
||||
if hasattr(handler_cls, "setup") and should_call_setup:
|
||||
handler_cls.setup()
|
||||
should_call_setup = False
|
||||
|
||||
if hasattr(handler_cls, "async_init"):
|
||||
asyncio.create_task(handler_cls.async_init())
|
||||
|
||||
self.title_registry[code] = handler_cls
|
||||
|
||||
|
||||
Reference in New Issue
Block a user