mirror of
https://github.com/Zrips/Jobs.git
synced 2024-12-01 15:03:36 +01:00
Table conversion to use ID's
This commit is contained in:
parent
865ad64c18
commit
6dfd0d94e8
@ -936,6 +936,8 @@ public class Jobs extends JavaPlugin {
|
|||||||
|
|
||||||
cManager.fillCommands();
|
cManager.fillCommands();
|
||||||
|
|
||||||
|
getDBManager().getDB().triggerTableIdUpdate();
|
||||||
|
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
System.out.println("There was some issues when starting plugin. Please contact dev about this. Plugin will be disabled.");
|
System.out.println("There was some issues when starting plugin. Please contact dev about this. Plugin will be disabled.");
|
||||||
|
@ -86,12 +86,17 @@ public class ExploreManager {
|
|||||||
public void load(ResultSet res) {
|
public void load(ResultSet res) {
|
||||||
try {
|
try {
|
||||||
int worldId = res.getInt(ExploreDataTableFields.worldid.getCollumn());
|
int worldId = res.getInt(ExploreDataTableFields.worldid.getCollumn());
|
||||||
|
String worldName = res.getString(ExploreDataTableFields.worldname.getCollumn());
|
||||||
int x = res.getInt(ExploreDataTableFields.chunkX.getCollumn());
|
int x = res.getInt(ExploreDataTableFields.chunkX.getCollumn());
|
||||||
int z = res.getInt(ExploreDataTableFields.chunkZ.getCollumn());
|
int z = res.getInt(ExploreDataTableFields.chunkZ.getCollumn());
|
||||||
String names = res.getString(ExploreDataTableFields.playerNames.getCollumn());
|
String names = res.getString(ExploreDataTableFields.playerNames.getCollumn());
|
||||||
int id = res.getInt("id");
|
int id = res.getInt("id");
|
||||||
|
|
||||||
JobsWorld jobsWorld = Util.getJobsWorld(worldId);
|
JobsWorld jobsWorld = null;
|
||||||
|
if (worldName != null)
|
||||||
|
jobsWorld = Util.getJobsWorld(worldName);
|
||||||
|
if (jobsWorld == null)
|
||||||
|
jobsWorld = Util.getJobsWorld(worldId);
|
||||||
|
|
||||||
if (jobsWorld == null)
|
if (jobsWorld == null)
|
||||||
return;
|
return;
|
||||||
|
@ -521,7 +521,7 @@ public class GeneralConfigManager {
|
|||||||
// PurgeUse = c.get("Optimizations.Purge.Use", false);
|
// PurgeUse = c.get("Optimizations.Purge.Use", false);
|
||||||
|
|
||||||
c.addComment("Logging.Use", "With this set to true all players jobs actions will be logged to database for easy to see statistics",
|
c.addComment("Logging.Use", "With this set to true all players jobs actions will be logged to database for easy to see statistics",
|
||||||
"This is still in development and in feature it will expand");
|
"This is still in development and in future it will expand");
|
||||||
LoggingUse = c.get("Logging.Use", false);
|
LoggingUse = c.get("Logging.Use", false);
|
||||||
|
|
||||||
c.addComment("broadcast.on-skill-up.use", "Do all players get a message when someone goes up a skill level?");
|
c.addComment("broadcast.on-skill-up.use", "Do all players get a message when someone goes up a skill level?");
|
||||||
|
@ -661,6 +661,7 @@ public abstract class JobsDAO {
|
|||||||
|
|
||||||
if (jobId == 0) {
|
if (jobId == 0) {
|
||||||
ls.add(new JobsDAOData(res.getString(JobsTableFields.job.getCollumn()), res.getInt(JobsTableFields.level.getCollumn()), res.getInt(JobsTableFields.experience.getCollumn())));
|
ls.add(new JobsDAOData(res.getString(JobsTableFields.job.getCollumn()), res.getInt(JobsTableFields.level.getCollumn()), res.getInt(JobsTableFields.experience.getCollumn())));
|
||||||
|
converted = false;
|
||||||
} else {
|
} else {
|
||||||
Job job = Jobs.getJob(jobId);
|
Job job = Jobs.getJob(jobId);
|
||||||
ls.add(new JobsDAOData(job.getName(), res.getInt(JobsTableFields.level.getCollumn()), res.getInt(JobsTableFields.experience.getCollumn())));
|
ls.add(new JobsDAOData(job.getName(), res.getInt(JobsTableFields.level.getCollumn()), res.getInt(JobsTableFields.experience.getCollumn())));
|
||||||
@ -724,6 +725,7 @@ public abstract class JobsDAO {
|
|||||||
job = Jobs.getJob(jobid);
|
job = Jobs.getJob(jobid);
|
||||||
} else {
|
} else {
|
||||||
job = Jobs.getJob(jobName);
|
job = Jobs.getJob(jobName);
|
||||||
|
converted = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (job == null)
|
if (job == null)
|
||||||
@ -882,6 +884,9 @@ public abstract class JobsDAO {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int convertSchedId = -1;
|
||||||
|
boolean converted = true;
|
||||||
|
|
||||||
public void recordNewWorld(String worldName) {
|
public void recordNewWorld(String worldName) {
|
||||||
JobsConnection conn = getConnection();
|
JobsConnection conn = getConnection();
|
||||||
if (conn == null)
|
if (conn == null)
|
||||||
@ -940,6 +945,112 @@ public abstract class JobsDAO {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void triggerTableIdUpdate() {
|
||||||
|
// Lets convert old fields
|
||||||
|
if (convertSchedId > 0)
|
||||||
|
Bukkit.getServer().getScheduler().cancelTask(convertSchedId);
|
||||||
|
if (!converted) {
|
||||||
|
convertSchedId = Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
Jobs.consoleMsg("&6[Jobs] Converting to new database format");
|
||||||
|
convertID();
|
||||||
|
Jobs.consoleMsg("&6[Jobs] Converted to new database format");
|
||||||
|
converted = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}, 60L);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void convertID() {
|
||||||
|
JobsConnection conn = getConnection();
|
||||||
|
if (conn == null)
|
||||||
|
return;
|
||||||
|
PreparedStatement exploreStatement = null;
|
||||||
|
try {
|
||||||
|
exploreStatement = conn.prepareStatement("UPDATE `" + DBTables.ExploreDataTable.getTableName() + "` SET `" + ExploreDataTableFields.worldid.getCollumn() + "` = ?, `"
|
||||||
|
+ ExploreDataTableFields.worldname
|
||||||
|
.getCollumn() + "` = ? WHERE `" + ExploreDataTableFields.worldname.getCollumn() + "` = ?;");
|
||||||
|
for (Entry<String, JobsWorld> jobsWorld : Util.getJobsWorlds().entrySet()) {
|
||||||
|
exploreStatement.setInt(1, jobsWorld.getValue().getId());
|
||||||
|
exploreStatement.setString(2, null);
|
||||||
|
exploreStatement.setString(3, jobsWorld.getKey());
|
||||||
|
exploreStatement.execute();
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
close(exploreStatement);
|
||||||
|
}
|
||||||
|
|
||||||
|
PreparedStatement bpStatement = null;
|
||||||
|
try {
|
||||||
|
bpStatement = conn.prepareStatement("UPDATE `" + DBTables.BlocksTable.getTableName() + "` SET `" + BlockTableFields.worldid.getCollumn() + "` = ?, `" + BlockTableFields.world
|
||||||
|
.getCollumn() + "` = ? WHERE `" + BlockTableFields.world.getCollumn() + "` = ?;");
|
||||||
|
for (Entry<String, JobsWorld> jobsWorld : Util.getJobsWorlds().entrySet()) {
|
||||||
|
bpStatement.setInt(1, jobsWorld.getValue().getId());
|
||||||
|
bpStatement.setString(2, null);
|
||||||
|
bpStatement.setString(3, jobsWorld.getKey());
|
||||||
|
bpStatement.execute();
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
close(bpStatement);
|
||||||
|
}
|
||||||
|
|
||||||
|
PreparedStatement archiveStatement = null;
|
||||||
|
try {
|
||||||
|
archiveStatement = conn.prepareStatement("UPDATE `" + DBTables.ArchiveTable.getTableName() + "` SET `" + ArchiveTableFields.jobid.getCollumn() + "` = ?, `" + ArchiveTableFields.job
|
||||||
|
.getCollumn() + "` = ? WHERE `" + ArchiveTableFields.job.getCollumn() + "` = ?;");
|
||||||
|
for (Job job : Jobs.getJobs()) {
|
||||||
|
archiveStatement.setInt(1, job.getId());
|
||||||
|
archiveStatement.setString(2, null);
|
||||||
|
archiveStatement.setString(3, job.getName());
|
||||||
|
archiveStatement.execute();
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
close(archiveStatement);
|
||||||
|
}
|
||||||
|
|
||||||
|
PreparedStatement usersStatement = null;
|
||||||
|
try {
|
||||||
|
usersStatement = conn.prepareStatement("UPDATE `" + DBTables.JobsTable.getTableName() + "` SET `" + JobsTableFields.jobid.getCollumn() + "` = ?, `" + JobsTableFields.job
|
||||||
|
.getCollumn() + "` = ? WHERE `" + JobsTableFields.job.getCollumn() + "` = ?;");
|
||||||
|
for (Job job : Jobs.getJobs()) {
|
||||||
|
usersStatement.setInt(1, job.getId());
|
||||||
|
usersStatement.setString(2, null);
|
||||||
|
usersStatement.setString(3, job.getName());
|
||||||
|
usersStatement.execute();
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
close(usersStatement);
|
||||||
|
}
|
||||||
|
|
||||||
|
PreparedStatement limitsStatement = null;
|
||||||
|
try {
|
||||||
|
limitsStatement = conn.prepareStatement("UPDATE `" + DBTables.LimitsTable.getTableName() + "` SET `" + LimitTableFields.typeid.getCollumn() + "` = ?, `" + LimitTableFields.type
|
||||||
|
.getCollumn() + "` = ? WHERE `" + LimitTableFields.type.getCollumn() + "` = ?;");
|
||||||
|
for (CurrencyType type : CurrencyType.values()) {
|
||||||
|
limitsStatement.setInt(1, type.getId());
|
||||||
|
limitsStatement.setString(2, null);
|
||||||
|
limitsStatement.setString(3, type.getName());
|
||||||
|
limitsStatement.execute();
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
close(limitsStatement);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public void recordNewJobName(Job job) {
|
public void recordNewJobName(Job job) {
|
||||||
JobsConnection conn = getConnection();
|
JobsConnection conn = getConnection();
|
||||||
if (conn == null)
|
if (conn == null)
|
||||||
|
Loading…
Reference in New Issue
Block a user