Drizzle to SQL DDL

Gerador de Esquema Drizzle ORM para SQL CREATE TABLE DDL

Converta definições pgTable, mysqlTable e sqliteTable do Drizzle ORM em scripts executáveis de migração SQL CREATE TABLE com máxima precisão.

Predefinições:
Dialeto Alvo:
Entrada de Esquema 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
Tabelas Detectadas
0
Colunas Mapeadas
0
Índices e Restrições Únicas

Privacidade 100% no Navegador

Sem conexões com servidores remotos ou upload de dados. A análise de esquema e síntese DDL ocorrem localmente no seu navegador.

Motor DDL Multi-Dialeto

Converte perfeitamente pgTable, mysqlTable e sqliteTable em instruções precisas CREATE TABLE, ALTER TABLE e CREATE INDEX.

Pronto para Drizzle Kit em Produção

Inclui modelos de drizzle.config.ts instantâneos, comandos de migração CLI e inferência de tipos TypeScript nativos.

Referência técnica e guia de arquitetura

Guia do Desenvolvedor: Gerador de DDL SQL CREATE TABLE a partir de Esquemas Drizzle ORM — Guia de referência

Converta definições pgTable, mysqlTable e sqliteTable do Drizzle ORM em scripts executáveis de migração SQL CREATE TABLE com máxima precisão.

Parâmetros principais e controles

Dialeto SQL e Driver AlvoEnum (PostgreSQL / pgTable | MySQL / mysqlTable | SQLite / sqliteTable)

Seleciona o mecanismo de banco de dados para determinar a sintaxe DDL específica do dialeto, mapeamento de tipos de dados (ex.: TIMESTAMP WITH TIME ZONE vs DATETIME, JSONB vs JSON), caracteres de escape e regras de restrição.

Padrão: PostgreSQL / pgTable
Estratégia de Posicionamento de RestriçõesEnum (Restrições Nomeadas no Nível da Tabela | Restrições Em Linha na Coluna)

Define se chaves primárias, restrições de unicidade e chaves estrangeiras são geradas em linha com a coluna ou como cláusulas CONSTRAINT explícitas no final da tabela.

Padrão: Restrições Nomeadas no Nível da Tabela
Estratégia de Emissão de Índices e EnumsEnum (Instruções DDL Independentes | Cláusulas Integradas ao Esquema)

Especifica se enums personalizados do PostgreSQL (pgEnum) e índices de tabela são emitidos como declarações CREATE TYPE e CREATE INDEX independentes ou embutidos na criação da tabela.

Padrão: Instruções DDL Independentes
Idempotência e Cláusulas IniciaisEnum (CREATE TABLE IF NOT EXISTS | CREATE TABLE Estrito | Incluir DROP TABLE IF EXISTS)

Adiciona verificações seguras de existência (IF NOT EXISTS) ou gera instruções DROP TABLE IF EXISTS ... CASCADE; no início do script para reexecuções limpas de migração.

Padrão: CREATE TABLE IF NOT EXISTS

Dicas profissionais e melhores práticas

Ao converter esquemas com múltiplas

Ao converter esquemas com múltiplas tabelas e chaves estrangeiras, certifique-se de que as tabelas pai precedam as tabelas filhas ou emita as chaves estrangeiras em comandos ALTER TABLE ... ADD CONSTRAINT separados para evitar erros de dependência cíclica.

O Drizzle ORM atualizou chaves

O Drizzle ORM atualizou chaves primárias compostas e índices de notação de objeto (table) => ({ pk: primaryKey(...) }) para retorno de arrays (table) => [primaryKey(...), index(...)]. Garanta a compatibilidade com ambas as versões do schema.

Ao usar pgEnum no PostgreSQL

Ao usar pgEnum no PostgreSQL, emita instruções CREATE TYPE encapsuladas em blocos DO $$ BEGIN ... EXCEPTION WHEN duplicate_object THEN null; END $$; para garantir migrações idempotentes e sem colisões de tipos existentes.

Problemas comuns e solução de problemas

A criação de tabela falha com o erro 'relation does not exist' ao resolver chaves estrangeiras

Restrições de chave estrangeira exigem que a tabela referenciada e suas colunas primárias já existam no banco. Reordene as definições das tabelas ou separe as chaves estrangeiras em instruções ALTER TABLE posteriores.

Incompatibilidade de tipos de dados ou modificador não suportado entre motores de banco de dados

Verifique se a definição das colunas corresponde ao dialeto selecionado. Recursos específicos do PostgreSQL, como jsonb, colunas identity ou gen_random_uuid(), precisam ser convertidos para tipos equivalentes (como JSON ou CHAR(36)) ao gerar para MySQL ou SQLite.

Perguntas frequentes (FAQ)

Como o gerador traduz referências de chave estrangeira e regras de cascata do Drizzle ORM?▼

Ao analisar .references(() => table.column, { onDelete: 'cascade', onUpdate: 'set null' }), o conversor gera cláusulas SQL padrão REFERENCES table(column) ON DELETE CASCADE ON UPDATE SET NULL, mantendo total integridade relacional.

Chaves primárias compostas e índices multicoluna são suportados?▼

Sim. Restrições compostas definidas em callbacks do Drizzle, como primaryKey({ columns: [table.colA, table.colB] }) ou index('idx_name').on(table.tenantId, table.email), são mapeadas perfeitamente para cláusulas PRIMARY KEY e comandos CREATE INDEX.

Posso converter várias tabelas e tipos enum do PostgreSQL de um único arquivo de esquema?▼

Sim. Você pode colar um arquivo TypeScript completo contendo várias exportações de pgTable, mysqlTable ou sqliteTable juntamente com pgEnum. O conversor analisará todas as definições e gerará um script SQL completo e ordenado.

Qual a vantagem desta ferramenta em relação ao comando oficial `drizzle-kit generate`?▼

Enquanto o `drizzle-kit generate` exige Node.js configurado, arquivo drizzle.config.ts e pacotes npm instalados, esta ferramenta executa instantaneamente no navegador, sem instalações, sem envio de dados ao servidor e com 100% de privacidade.

Ferramentas e utilitários relacionados

Todas as ferramentas →
Guia do desenvolvedor para gerador de YAML do GitHub Actions CI/CDDesenvolvimento

Crie pipelines YAML de fluxo de trabalho do GitHub Actions prontos para produção para Node.js, Go, Python, builds Docker, testes automatizados e releases contínuas.

Abrir ferramenta→
Gerador de Configuração do Linux Logrotate (Retenção e Compactação)Desenvolvimento

Gere arquivos de configuração para /etc/logrotate.d/ prontos para produção com rotação diária/semanal, compactação gzip, dateext, limites de tamanho e scripts postrotate.

Abrir ferramenta→
Guia do Desenvolvedor: Gerador de Configuração YAML do Ubuntu NetplanDesenvolvimento

Gere configurações YAML do Netplan para Ubuntu 20.04/22.04/24.04: IPs estáticos, DHCP, servidores DNS, rotas de gateway, bridges e bonds.

Abrir ferramenta→
Guia do Desenvolvedor: Gerador de Modelos Python SQLAlchemy 2.0 a partir de SQL DDLDesenvolvimento

Converta instruções SQL CREATE TABLE em modelos fortemente tipados do Python SQLAlchemy 2.0 DeclarativeBase com anotações modernas Mapped e mapped_column.

Abrir ferramenta→
Guia do Desenvolvedor: Gerador de Modelos Struct GORM em Golang a partir de DDL SQLDesenvolvimento

Converta esquemas SQL CREATE TABLE em definições de struct em Golang com tags GORM, tags JSON e correspondência tipada de tipos Go.

Abrir ferramenta→
Guia do Desenvolvedor: Gerador de Modelos Sequelize TypeScript a partir de SQL DDLDesenvolvimento

Referência técnica completa para converter instruções SQL CREATE TABLE DDL em modelos Sequelize TypeScript fortemente tipados, definições DataTypes, atributos CreationOptional e chamadas Model.init.

Abrir ferramenta→