4a83eb6783
- Add multi-database limitations to distributed docs - Fix backup commands and add multi-database backup guidance - Add SQL migration section to schema docs - Update storage examples to use per-database paths
1.9 KiB
1.9 KiB
Схема на BaraDB
BaraDB използва схема с типове, наследяване и автоматични миграции.
Дефиниране на Типове
import barabadb/schema/schema
var s = newSchema()
let person = newType("Person")
person.addProperty("name", "str", required = true)
person.addProperty("age", "int32")
s.addType("default", person)
Наследяване на Типове
let employee = newType("Employee")
employee.setBases(@["Person"])
employee.addProperty("department", "str")
s.addType("default", employee)
let resolved = s.resolveInheritance(employee)
SQL Миграции
BaraDB поддържа SQL миграции, изпълнявани чрез BaraQL:
-- Създаване на миграционна таблица
CREATE MIGRATION TABLE my_migration;
-- Прилагане на чакащи миграции
MIGRATION UP;
-- Rollback на последната миграция
MIGRATION DOWN;
-- Прилагане на всички чакащи миграции наведнъж
MIGRATION UP BATCH;
-- Dry-run за преглед на промените
MIGRATION DRYRUN;
-- Проверка на статуса
MIGRATION STATUS;
Миграционните скриптове се съхраняват вътре в LSMTree на всяка база данни и са изолирани per database. При използване на множество бази, изпълнете USE DATABASE <име> преди миграционните команди.
Типове Полета
| Тип | Описание |
|---|---|
str |
Низ |
int32 |
32-битово цяло число |
int64 |
64-битово цяло число |
float32 |
32-битов float |
float64 |
64-битов float |
bool |
Булева стойност |
datetime |
Дата/час |
bytes |
Двоични данни |