Skip to content

Commit 1b21e66

Browse files
committed
move database migrations to schema
1 parent 221a63e commit 1b21e66

18 files changed

Lines changed: 127 additions & 81 deletions

src/main/java/net/discordjug/javabot/data/h2db/MigrationUtils.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,32 @@
77
import java.nio.file.*;
88
import java.util.HashMap;
99
import java.util.Map;
10+
import java.util.Objects;
1011

12+
import lombok.extern.slf4j.Slf4j;
1113
import net.discordjug.javabot.data.h2db.commands.MigrationsListSubcommand;
1214

1315
/**
1416
* Utility class that handles SQL Migrations.
1517
*/
18+
@Slf4j
1619
public class MigrationUtils {
20+
21+
private static final Path migrationDirectory;
1722

1823
private MigrationUtils() {
1924
}
25+
26+
static {
27+
Path dir;
28+
try {
29+
dir = createMigrationsDirectory();
30+
} catch (IOException | URISyntaxException e) {
31+
log.error("Cannot create database migration directory", e);
32+
dir = null;
33+
}
34+
migrationDirectory = dir;
35+
}
2036

2137
/**
2238
* Tries to get the Migrations Directories' Path.
@@ -26,6 +42,10 @@ private MigrationUtils() {
2642
* @throws IOException If an error occurs.
2743
*/
2844
public static Path getMigrationsDirectory() throws URISyntaxException, IOException {
45+
return Objects.requireNonNull(migrationDirectory);
46+
}
47+
48+
private static Path createMigrationsDirectory() throws IOException, URISyntaxException {
2949
URL resource = MigrationsListSubcommand.class.getResource("/database/migrations/");
3050
if (resource == null) throw new IOException("Missing resource /migrations/");
3151
URI uri = resource.toURI();

src/main/java/net/discordjug/javabot/data/h2db/commands/ExportTableSubcommand.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ public ExportTableSubcommand(ExecutorService asyncPool, SystemsConfig systemsCon
5252
.addChoice("Message Cache", "MESSAGE_CACHE")
5353
.addChoice("Question of the Week Accounts", "QOTW_POINTS")
5454
.addChoice("Question of the Week Questions", "QOTW_QUESTION")
55-
.addChoice("Reserved Help Channels", "RESERVED_HELP_CHANNELS")
5655
.addChoice("Starboard", "STARBOARD")
5756
.addChoice("Warns", "WARN")
5857
.addChoice("User Preferences", "USER_PREFERENCES"),

src/main/java/net/discordjug/javabot/data/h2db/commands/MigrateSubcommand.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,6 @@ public void execute(@NotNull SlashCommandInteractionEvent event) {
9393
return;
9494
}
9595
String sql = Files.readString(migrationFile);
96-
migrationsDir.getFileSystem().close();
9796
String[] statements = sql.split("\\s*;\\s*");
9897
if (statements.length == 0) {
9998
Responses.error(event, "The migration `" + migrationName + "` does not contain any statements. Please remove or edit it before running again.").queue();

src/main/resources/database/migrations/02-13-2023_message_cache_links.sql

Lines changed: 0 additions & 6 deletions
This file was deleted.

src/main/resources/database/migrations/04-02-2025_bigger_message_links.sql

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/main/resources/database/migrations/07-08-2023_channel_transactions.sql

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/main/resources/database/migrations/07-19-2026_add_channel_column_to_cache.sql

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/main/resources/database/migrations/08-15-2023_staff_activity.sql

Lines changed: 0 additions & 6 deletions
This file was deleted.

src/main/resources/database/migrations/09-08-2025_forms.sql

Lines changed: 0 additions & 37 deletions
This file was deleted.

src/main/resources/database/migrations/09-15-2024_custom_vcs.sql

Lines changed: 0 additions & 4 deletions
This file was deleted.

0 commit comments

Comments
 (0)