Drizzle to SQL DDL

Générateur de Schéma Drizzle ORM vers SQL CREATE TABLE DDL

Traduisez fidèlement les définitions pgTable, mysqlTable et sqliteTable de Drizzle ORM en scripts de migration SQL CREATE TABLE exécutables.

Préréglages :
Dialecte Cible:
Entrée Schéma Drizzle TypeScript.ts
-- ============================================================================
-- Drizzle ORM Schema Migration DDL Script
-- Target Dialect: POSTGRES
-- Generated via ToolsAA Drizzle-to-SQL Engine
-- Tables: 0 | Columns: 0 | Foreign Keys: 0 | Indexes: 0
-- ============================================================================

-- ----------------------------------------------------------------------------
-- Table Definitions
-- ----------------------------------------------------------------------------
0
Tables Détectées
0
Colonnes Mappées
0
Index et Contraintes Uniques

Confidentialité 100% dans le Navigateur

Aucune connexion à une base de données distante ni transfert réseau. Le parsing et la génération DDL s'exécutent entièrement dans votre navigateur.

Moteur DDL Multi-Dialecte

Convertit fidèlement pgTable, mysqlTable et sqliteTable en instructions CREATE TABLE, ALTER TABLE et CREATE INDEX conformes.

Prêt pour Drizzle Kit en Production

Fournit des modèles prêts pour drizzle.config.ts, les commandes de migration en CLI et l'inférence automatique de types TypeScript.

Référence technique et guide d'architecture

Guide Développeur : Générateur de DDL SQL CREATE TABLE depuis Schéma Drizzle ORM — Guide de référence

Traduisez fidèlement les définitions pgTable, mysqlTable et sqliteTable de Drizzle ORM en scripts de migration SQL CREATE TABLE exécutables.

Paramètres clés et contrôles

Dialecte SQL & Pilote CibleEnum (PostgreSQL / pgTable | MySQL / mysqlTable | SQLite / sqliteTable)

Sélectionne le moteur de base de données cible pour déterminer la syntaxe DDL propre au dialecte, le mappage des types de données (ex. TIMESTAMP WITH TIME ZONE vs DATETIME, JSONB vs JSON), les guillemets d'échappement et les contraintes.

Par défaut : PostgreSQL / pgTable
Stratégie de Positionnement des ContraintesEnum (Contraintes Nommées au Niveau Table | Contraintes en Ligne sur Colonne)

Contrôle si les clés primaires, contraintes d'unicité et clés étrangères sont intégrées directement aux définitions de colonnes ou émises sous forme de clauses CONSTRAINT explicites en bas de table.

Par défaut : Contraintes Nommées au Niveau Table
Stratégie d'Émission des Index et EnumsEnum (Instructions DDL Indépendantes | Clauses Intégrées au Schéma)

Détermine si les enums personnalisés PostgreSQL (pgEnum) et les index sont émis sous forme d'instructions CREATE TYPE et CREATE INDEX distinctes ou incorporés dans la déclaration de table.

Par défaut : Instructions DDL Indépendantes
Idempotence & PréambulesEnum (CREATE TABLE IF NOT EXISTS | CREATE TABLE Strict | Préfixer avec DROP TABLE IF EXISTS)

Ajoute des clauses de sécurité d'existence (IF NOT EXISTS) ou génère des instructions DROP TABLE IF EXISTS ... CASCADE; en amont pour des rejeux de scripts de migration fluides.

Par défaut : CREATE TABLE IF NOT EXISTS

Conseils de pro et bonnes practices

Lors de la conversion de schémas

Lors de la conversion de schémas comportant plusieurs tables reliées par des clés étrangères, veillez à ce que les tables parentes précèdent les tables dépendantes, ou générez les clés étrangères sous forme d'instructions ALTER TABLE ... ADD CONSTRAINT séparées pour prévenir les dépendances circulaires.

Drizzle ORM a fait évoluer la

Drizzle ORM a fait évoluer la définition des clés primaires composites et index de la notation objet (table) => ({ pk: primaryKey(...) }) vers le retour sous forme de tableau (table) => [primaryKey(...), index(...)]. Assurez-vous de gérer ces deux formats pour une compatibilité totale.

Lorsque vous utilisez pgEnum avec

Lorsque vous utilisez pgEnum avec PostgreSQL, émettez des instructions CREATE TYPE encapsulées dans des blocs DO $$ BEGIN ... EXCEPTION WHEN duplicate_object THEN null; END $$; pour garantir des migrations idempotentes sans conflit de types préexistants.

Pièges courants et dépannage

Échec de création de table avec l'erreur 'relation does not exist' lors de la résolution de clé étrangère

Les contraintes de clé étrangère nécessitent que la table cible et ses colonnes primaires soient créées au préalable. Réordonnez les définitions de tables dans le schéma ou séparez les clés étrangères dans des instructions ALTER TABLE émises après la création des tables.

Incompatibilité de types de données ou modificateurs non pris en charge lors du changement de SGBD

Vérifiez que les types de colonnes correspondent au dialecte cible. Les fonctionnalités propres à PostgreSQL comme jsonb, les colonnes identity ou gen_random_uuid() doivent être adaptées aux types équivalents (comme JSON ou CHAR(36)) pour MySQL ou SQLite.

Foire aux questions (FAQ)

Comment le générateur traduit-il les clés étrangères et clauses de cascade de Drizzle ORM ?▼

Lors de l'analyse de .references(() => table.column, { onDelete: 'cascade', onUpdate: 'set null' }), le convertisseur génère directement la clause SQL REFERENCES table(column) ON DELETE CASCADE ON UPDATE SET NULL afin de préserver l'intégrité relationnelle.

Les clés primaires composites et les index multicolonnes sont-ils pris en charge ?▼

Oui. Les contraintes composites définies dans les callbacks de configuration Drizzle, telles que primaryKey({ columns: [table.colA, table.colB] }) ou index('idx_name').on(table.tenantId, table.email), sont rigoureusement transcrites en clauses PRIMARY KEY et en instructions CREATE INDEX.

Puis-je convertir plusieurs tables et types enum PostgreSQL depuis un seul fichier de schéma ?▼

Oui. Collez l'intégralité de votre code TypeScript contenant plusieurs exports pgTable, mysqlTable ou sqliteTable ainsi que des pgEnum. L'outil analyse chaque entité et produit un script DDL complet et ordonné.

Quel est l'avantage de cet outil web par rapport à la commande officielle `drizzle-kit generate` ?▼

Alors que `drizzle-kit generate` nécessite un environnement Node.js configuré, un fichier drizzle.config.ts et l'installation de dépendances locales, cet outil fonctionne instantanément dans votre navigateur, sans configuration locale, sans téléversement et avec une confidentialité totale côté client.

Outils et utilitaires connexes

Tous les outils →
Guide de développement pour le générateur de workflows YAML GitHub Actions CI/CDDéveloppement

Créez des pipelines YAML GitHub Actions prêts pour la production pour Node.js, Go, Python, conteneurs Docker, tests unitaires et déploiements automatisés.

Ouvrir l'outil→
Générateur de Configuration Linux Logrotate (Rétention & Compression)Développement

Générez des fichiers de configuration /etc/logrotate.d/ prêts pour la production avec rotation quotidienne/hebdomadaire, compression gzip, dateext, limites de taille et scripts postrotate.

Ouvrir l'outil→
Guide Développeur du Générateur de Configuration YAML Ubuntu NetplanDéveloppement

Générez des configurations YAML Netplan pour Ubuntu 20.04/22.04/24.04 : adresses IP statiques, DHCP, résolveurs DNS, passerelles, ponts et agrégations de liens.

Ouvrir l'outil→
Guide Développeur : Générateur de Modèles Python SQLAlchemy 2.0 depuis SQL DDLDéveloppement

Convertissez vos instructions SQL CREATE TABLE en modèles Python SQLAlchemy 2.0 DeclarativeBase fortement typés avec les annotations Mapped et mapped_column.

Ouvrir l'outil→
Guide Développeur : Générateur de Modèles Struct Golang GORM depuis SQL DDLDéveloppement

Convertissez vos schémas SQL CREATE TABLE en définitions de structures (struct) Golang avec balises GORM, balises JSON et typage Go précis.

Ouvrir l'outil→
Guide Développeur : Générateur de Modèles Sequelize TypeScript depuis SQL DDLDéveloppement

Guide technique complet pour convertir les instructions SQL CREATE TABLE DDL en modèles typés Sequelize TypeScript, définitions DataTypes, attributs CreationOptional et déclarations Model.init.

Ouvrir l'outil→