created chartype
added mysql structure
This commit is contained in:
@@ -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"`
|
||||
}
|
||||
@@ -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.
|
||||
*/
|
||||
Reference in New Issue
Block a user