Fix RemoveUsernameFromAccessLogPatch applying every time

This commit is contained in:
Aurora Lahtela 2022-11-20 19:56:32 +02:00
parent 7a582c3b6e
commit bacde53781
2 changed files with 10 additions and 0 deletions

View File

@ -20,6 +20,11 @@ import com.djrapitops.plan.storage.database.DBType;
import com.djrapitops.plan.storage.database.sql.building.CreateTableBuilder;
import com.djrapitops.plan.storage.database.sql.building.Sql;
/**
* Represents plan_access_log table.
*
* @see com.djrapitops.plan.storage.database.transactions.patches.RemoveUsernameFromAccessLogPatch
*/
public class AccessLogTable {
public static final String TABLE_NAME = "plan_access_log";

View File

@ -28,6 +28,8 @@ import java.sql.Types;
import static com.djrapitops.plan.storage.database.sql.building.Sql.*;
/**
* Sets username fields to NULL in plan_access_log table.
*
* @author AuroraLS3
*/
public class RemoveUsernameFromAccessLogPatch extends Patch {
@ -37,7 +39,10 @@ public class RemoveUsernameFromAccessLogPatch extends Patch {
if (!hasColumn(AccessLogTable.TABLE_NAME, "username")) {
return true;
}
return !hasUsernames();
}
private Boolean hasUsernames() {
String sql = SELECT + "COUNT(*) as c" +
FROM + AccessLogTable.TABLE_NAME +
WHERE + "username" + IS_NOT_NULL;