Skip to content

Commit 236ea2e

Browse files
author
yitzy299
committed
Add support for database properties in config file
1 parent 0690358 commit 236ea2e

16 files changed

Lines changed: 139 additions & 114 deletions

File tree

.github/workflows/build.yml

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

README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,26 @@ database = "MYSQL"
2727
url = ""
2828
username = ""
2929
password = ""
30+
properties = []
3031
```
3132

3233
`url`: Must be URL of database with `/<database_name>` appended. An example URL would be `localhost/ledger`. You can optionally add port information such as `localhost:3000/ledger`
34+
35+
## PostgreSQL
36+
37+
```toml
38+
[database_extensions]
39+
database = "MYSQL"
40+
url = ""
41+
username = ""
42+
password = ""
43+
properties = []
44+
```
45+
46+
## Connector properties
47+
48+
For some databases, such as MySQL, you can provide properties to the database connector. For each property, add a string entry to the `properties` array.
49+
50+
```toml
51+
properties = ["useJDBCCompliantTimezoneShift=true", "useLegacyDatetimeCode=false", "serverTimezone=UTC"]
52+
```

build.gradle

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ dependencies {
3434
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
3535

3636
// Yes this has to be capitalised
37-
modImplementation "com.github.quiltservertools:Ledger:1.2.0"
37+
modImplementation "com.github.quiltservertools:ledger:1.2.0"
3838

3939
modImplementation "net.fabricmc:fabric-language-kotlin:1.7.0+kotlin.1.6.0"
4040

@@ -79,13 +79,7 @@ jar {
7979
publishing {
8080
publications {
8181
mavenJava(MavenPublication) {
82-
// add all the jars that should be included when publishing to maven
83-
artifact(remapJar) {
84-
builtBy remapJar
85-
}
86-
artifact(sourcesJar) {
87-
builtBy remapSourcesJar
88-
}
82+
from(components["java"])
8983
}
9084
}
9185

gradle.properties

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ org.gradle.jvmargs=-Xmx1G
33

44
# Fabric Properties
55
# check these on https://fabricmc.net/versions.html
6-
minecraft_version=1.18
7-
yarn_mappings=1.18+build.1
8-
loader_version=0.12.5
6+
minecraft_version=1.18.1
7+
yarn_mappings=1.18.1+build.2
8+
loader_version=0.12.11
99

1010
# Mod Properties
11-
mod_version = 1.0.1
11+
mod_version = 1.1.0
1212
maven_group = net.quiltservertools
1313
archives_base_name = ledger-databases
1414

src/main/kotlin/net.quiltservertools.ledger.databases/Databases.kt

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

src/main/kotlin/net.quiltservertools.ledger.databases/LedgerDatabaseExtension.kt

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

src/main/kotlin/net.quiltservertools.ledger.databases/DatabaseExtensionSpec.kt renamed to src/main/kotlin/net/quiltservertools/ledger/databases/DatabaseExtensionSpec.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@ object DatabaseExtensionSpec : ConfigSpec("database_extensions") {
77
val userName by optional("root", "username")
88
val password by optional("", "password")
99
val url by optional("localhost", "url")
10-
}
10+
val properties by optional(listOf<String>(), "properties")
11+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package net.quiltservertools.ledger.databases
2+
3+
import net.quiltservertools.ledger.databases.databases.*
4+
5+
enum class Databases(val database: LedgerDatabase) {
6+
SQLITE(SQLite),
7+
MYSQL(MySQL),
8+
H2(H2Database),
9+
POSTGRESQL(PostgreSQL)
10+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package net.quiltservertools.ledger.databases
2+
3+
import com.github.quiltservertools.ledger.Ledger
4+
import com.github.quiltservertools.ledger.api.DatabaseExtension
5+
import com.github.quiltservertools.libs.com.uchuhimo.konf.ConfigSpec
6+
import net.minecraft.server.MinecraftServer
7+
import net.minecraft.util.Identifier
8+
import org.jetbrains.exposed.sql.Database
9+
10+
class LedgerDatabaseExtension : DatabaseExtension {
11+
override fun getConfigSpecs(): List<ConfigSpec> = listOf(DatabaseExtensionSpec)
12+
13+
override fun getDatabase(server: MinecraftServer): Database {
14+
return Ledger.config[DatabaseExtensionSpec.database].database.getDatabase(server)
15+
}
16+
17+
override fun getIdentifier(): Identifier = Ledger.config[DatabaseExtensionSpec.database].database.getDatabaseIdentifier()
18+
}

src/main/kotlin/net.quiltservertools.ledger.databases/LedgerDatabases.kt renamed to src/main/kotlin/net/quiltservertools/ledger/databases/LedgerDatabases.kt

File renamed without changes.

0 commit comments

Comments
 (0)