Esquemas DBML

DBML (Database Markup Language) es el módulo de Exonoor para diseñar bases de datos visualmente.

Crear Tablas

  1. Click en "Add Table" o presiona T
  2. Ingresa el nombre de la tabla (ej: users, orders)
  3. Agrega columnas usando el formulario

Columnas

Cada columna tiene:

  • Nombre: lowercase_with_underscores
  • Tipo: varchar, int, boolean, timestamp, json, etc.
  • Nullable: Si permite valores nulos
  • Default: Valor por defecto
  • Primary Key: Si es clave primaria
  • Unique: Si valores deben ser únicos

Relaciones

Crea relaciones arrastrando un campo de una campo de una tabla a otra:

  • Many-to-One: Llave foránea normal
  • One-to-Many: Referencia inversa
  • Many-to-Many: Tabla intermedia automática
  • One-to-One: Relación 1:1 directa

Indexes

Agrega indexes para optimizar queries:

  1. Click en "Indexes" en el panel de la tabla
  2. Agrega el nombre del index
  3. Selecciona las columnas

Generar SQL

Exports disponibles:

  • PostgreSQL: CREATE TABLE...
  • MySQL: CREATE TABLE...
  • SQLite: CREATE TABLE...
  • DBML: Archivo .dbml estándar

Validación

Exonoor valida automáticamente:

  • Ciclos de dependencias
  • Foreign keys huérfanas
  • Nombres duplicados
  • Tipos incompatibles

Sincronización

DBML se vincula con:

  • YAML: Entidades ↔ Tablas
  • Architecture: Servicios que usan la DB
  • Taskboard: Tasks vinculadas a tablas específicas