schema-atlas derive le reste : par ou une ligne retrouve son proprietaire, quelle table est le pivot du modele, lesquelles sont des culs-de-sac, et ce que les auteurs avaient en tete. Puis il le donne a voir.
Sans compte. L'apercu s'efface tout seul.
Un exemple qui s'anime. Depose un schema : ton apercu prend sa place.
0
dependance au noyau
2 Mo
de DBML acceptes
4 h
d'apercu sans compte
a l'octet
deux rendus identiques
01
Celui qui herite d'une base qu'il n'a pas ecrite, celle qui la documente, celui qui l'audite avant une migration : la meme question a chaque fois, par ou commencer.
01
La table par laquelle tout passe. Le fichier ne la designe nulle part : elle se deduit du nombre de relations qui la touchent, et c'est par elle qu'on entre dans le modele.
derive - trois relations la touchent
02
Des tables que rien ne quitte. Elles se lisent seules, on peut les remettre a plus tard, et savoir lesquelles c'est la moitie du travail de lecture.
derive - aucune relation n'en part
03
Une ligne de commande retrouve son proprietaire en deux sauts. Aucune ligne du fichier ne l'ecrit ; il faut la reconstruire de tete, a chaque fois.
derive - ligne, puis commande, puis client
04
La note laissee par les auteurs revient a l'ecran, dans le panneau, a cote des colonnes. Pas dans une infobulle qu'il faut trouver.
rendu - la note de la table
facturation.dbmlLe pivot
02
Les commentaires d'en-tete, les notes de table et de colonne portent le pourquoi du schema. La plupart des outils les ignorent, ou les releguent dans une infobulle. Ici, ils sont rendus.
facturation.dbml
// Le modele de facturation. Une commande est
// figee a l'envoi : rien n'y est plus modifie.
Table commande {
id uuid [pk]
client_id uuid [ref: > client.id]
statut text [note: 'brouillon -> envoyee -> reglee']
total_ttc numeric
Note: 'Le pivot du modele : un paiement rejoint
un client par elle.'
}le panneau de la table
Commandes · 4 colonnes · 3 relations
Le pivot du modele : un paiement rejoint un client par elle.
03
L'en-tete d'un fichier de schema est l'endroit ou les auteurs ecrivent ce que le modele ne peut pas dire : les regles qu'il applique, les decisions qu'il porte, les questions restees ouvertes. Elle est rendue en document parcourable, avec un sommaire par etiquette.
l'en-tete du fichier
// Facturation - preambule // // P1. FIGEE A L'ENVOI: une commande ne change // plus une fois partie. Toute correction passe // par un avoir. // // D-1. UN SEUL PIVOT: commande est la seule // table par laquelle un paiement rejoint un // client. // // QD-6. PAS DE CLE SUR contact: la table vient // d'un import externe et son identifiant n'est // pas stable.
le preambule rendu
P1D-1QD-6
Rien n'est ajoute, rien n'est resume : les etiquettes et les titres sont deja dans le fichier, et le rendu ne fait que les rendre visibles.
Personne ne lit un schema en entier. On y cherche une chose, et on veut savoir ce qu'elle touche.
04
Meme source, meme octet en sortie. Aucun horodatage, aucun identifiant tire au sort, aucun ordre issu d'une iteration instable. C'est ce qui rend le rendu diffable, et verifiable par un test.
sha256sum atlas-1.html atlas-2.html : identiques
Ni pour lire, ni pour deriver, ni pour placer, ni pour rendre. Le noyau prend du texte et rend une valeur : aucun acces au systeme de fichiers, au reseau ni a l'environnement.
0 dependance dans packages/core
Du DBML, deux mega-octets au plus. Un fichier, ou du texte colle depuis ton editeur. Rien a installer, rien a brancher sur ta base.
.dbml ou texte colle
05
Non. Un depot sans compte n'appartient a personne, n'a pas d'adresse a lui, et s'efface tout seul au bout d'un temps. Le compte sert a garder ce que tu deposes, d'une fois sur l'autre.
Du DBML, deux mega-octets au plus, en fichier ou colle depuis ton editeur. Rien a installer, rien a brancher sur ta base.
Elle ne sert qu'a recevoir un code. Aucune liste, aucun envoi commercial.
Chez nous, le temps de le rendre, puis dans ta bibliotheque si tu le gardes. Le document rendu tourne dans un cadre isole : il ne peut lire ni les cookies du produit, ni la page qui le porte.
Deux rendus de la meme source donnent le meme octet. Un atlas se met donc sous controle de version comme le schema dont il vient, et sa modification se lit dans un diff.
Oui. Chaque depot sur un schema existant cree une version. L'historique en donne la date et le nombre de tables ; l'atlas affiche toujours la plus recente.
Sans compte, sans installation. L'apercu n'appartient a personne et ne dure qu'un temps. Ouvre un compte quand tu veux le garder.