created chartype

added mysql structure
This commit is contained in:
2024-12-21 07:15:44 +01:00
parent a983ff9741
commit 7903b123de
2 changed files with 297 additions and 0 deletions
+144
View File
@@ -0,0 +1,144 @@
package main
type CharType struct {
Alter int `json:"alter"`
Anrede string `json:"anrede"`
Ap struct {
Max int `json:"max"`
Value int `json:"value"`
} `json:"ap"`
Ausruestung []struct {
Anzahl int `json:"anzahl"`
BeinhaltetIn *string `json:"beinhaltet_in"`
Beschreibung *string `json:"beschreibung"`
Bonus int `json:"bonus,omitempty"`
Gewicht float64 `json:"gewicht"`
ID string `json:"id"`
Magisch struct {
Abw int `json:"abw"`
Ausgebrannt bool `json:"ausgebrannt"`
IstMagisch bool `json:"ist_magisch"`
} `json:"magisch"`
Name string `json:"name"`
Wert float64 `json:"wert"`
} `json:"ausruestung"`
B struct {
Max int `json:"max"`
} `json:"b"`
Behaeltnisse []struct {
BeinhaltetIn any `json:"beinhaltet_in"`
Beschreibung *string `json:"beschreibung"`
Gewicht float64 `json:"gewicht"`
ID string `json:"id"`
Magisch struct {
Abw int `json:"abw"`
Ausgebrannt bool `json:"ausgebrannt"`
IstMagisch bool `json:"ist_magisch"`
} `json:"magisch"`
Name string `json:"name"`
Tragkraft float64 `json:"tragkraft"`
Volumen float64 `json:"volumen"`
Wert float64 `json:"wert"`
} `json:"behaeltnisse"`
Bennies struct {
Gg int `json:"gg"`
Gp int `json:"gp"`
Sg int `json:"sg"`
} `json:"bennies"`
Eigenschaften struct {
Au int `json:"au"`
Gs int `json:"gs"`
Gw int `json:"gw"`
In int `json:"in"`
Ko int `json:"ko"`
Pa int `json:"pa"`
St int `json:"st"`
Wk int `json:"wk"`
Zt int `json:"zt"`
} `json:"eigenschaften"`
Erfahrungsschatz struct {
Value int `json:"value"`
} `json:"erfahrungsschatz"`
Fertigkeiten []struct {
Beschreibung *string `json:"beschreibung"`
Bonus int `json:"bonus,omitempty"`
Fertigkeitswert int `json:"fertigkeitswert"`
ID string `json:"id"`
Name string `json:"name"`
Pp int `json:"pp,omitempty"`
Quelle string `json:"quelle"`
} `json:"fertigkeiten"`
Gestalt struct {
Breite string `json:"breite"`
Groesse string `json:"groesse"`
} `json:"gestalt"`
Gewicht int `json:"gewicht"`
Glaube string `json:"glaube"`
Grad int `json:"grad"`
Groesse int `json:"groesse"`
Hand string `json:"hand"`
ID string `json:"id"`
Image string `json:"image,omitempty"`
Lp struct {
Max int `json:"max"`
Value int `json:"value"`
} `json:"lp"`
Merkmale struct {
Augenfarbe string `json:"augenfarbe"`
Haarfarbe string `json:"haarfarbe"`
Sonstige string `json:"sonstige"`
} `json:"merkmale"`
Name string `json:"name"`
Rasse string `json:"rasse"`
Spezialisierung []string `json:"spezialisierung"`
Stand string `json:"stand"`
Transportmittel []struct {
BeinhaltetIn any `json:"beinhaltet_in"`
Beschreibung *string `json:"beschreibung"`
Gewicht int `json:"gewicht"`
ID string `json:"id"`
Magisch struct {
Abw int `json:"abw"`
Ausgebrannt bool `json:"ausgebrannt"`
IstMagisch bool `json:"ist_magisch"`
} `json:"magisch"`
Name string `json:"name"`
Tragkraft float64 `json:"tragkraft"`
Wert float64 `json:"wert"`
} `json:"transportmittel"`
Typ string `json:"typ"`
Waffen []struct {
Abwb int `json:"abwb"`
Anb int `json:"anb"`
Anzahl int `json:"anzahl"`
BeinhaltetIn *string `json:"beinhaltet_in"`
Beschreibung *string `json:"beschreibung"`
Gewicht float64 `json:"gewicht"`
ID string `json:"id"`
Magisch struct {
Abw int `json:"abw"`
Ausgebrannt bool `json:"ausgebrannt"`
IstMagisch bool `json:"ist_magisch"`
} `json:"magisch"`
Name string `json:"name"`
NameFuerSpezialisierung string `json:"nameFuerSpezialisierung"`
Schb int `json:"schb"`
Wert float64 `json:"wert"`
} `json:"waffen"`
Waffenfertigkeiten []struct {
Beschreibung *string `json:"beschreibung"`
Bonus int `json:"bonus"`
Fertigkeitswert int `json:"fertigkeitswert"`
ID string `json:"id"`
Name string `json:"name"`
Pp int `json:"pp"`
Quelle string `json:"quelle"`
} `json:"waffenfertigkeiten"`
Zauber []struct {
Beschreibung any `json:"beschreibung"`
Bonus int `json:"bonus"`
ID string `json:"id"`
Name string `json:"name"`
Quelle string `json:"quelle"`
} `json:"zauber"`
}
+153
View File
@@ -0,0 +1,153 @@
CREATE TABLE users (
user_id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) UNIQUE NOT NULL,
password_hash VARCHAR(255) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL
);
CREATE TABLE characters (
character_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL,
name VARCHAR(100),
rasse VARCHAR(50),
typ VARCHAR(50),
alter INT,
anrede VARCHAR(20),
grad INT,
groesse INT,
gewicht INT,
glaube VARCHAR(100),
hand VARCHAR(20),
image VARCHAR(255),
FOREIGN KEY (user_id) REFERENCES users(user_id)
);
CREATE TABLE eigenschaften (
eigenschaften_id INT AUTO_INCREMENT PRIMARY KEY,
character_id INT NOT NULL,
au INT,
gs INT,
gw INT,
`in` INT,
ko INT,
pa INT,
st INT,
wk INT,
zt INT,
FOREIGN KEY (character_id) REFERENCES characters(character_id)
);
CREATE TABLE ausruestung (
ausruestung_id INT AUTO_INCREMENT PRIMARY KEY,
character_id INT NOT NULL,
name VARCHAR(100),
anzahl INT,
gewicht FLOAT,
wert FLOAT,
beinhaltet_in VARCHAR(255),
beschreibung TEXT,
bonus INT DEFAULT NULL,
ist_magisch BOOLEAN,
abw INT,
ausgebrannt BOOLEAN,
FOREIGN KEY (character_id) REFERENCES characters(character_id)
);
CREATE TABLE behaeltnisse (
behaeltnisse_id INT AUTO_INCREMENT PRIMARY KEY,
character_id INT NOT NULL,
name VARCHAR(100),
gewicht FLOAT,
volumen FLOAT,
tragkraft FLOAT,
wert FLOAT,
beinhaltet_in VARCHAR(255),
beschreibung TEXT,
ist_magisch BOOLEAN,
abw INT,
ausgebrannt BOOLEAN,
FOREIGN KEY (character_id) REFERENCES characters(character_id)
);
CREATE TABLE fertigkeiten (
fertigkeiten_id INT AUTO_INCREMENT PRIMARY KEY,
character_id INT NOT NULL,
name VARCHAR(100),
fertigkeitswert INT,
pp INT DEFAULT NULL,
bonus INT DEFAULT NULL,
beschreibung TEXT,
quelle VARCHAR(100),
FOREIGN KEY (character_id) REFERENCES characters(character_id)
);
CREATE TABLE waffen (
waffen_id INT AUTO_INCREMENT PRIMARY KEY,
character_id INT NOT NULL,
name VARCHAR(100),
gewicht FLOAT,
wert FLOAT,
anzahl INT,
beinhaltet_in VARCHAR(255),
beschreibung TEXT,
abwb INT,
anb INT,
schb INT,
name_fuer_spezialisierung VARCHAR(100),
ist_magisch BOOLEAN,
abw INT,
ausgebrannt BOOLEAN,
FOREIGN KEY (character_id) REFERENCES characters(character_id)
);
CREATE TABLE zauber (
zauber_id INT AUTO_INCREMENT PRIMARY KEY,
character_id INT NOT NULL,
name VARCHAR(100),
bonus INT DEFAULT NULL,
beschreibung TEXT,
quelle VARCHAR(100),
FOREIGN KEY (character_id) REFERENCES characters(character_id)
);
CREATE TABLE bennies (
bennies_id INT AUTO_INCREMENT PRIMARY KEY,
character_id INT NOT NULL,
gg INT,
gp INT,
sg INT,
FOREIGN KEY (character_id) REFERENCES characters(character_id)
);
CREATE TABLE transportmittel (
transportmittel_id INT AUTO_INCREMENT PRIMARY KEY,
character_id INT NOT NULL,
name VARCHAR(100),
gewicht FLOAT,
wert FLOAT,
tragkraft FLOAT,
beinhaltet_in VARCHAR(255),
beschreibung TEXT,
ist_magisch BOOLEAN,
abw INT,
ausgebrannt BOOLEAN,
FOREIGN KEY (character_id) REFERENCES characters(character_id)
);
CREATE TABLE erfahrungsschatz (
erfahrungsschatz_id INT AUTO_INCREMENT PRIMARY KEY,
character_id INT NOT NULL,
value INT,
FOREIGN KEY (character_id) REFERENCES characters(character_id)
);
/*
Summary
This schema reflects the modular structure of the CharType definition. Each substructure is normalized into its own table, ensuring:
Scalability.
Clear relationships using foreign keys.
Multi-user handling through the users table.
*/