Outil d'inférence de schéma
Chaque nouvelle intégration commence de la même façon : une API renvoie un objet JSON et il vous faut un modèle pour le stocker. Saisir 20 champs à la main est fastidieux et source d'erreurs. Cet outil analyse un objet JSON d'exemple, choisit un type de colonne pour chaque clé et produit un schéma prêt à coller dans le format de votre choix : SQL CREATE TABLE, schéma Mongoose ou définition de modèle Sequelize.
Comment inférer un schéma à partir de JSON
-
1
Collez un objet d'exemple
Saisissez un objet JSON, ou un tableau d'objets (le premier objet du tableau est lu). Utilisez un enregistrement complet, tous les champs remplis, pour que chaque colonne reçoive un type.
-
2
Choisissez le format de sortie
SQL CREATE TABLE (style Postgres / MySQL / SQLite), Mongoose pour les applis Node.js sous MongoDB, ou Sequelize pour les applis relationnelles Node.js.
-
3
Nommez la table ou le modèle
Définit le nom de la table dans la sortie SQL, ou le nom du schéma ou du modèle dans la sortie Mongoose et Sequelize.
-
4
Copiez le schéma généré
Collez-le directement dans une migration ou un fichier de modèle comme point de départ.
Comment les types sont inférés
L’inférence est une estimation. L’outil lit les valeurs d’un objet d’exemple et choisit un type de colonne pour chaque clé à partir de la valeur qu’il voit. Il ne compare pas les enregistrements et ne devine pas quels champs sont facultatifs : donnez-lui donc un objet complet et représentatif.
Correspondance des types
| Valeur JSON | Type SQL | Type Mongoose | Type Sequelize |
|---|---|---|---|
42 (entier) |
INTEGER | Number | DataTypes.INTEGER |
3.14 (décimal) |
DECIMAL(10,2) | Number | DataTypes.FLOAT |
"bonjour" (chaîne courte) |
VARCHAR(255) | String | DataTypes.STRING |
| chaîne de plus de 255 caractères | TEXT | String | DataTypes.STRING |
"2026-04-18T10:00:00Z" |
TIMESTAMP | Date | DataTypes.DATE |
"2026-04-18" |
DATE | Date | DataTypes.DATEONLY |
true / false |
BOOLEAN | Boolean | DataTypes.BOOLEAN |
null |
TEXT | String | DataTypes.STRING |
[1, 2, 3] (tableau) |
JSON | Object | DataTypes.JSON |
{ "nested": ... } (objet) |
JSON | Object | DataTypes.JSON |
Ce que la sortie SQL ajoute
Le CREATE TABLE SQL commence toujours par une clé primaire auto-incrémentée :
id INTEGER PRIMARY KEY AUTOINCREMENT,
Les sorties Mongoose et Sequelize n’ajoutent pas de champ id, car ces deux bibliothèques le créent pour vous.
Valeurs par défaut et limites à garder en tête
- Un seul objet est lu. Si vous collez un tableau, seul le premier élément est inspecté : ce sont ses champs qui définissent tout le schéma.
- Une clé absente est une colonne absente. Les champs qui ne figurent pas dans l’objet d’exemple n’apparaissent tout simplement pas dans la sortie.
- Les objets et tableaux imbriqués deviennent une seule colonne JSON. L’outil ne les développe pas en sous-tables, sous-schémas ni clés étrangères.
- Aucune contrainte n’est générée. Les colonnes sont émises sans
NOT NULL, unicité ni index : elles acceptent donc toutes les valeurs nulles tant que vous ne les resserrez pas.
Conseils pour un résultat plus propre
- Utilisez un enregistrement entièrement rempli. Un champ à
nulldans votre exemple est typé en texte/chaîne, ce qui est rarement ce que vous voulez. - Renommez les mots réservés après la génération. Des champs comme
type,orderouuserdevront être mis entre guillemets en SQL. - Considérez la sortie comme un échafaudage. Ajustez les longueurs VARCHAR et la précision DECIMAL, ajoutez des index, marquez les colonnes
NOT NULLet choisissez de vraies clés avant la mise en production.
Questions fréquentes
Un objet ou un tableau imbriqué est associé à une seule colonne JSON (JSON en SQL et Sequelize, un champ de type Object en Mongoose). L’outil ne développe pas les structures imbriquées en sous-tables ou sous-schémas : vous les aplatissez ou les normalisez vous-même si besoin.
Non. Si vous collez un tableau d’objets, seul le premier objet est inspecté et ses clés définissent le schéma. Assurez-vous que ce premier enregistrement possède tous les champs qui vous intéressent, avec une vraie valeur dans chacun.
Non. Chaque colonne est émise avec un simple type : la sortie n’a donc ni clés étrangères, ni contraintes d’unicité, ni index, ni clauses NOT NULL. Ajoutez-les à la main, car ils encodent une intention que l’outil ne peut pas retrouver à partir d’un échantillon.
Choisissez SQL CREATE TABLE pour une migration de base de données relationnelle, Mongoose Schema pour une appli Node.js sous MongoDB, ou Sequelize Model pour une appli Node.js sur une base relationnelle via l’ORM Sequelize.
Outils similaires
Référence de la table ASCII
Table ASCII complète de 0 à 127 avec décimal, hexadécimal, octal, binaire et référence numérique HTML pour chaque caractère, y compris les codes de contrôle comme NUL, LF et DEL.
Référence des caractères HTML
Liste consultable des entités HTML, de leurs codes nommés et numériques, et un copier-coller en un clic pour les caractères et symboles spéciaux.
Compteur de FPS
Mesurez les FPS du navigateur avec requestAnimationFrame : lissage, fréquence d'images min et max, seuil d'alerte et graphique facultatif. Tout se passe en local, sans envoi ni API.
Référence des raccourcis clavier
Recherchez les raccourcis par défaut documentés de VS Code, Chrome et Bash avec GNU Readline sous macOS, Windows et Linux.
Générateur de carte CSS
Créez le CSS d’un conteneur de carte : fond, bordure, rayon des angles, espacement intérieur et ombre douce, avec aperçu immédiat et code à copier-coller.
Convertisseur EM en REM
Convertissez les unités CSS entre em, rem et pixels à n'importe quelle taille de police de base. Montre les étapes de calcul et les tailles de base typiques pour une typographie réactive.
Outil disponible dans d’autres langues
- Schemainferensverktyg [SV]
- 스키마 추론 도구 [KO]
- เครื่องมืออนุมาน Schema [TH]
- Schema-inferentie-tool [NL]
- Công cụ suy luận lược đồ [VI]
- Schema-Inferenz-Tool [DE]
- Herramienta de Inferencia de Esquema [ES]
- Alat Inferensi Skema [ID]
- أداة استنتاج المخطط [AR]
- スキーマ推論ツール [JA]
- Narzędzie do wnioskowania schematu [PL]
- Ferramenta de Inferência de Esquema [PT]
- Schema Inference Tool [EN]
- Strumento di Inferenza Schema [IT]
- Инструмент вывода схемы [RU]
- Şema Çıkarım Aracı [TR]
- 模式推断工具 [ZH]