Ir para o conteúdo
Totalmente local

SQL CREATE TABLE para schema Prisma

Converter instruções CREATE TABLE SQL em modelos de schema Prisma.

Entrada
Saída

SQL CREATE TABLE para schema Prisma

Cole uma ou mais instruções CREATE TABLE SQL e esta ferramenta devolve os modelos de schema Prisma correspondentes — tipos de coluna, chaves primárias, restrições únicas e relações de chaves estrangeiras inclusos. É construída para programadores que migram uma base de dados PostgreSQL, MySQL ou SQLite existente para um projeto Prisma, ou conectam Prisma a um schema que alguém desenhou em SQL bruto.

Escolha a base de dados de origem para que os tipos de coluna se mapeiem corretamente — um ENUM MySQL, um UUID PostgreSQL ou uma coluna JSON SQLite cada um precisa de um tratamento diferente, e a ferramenta nota-o inline quando um tipo não tem um equivalente exato Prisma. Ative a nomenclatura PascalCase singular para obter nomes de modelo idiomáticos (users torna-se User) com um @@map para a tabela real, e nomes de campo camelCase para obter campos Prisma idiomáticos (full_name torna-se fullName) com um @map para a coluna real — ambos são aditivos, portanto o schema da base de dados subjacente nunca tem que mudar. Chaves estrangeiras, sejam declaradas inline, como uma restrição de nível de tabela ou através de uma instrução ALTER TABLE separada, tornam-se relações Prisma adequadas em ambos os lados, desambiguadas com uma relação nomeada quando mais de uma chave estrangeira aponta para a mesma tabela.

Os valores predefinidos também se convertem: CURRENT_TIMESTAMP torna-se @default(now()), AUTO_INCREMENT e SERIAL tornam-se @default(autoincrement()), e ON UPDATE CURRENT_TIMESTAMP do MySQL torna-se @updatedAt. Colunas anuláveis recebem um ponto de interrogação à direita, chaves compostas tornam-se @@id, e restrições únicas de coluna única ou composta tornam-se @@unique ou @unique dependendo do alcance. Qualquer coisa que o conversor não consiga representar exatamente — um tipo não suportado, uma restrição CHECK, um inteiro sem sinal — é destacada com um comentário logo acima do campo afetado em vez de ser silenciosamente abandonada ou adivinhada.

Tudo é executado localmente no seu navegador: o seu schema nunca é carregado em qualquer lugar, o que é importante se descrever uma base de dados de produção. Copie o resultado, descarregue-o como um ficheiro .txt para colar em schema.prisma, ou envie o resultado diretamente para a entrada de outra ferramenta para continuar a refiná-lo.

FAQ

Quais bases de dados de origem são suportadas?
PostgreSQL, MySQL e SQLite. Escolha a correta nas opções — altera a forma como tipos como UUID, JSON e inteiros sem sinal são mapeados, pois Prisma suporta tipos nativos diferentes por fornecedor.
Como são convertidas as chaves estrangeiras?
As referências de coluna inline, as cláusulas FOREIGN KEY de nível de tabela e as instruções ALTER TABLE ... ADD FOREIGN KEY separadas são todas reconhecidas e convertidas numa relação Prisma em ambos os lados do modelo de referência e referenciado, com ações ON DELETE e ON UPDATE transferidas.
O que acontece a um tipo sem equivalente Prisma?
É mapeado para o tipo disponível mais próximo (normalmente String) e um comentário é adicionado acima desse campo explicando a lacuna, para que saiba exatamente o que rever manualmente.
Os nomes de modelo gerados irão corresponder aos meus nomes de tabela?
Apenas se desativar a nomenclatura PascalCase singular. Se ligada, uma tabela como order_items torna-se modelo OrderItem com um atributo @@map("order_items"), para que Prisma ainda aponte para a tabela real.
O meu schema é carregado em algum lugar?
Não. A conversão é executada inteiramente no seu navegador — o seu SQL e o schema Prisma gerado nunca saem do seu dispositivo.