88 lines
3.0 KiB
Plaintext
88 lines
3.0 KiB
Plaintext
{
|
|
"table_name": [
|
|
{
|
|
"column_name": "NAZWA TABELI", // WYMAGANE!
|
|
"datatype": "TYP KOLUMNY", // WYMAGANE!
|
|
"length": DŁUGOŚĆ/WIELKOŚĆ WARTOŚCI (0-255), // WYMAGANE DLA DANYCH TYPÓW
|
|
"enum_data": [ZBIÓR DANYCH (np. "Jabłko", "Kiwi")], // WYMAGANE DLA ENUM/SET
|
|
"primary_key": true/false, // Czy jest to klucz podstawowy
|
|
"unique": true/false, // Czy musi być unikalne
|
|
"foreign_key": {
|
|
"references": "TABELA",
|
|
"column": "KOLUMNA Z KTÓREJ POBIERA INDEKS"
|
|
},
|
|
"auto_increment": true/false, // Czy ma dawać wartości liczbowe rosnące
|
|
"not_null": true/false, // Czy kolumna nie może być pusta
|
|
"default": {
|
|
"value": "DOMYŚLNIE" // Wartość domyślna dla kolumny
|
|
"is_string": true/false // WYMAGANE GDY DODAWANE DEFAULT! Czy wartość domyślna jest Stringiem czy czymś innym
|
|
}
|
|
}
|
|
]
|
|
|
|
// Przykład na dwóch tabelach z relacją 1..n
|
|
"users": [
|
|
{
|
|
"column_name": "id_user",
|
|
"datatype": "INT",
|
|
"length": 10,
|
|
"primary_key": true,
|
|
"auto_increment": true,
|
|
"not_null": true
|
|
},
|
|
{
|
|
"column_name": "name",
|
|
"datatype": "VARCHAR",
|
|
"length": 24,
|
|
"not_null": true
|
|
},
|
|
{
|
|
"column_name": "lastName",
|
|
"datatype": "VARCHAR",
|
|
"length": 48
|
|
},
|
|
{
|
|
"column_name": "description",
|
|
"datatype": "TEXT"
|
|
},
|
|
{
|
|
"column_name": "sex",
|
|
"datatype": "ENUM",
|
|
"enum_data": ['male', 'female'];
|
|
}
|
|
],
|
|
"posts": [
|
|
{
|
|
"column_name": "id_post",
|
|
"datatype": "INT",
|
|
"length": 10,
|
|
"primary_key": true,
|
|
"auto_increment": true,
|
|
"not_null": true
|
|
},
|
|
{
|
|
"column_name": "id_user",
|
|
"datatype": "INT",
|
|
"length": 10,
|
|
"foreign_key": {
|
|
"references": "users",
|
|
"column": "id_user"
|
|
},
|
|
"not_null": true
|
|
},
|
|
{
|
|
"column_name": "added_at",
|
|
"datatype": "DATETIME",
|
|
"not_null": true,
|
|
"default": {
|
|
"value": "NOW()",
|
|
"is_string": false
|
|
}
|
|
},
|
|
{
|
|
"column_name": "content",
|
|
"datatype": "TEXT",
|
|
"not_null": true
|
|
}
|
|
]
|
|
} |