Files
Baradb/docs/bg/schema.md
T
dimgigov 4a83eb6783 docs: update distributed/backup/schema/storage for multi-database
- 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
2026-05-21 09:44:25 +03:00

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 Двоични данни