Skip to content

Commit

Permalink
db update
Browse files Browse the repository at this point in the history
  • Loading branch information
John-Chan committed May 16, 2018
1 parent 14c5f49 commit 0c0d498
Show file tree
Hide file tree
Showing 13 changed files with 96 additions and 24 deletions.
10 changes: 5 additions & 5 deletions coc-clan-war/src/main/java/me/shufork/biz/domain/CocWarLog.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,16 @@ public class CocWarLog {
private Date modifiedTime;

@Id
@Column(name = "f_id")
@Column(name = "f_id",length = 64)
private String id;//tag(home team ) + end time

@Column(name = "f_home_team",nullable = false)
@Column(name = "f_home_team",nullable = false,length = 64)
private String homeTeam;

@Column(name = "f_away_team",nullable = false)
@Column(name = "f_away_team",nullable = false,length = 64)
private String awayTeam;

@Column(name = "f_result")
@Column(name = "f_result",length = 24)
private String result;

@Column(name = "f_end_time")
Expand All @@ -48,6 +48,6 @@ public class CocWarLog {
@Column(name = "f_team_size")
private int teamSize;

@Column(name = "f_owner",nullable = false)
@Column(name = "f_owner",nullable = false,length = 24)
private String owner;
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,20 +30,20 @@ public class CocWarTeam {
private Date modifiedTime;

@Id
@Column(name = "f_id")
@Column(name = "f_id",length = 64)
private String id; //tag+warTime

@Column(name = "f_opponent_team", nullable = false)
@Column(name = "f_opponent_team", nullable = false,length = 24)
private String opponent;

@Column(name = "f_war_time", nullable = false)
@Temporal(TemporalType.TIMESTAMP)
private Date warTime;

@Column(name = "f_clan", nullable = false)
@Column(name = "f_clan", nullable = false,length = 24)
private String clan;

@Column(name = "f_name")
@Column(name = "f_name",length = 64)
private String name;

@Column(name = "f_badge_small")
Expand Down
23 changes: 23 additions & 0 deletions coc-clan-war/src/main/resources/db/changelog/changelog-1.sql
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,26 @@ CREATE INDEX idx_qry_teams ON t_war_log ( f_owner,f_end_time,f_home_team, f_away

-- t_war_team
CREATE INDEX idx_qry_opponent ON t_war_team ( f_war_time,f_opponent_team );


--changeset cj:2
-- t_war_log
ALTER TABLE `t_war_log`
CHANGE COLUMN `f_id` `f_id` VARCHAR(64) NOT NULL ,
CHANGE COLUMN `f_away_team` `f_away_team` VARCHAR(64) NOT NULL ,
CHANGE COLUMN `f_home_team` `f_home_team` VARCHAR(64) NOT NULL ,
CHANGE COLUMN `f_owner` `f_owner` VARCHAR(24) NOT NULL ,
CHANGE COLUMN `f_result` `f_result` VARCHAR(24) NULL DEFAULT NULL ;

ALTER TABLE `t_war_log`
ROW_FORMAT = COMPRESSED ;

-- t_war_team
ALTER TABLE `t_war_team`
CHANGE COLUMN `f_id` `f_id` VARCHAR(64) NOT NULL ,
CHANGE COLUMN `f_name` `f_name` VARCHAR(64) NOT NULL ,
CHANGE COLUMN `f_clan` `f_clan` VARCHAR(24) NOT NULL ,
CHANGE COLUMN `f_opponent_team` `f_opponent_team` VARCHAR(24) NOT NULL ;

ALTER TABLE `t_war_team`
ROW_FORMAT = COMPRESSED ;
4 changes: 2 additions & 2 deletions coc-clan/src/main/java/me/shufork/biz/domain/CocClan.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ public class CocClan {
private Date modifiedTime;

@Id
@Column(name = "f_tag")
@Column(name = "f_tag",length = 24)
private String tag;

@Column(name = "f_name",nullable = false)
@Column(name = "f_name",nullable = false,length = 64)
private String name;

@Column(name = "f_clan_level",nullable = false)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@ public class CocClanDetails {
private Date modifiedTime;

@Id
@Column(name = "f_tag")
@Column(name = "f_tag",length = 24)
private String tag;

@Column(name = "f_type")
@Column(name = "f_type",length = 24)
private String type;

@Column(name = "f_description",columnDefinition = "TEXT")
Expand All @@ -50,7 +50,7 @@ public class CocClanDetails {
@Column(name = "f_required_trophies")
private int requiredTrophies;

@Column(name = "f_war_frequency")
@Column(name = "f_war_frequency",length = 32)
private String warFrequency;

@Column(name = "f_war_win_streak")
Expand Down
14 changes: 14 additions & 0 deletions coc-clan/src/main/resources/db/changelog/changelog-1.sql
Original file line number Diff line number Diff line change
Expand Up @@ -57,3 +57,17 @@ CREATE INDEX idx_top_win_streak ON t_clan_details ( f_war_win_streak );
CREATE INDEX idx_top_war_wins ON t_clan_details ( f_war_wins );
CREATE INDEX idx_top_war_ties ON t_clan_details ( f_war_ties );
CREATE INDEX idx_top_war_losses ON t_clan_details ( f_war_losses );


--changeset cj:2

-- t_clan
ALTER TABLE `t_clan`
CHANGE COLUMN `f_tag` `f_tag` VARCHAR(24) NOT NULL ,
CHANGE COLUMN `f_name` `f_name` VARCHAR(64) NOT NULL ;

-- t_clan_details
ALTER TABLE `t_clan_details`
CHANGE COLUMN `f_tag` `f_tag` VARCHAR(24) NOT NULL ,
CHANGE COLUMN `f_type` `f_type` VARCHAR(24) NULL DEFAULT NULL ,
CHANGE COLUMN `f_war_frequency` `f_war_frequency` VARCHAR(32) NULL DEFAULT NULL ;
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,16 @@

import me.shufork.common.dto.supercell.coc.SeasonDto;

import java.util.Date;

public final class CocConstants {
public static final char TAG_CHAR = '#';
public static final String TAG_PREFIX = "#";
public static final long LEAGUE_ID_INVALID = -1L;
public static final long LOCATION_ID_INVALID = -1L;
public static final SeasonDto NOT_IN_SEASON = new SeasonDto(-1,-1,null);
public static final Date EPOCH = new Date(0l);
public static final String EPOCH_SQL_EXPR = "1970-01-01 00:00:00";

private CocConstants(){}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import me.shufork.biz.domain.ClanTracking;
import me.shufork.biz.domain.PlayerTracking;
import me.shufork.common.constants.CocConstants;
import me.shufork.common.dto.supercell.coc.ClanBasicInfoDto;
import me.shufork.common.dto.supercell.coc.PlayerBasicInfoDto;
import org.modelmapper.ModelMapper;
Expand All @@ -23,7 +24,7 @@ public ModelMapper modelMapper() {
target.setPlayer(source.getTag());
target.setName(source.getName());
target.setScore(0);
target.setLastHit(null);
target.setLastHit(CocConstants.EPOCH);
return target;
});
modelMapper.createTypeMap(ClanBasicInfoDto.class,ClanTracking.class).setConverter(mappingContext -> {
Expand All @@ -33,7 +34,7 @@ public ModelMapper modelMapper() {
target.setClan(source.getTag());
target.setName(source.getName());
target.setScore(0);
target.setLastHit(null);
target.setLastHit(CocConstants.EPOCH);
return target;
});
return modelMapper;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@ public class ClanTracking {
private Date modifiedTime;

@Id
@Column(name = "f_clan_tag")
@Column(name = "f_clan_tag",length = 24)
private String clan;

@Column(name = "f_name",nullable = false)
@Column(name = "f_name",nullable = false,length = 64)
private String name;

@Column(name = "f_score")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@ public class PlayerTracking {
private Date modifiedTime;

@Id
@Column(name = "f_player_tag")
@Column(name = "f_player_tag",length = 24)
private String player;

@Column(name = "f_name",nullable = false)
@Column(name = "f_name",nullable = false,length = 64)
private String name;

@Column(name = "f_score")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,15 @@ public interface ClanTrackingRepository extends JpaRepository<ClanTracking,Strin
@Modifying
@Query(value =
"INSERT INTO t_clan_tracking(`f_clan_tag`, `f_name`, `f_score`, `f_last_hit_time`, `z_version`) " +
"VALUES (:#{#clanTracking.clan}, :#{#clanTracking.name},:#{#clanTracking.score}, NULL, 0)" +
"VALUES (:#{#clanTracking.clan}, :#{#clanTracking.name},:#{#clanTracking.score},:#{#clanTracking.lastHit}, 0)" +
"ON DUPLICATE KEY UPDATE z_version = z_version + 1",
nativeQuery = true)
int insertOrIgnore(@Param("clanTracking") ClanTracking clanTracking);

@Modifying
@Query(value =
"INSERT INTO t_clan_tracking(`f_clan_tag`, `f_name`, `f_score`, `f_last_hit_time`, `z_version`) " +
"VALUES (:#{#clanTracking.clan}, :#{#clanTracking.name},:#{#clanTracking.score},NULL, 0)" +
"VALUES (:#{#clanTracking.clan}, :#{#clanTracking.name},:#{#clanTracking.score},:#{#clanTracking.lastHit}, 0)" +
"ON DUPLICATE KEY UPDATE f_last_hit_time = :#{#clanTracking.lastHit},f_score = :#{#clanTracking.score} ,z_version = z_version + 1",
nativeQuery = true)
int insertOrUpdate(@Param("clanTracking") ClanTracking clanTracking);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,15 @@ public interface PlayerTrackingRepository extends JpaRepository<PlayerTracking,S
@Modifying
@Query(value =
"INSERT INTO t_player_tracking(`f_player_tag`, `f_name`, `f_score`, `f_last_hit_time`, `z_version`) " +
"VALUES (:#{#playerTracking.player},:#{#playerTracking.name},:#{#playerTracking.score}, NULL, 0)" +
"VALUES (:#{#playerTracking.player},:#{#playerTracking.name},:#{#playerTracking.score}, :#{#playerTracking.lastHit}, 0)" +
"ON DUPLICATE KEY UPDATE z_version = z_version + 1",
nativeQuery = true)
int insertOrIgnore(@Param("playerTracking") PlayerTracking playerTracking);

@Modifying
@Query(value =
"INSERT INTO t_player_tracking(`f_player_tag`, `f_name`, `f_score`, `f_last_hit_time`, `z_version`) " +
"VALUES (:#{#playerTracking.player}, :#{#playerTracking.name},:#{#playerTracking.score}, NULL, 0)" +
"VALUES (:#{#playerTracking.player}, :#{#playerTracking.name},:#{#playerTracking.score}, :#{#playerTracking.lastHit}, 0)" +
"ON DUPLICATE KEY UPDATE f_last_hit_time = :#{#playerTracking.lastHit},f_score = :#{#playerTracking.score} ,z_version = z_version + 1",
nativeQuery = true)
int insertOrUpdate(@Param("playerTracking") PlayerTracking playerTracking);
Expand Down
30 changes: 30 additions & 0 deletions coc-discovery/src/main/resources/db/changelog/changelog-2.sql
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,33 @@ CREATE INDEX idx_top_last_hit_score ON t_clan_tracking ( f_last_hit_time, f_scor
-- t_player_tracking
ALTER TABLE t_player_tracking DROP INDEX idx_top_last_hit_score;
CREATE INDEX idx_top_last_hit_score ON t_player_tracking ( f_last_hit_time, f_score, z_version,f_player_tag, f_name );

--changeset cj:3

-- t_clan_tracking
ALTER TABLE `t_clan_tracking`
CHANGE COLUMN `f_clan_tag` `f_clan_tag` VARCHAR(24) NOT NULL ,
CHANGE COLUMN `f_name` `f_name` VARCHAR(64) NOT NULL ;

UPDATE `t_clan_tracking`
SET
`f_last_hit_time` = '1970-01-01 00:00:00'
WHERE
`f_last_hit_time` IS NULL;

ALTER TABLE `t_clan_tracking`
CHANGE COLUMN `f_last_hit_time` `f_last_hit_time` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' ;

-- t_player_tracking
ALTER TABLE `t_player_tracking`
CHANGE COLUMN `f_player_tag` `f_player_tag` VARCHAR(24) NOT NULL ,
CHANGE COLUMN `f_name` `f_name` VARCHAR(64) NOT NULL ;

UPDATE `t_player_tracking`
SET
`f_last_hit_time` = '1970-01-01 00:00:00'
WHERE
`f_last_hit_time` IS NULL;

ALTER TABLE `t_player_tracking`
CHANGE COLUMN `f_last_hit_time` `f_last_hit_time` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' ;

0 comments on commit 0c0d498

Please sign in to comment.