From 601cec9075eac61c59b3a9850e7330a3fa4d83fe Mon Sep 17 00:00:00 2001 From: Kevin Trocolli Date: Thu, 27 Jun 2024 10:02:19 -0400 Subject: [PATCH] sao: you already know what it is --- .../680789dabab3_sao_player_changes.py | 47 +++++++++++-------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/core/data/alembic/versions/680789dabab3_sao_player_changes.py b/core/data/alembic/versions/680789dabab3_sao_player_changes.py index d65f725..9cc60d4 100644 --- a/core/data/alembic/versions/680789dabab3_sao_player_changes.py +++ b/core/data/alembic/versions/680789dabab3_sao_player_changes.py @@ -64,14 +64,6 @@ def upgrade(): op.add_column('sao_hero_log_data', sa.Column('property4_value1', sa.INTEGER(), server_default='0', nullable=False)) op.add_column('sao_hero_log_data', sa.Column('property4_value2', sa.INTEGER(), server_default='0', nullable=False)) op.add_column('sao_hero_log_data', sa.Column('converted_card_num', sa.INTEGER(), server_default='0', nullable=False)) - op.alter_column('sao_hero_log_data', 'main_weapon', - existing_type=mysql.INTEGER(), - type_=sa.BIGINT(), - nullable=True) - op.alter_column('sao_hero_log_data', 'sub_equipment', - existing_type=mysql.INTEGER(), - type_=sa.BIGINT(), - nullable=True) op.alter_column('sao_hero_log_data', 'skill_slot1_skill_id', existing_type=mysql.INTEGER(), type_=sa.BIGINT(), @@ -101,6 +93,24 @@ def upgrade(): new_column_name="hero_log_id", type_=sa.BIGINT(), nullable=False) + op.execute(sa.text("UPDATE sao_hero_log_data SET skill_slot1_skill_id = NULL WHERE skill_slot1_skill_id = 0;")) + op.execute(sa.text("UPDATE sao_hero_log_data SET skill_slot2_skill_id = NULL WHERE skill_slot2_skill_id = 0;")) + op.execute(sa.text("UPDATE sao_hero_log_data SET skill_slot3_skill_id = NULL WHERE skill_slot3_skill_id = 0;")) + op.execute(sa.text("UPDATE sao_hero_log_data SET skill_slot4_skill_id = NULL WHERE skill_slot4_skill_id = 0;")) + op.execute(sa.text("UPDATE sao_hero_log_data SET skill_slot5_skill_id = NULL WHERE skill_slot5_skill_id = 0;")) + op.execute(sa.text("UPDATE sao_hero_log_data SET main_weapon = NULL WHERE main_weapon = 0;")) + op.execute(sa.text("UPDATE sao_hero_log_data SET sub_equipment = NULL WHERE sub_equipment = 0;")) + op.execute(sa.text("UPDATE sao_hero_party SET user_hero_log_id_1 = NULL WHERE user_hero_log_id_1 = 0;")) + op.execute(sa.text("UPDATE sao_hero_party SET user_hero_log_id_2 = NULL WHERE user_hero_log_id_2 = 0;")) + op.execute(sa.text("UPDATE sao_hero_party SET user_hero_log_id_3 = NULL WHERE user_hero_log_id_3 = 0;")) + + op.execute(sa.text("UPDATE sao_hero_log_data INNER JOIN sao_equipment_data ON sao_hero_log_data.main_weapon = sao_equipment_data.equipment_id SET sao_hero_log_data.main_weapon = sao_equipment_data.id;")) + op.execute(sa.text("UPDATE sao_hero_log_data INNER JOIN sao_equipment_data ON sao_hero_log_data.sub_equipment = sao_equipment_data.equipment_id SET sao_hero_log_data.sub_equipment = sao_equipment_data.id;")) + + op.execute(sa.text("UPDATE sao_hero_party INNER JOIN sao_hero_log_data ON sao_hero_party.user_hero_log_id_1 = sao_hero_log_data.hero_log_id SET sao_hero_party.user_hero_log_id_1 = sao_hero_log_data.id;")) + op.execute(sa.text("UPDATE sao_hero_party INNER JOIN sao_hero_log_data ON sao_hero_party.user_hero_log_id_2 = sao_hero_log_data.hero_log_id SET sao_hero_party.user_hero_log_id_2 = sao_hero_log_data.id;")) + op.execute(sa.text("UPDATE sao_hero_party INNER JOIN sao_hero_log_data ON sao_hero_party.user_hero_log_id_3 = sao_hero_log_data.hero_log_id SET sao_hero_party.user_hero_log_id_3 = sao_hero_log_data.id;")) + op.create_foreign_key(None, 'sao_hero_log_data', 'sao_static_property', ['property4_property_id'], ['PropertyId'], onupdate='cascade', ondelete='cascade') op.create_foreign_key(None, 'sao_hero_log_data', 'sao_static_skill', ['skill_slot1_skill_id'], ['SkillId'], onupdate='set null', ondelete='set null') op.create_foreign_key(None, 'sao_hero_log_data', 'sao_static_skill', ['skill_slot5_skill_id'], ['SkillId'], onupdate='set null', ondelete='set null') @@ -125,17 +135,16 @@ def upgrade(): server_default=sa.text('now()'), existing_nullable=False) op.add_column('sao_player_quest', sa.Column('quest_type', sa.INTEGER(), server_default='1', nullable=False)) - op.add_column('sao_player_quest', sa.Column('quest_scene_id', sa.BIGINT(), nullable=False)) op.alter_column('sao_player_quest', 'play_date', existing_type=mysql.TIMESTAMP(), server_default=sa.text('now()'), existing_nullable=False) - op.drop_index('sao_player_quest_ibfk_1', 'sao_player_quest', type_='foreignkey') - op.drop_constraint('sao_player_quest_uk', 'sao_player_quest', type_='unique') - op.create_unique_constraint('sao_player_quest_uk', 'sao_player_quest', ['user', 'quest_scene_id']) - op.create_foreign_key(None, 'sao_player_quest', 'aime_user', ['user'], ['id'], onupdate='cascade', ondelete='cascade') + op.alter_column('sao_player_quest', 'episode_id', + existing_type=mysql.INTEGER(), + new_column_name="quest_scene_id", + type_=sa.BIGINT(), + nullable=False) op.create_foreign_key(None, 'sao_player_quest', 'sao_static_quest', ['quest_scene_id'], ['QuestSceneId'], onupdate='cascade', ondelete='cascade') - op.drop_column('sao_player_quest', 'episode_id') op.add_column('sao_profile', sa.Column('my_shop', sa.INTEGER(), nullable=True)) op.add_column('sao_profile', sa.Column('fav_hero', sa.INTEGER(), nullable=True)) op.add_column('sao_profile', sa.Column('when_register', sa.TIMESTAMP(), server_default=sa.text('now()'), nullable=True)) @@ -161,12 +170,12 @@ def downgrade(): op.drop_column('sao_profile', 'when_register') op.drop_column('sao_profile', 'fav_hero') op.drop_column('sao_profile', 'my_shop') - op.add_column('sao_player_quest', sa.Column('episode_id', mysql.INTEGER(), autoincrement=False, nullable=False)) - op.drop_constraint("sao_player_quest_ibfk_1", 'sao_player_quest', type_='foreignkey') + op.alter_column('sao_player_quest', 'quest_scene_id', + existing_type=mysql.BIGINT(), + new_column_name="episode_id", + type_=sa.INTEGER(), + nullable=False) op.drop_constraint("sao_player_quest_ibfk_2", 'sao_player_quest', type_='foreignkey') - op.drop_constraint('sao_player_quest_uk', 'sao_player_quest', type_='unique') - op.create_unique_constraint('sao_player_quest_uk', 'sao_player_quest', ['user', 'episode_id']) - op.create_foreign_key(None, 'sao_player_quest', 'aime_user', ['user'], ['id'], onupdate='cascade', ondelete='cascade') op.alter_column('sao_player_quest', 'play_date', existing_type=mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'),