Przejdź do treści
100% lokalnie

SQL CREATE TABLE do schematu Prismy

Konwertuj instrukcje SQL CREATE TABLE do modeli schematu Prismy.

Wejście
Wynik

SQL CREATE TABLE do schematu Prismy

Wklej jeden lub więcej instrukcji SQL CREATE TABLE i narzedzie zwróci odpowiadające modele schematu Prismy — z typami kolumn, kluczami pierwotnym, unikalnymi ograniczeniami i relacjami kluczy obcych. Jest przeznaczone dla programistow migrujacych istniejaca baze danych PostgreSQL, MySQL lub SQLite do projektu Prismy, lub polaczenia Prismy ze schematem, który ktos inny zaprojektowal w czystym SQL.

Wybierz zrodlowa baze danych, aby typy kolumn mapowaly sie prawidlowo — MySQL ENUM, PostgreSQL UUID lub SQLite JSON kolumna wymagaja kazdej innego podejscia, a narzedzie to zaznacza w miejscu, gdy typ nie ma dokladnego odpowiednika w Prisma. Wlacz nazwy w liczbie pojedynczej PascalCase, aby uzyskac idiomatyczne nazwy modeli (users stanie sie User) z @@map z powrotem do rzeczywistej tabeli, i pola z camelCase, aby uzyskac idiomatyczne pola Prismy (full_name stanie sie fullName) z @map z powrotem do rzeczywistej kolumny — oboje sa addytywne, wiec bazowa baza danych nie musi sie zmieniac. Klucze obce, czy sa deklarowane wlaczne, jako ograniczenie poziomu tabeli czy za posrednictwem oddzielnej instrukcji ALTER TABLE, stana sie odpowiednimi relacjami Prismy po obu stronach, rozrozniajace relacja nazwana, gdy wiecej kluczy obcych wskazuje na te sama tabele.

Wartosci domyslne równiez sie konwertuja: CURRENT_TIMESTAMP stanie sie @default(now()), AUTO_INCREMENT i SERIAL stana sie @default(autoincrement()), a MySQL's ON UPDATE CURRENT_TIMESTAMP stanie sie @updatedAt. Kolumny Nullable otrzymaja znak zapytania na koncu, klucze zlozony stana sie @@id, a ograniczenia unikalnosci zlozony lub jednostkowy stana sie @@unique lub @unique w zaleznosci od zakresu. Wszystko, czego konwerter nie moze reprezentowac dokladnie — nieobsługiwany typ, ograniczenie CHECK, liczba bez znaku — zostaje nazwane komentarzem bezposrednio nad dotkniętym polem zamiast cichej rezygnacji lub zgadywania.

Wszystko dziala lokalnie w Twojej przegladarce: Twój schemat nigdy nie jest wysylany nigdzie, co ma znaczenie, jesli opisuje baze danych produkcyjna. Skopiuj wynik, pobierz go jako plik .txt, aby paste'ac go do schema.prisma, lub wyslij wynik bezposrednio do wejscia innego narzedzia, aby nadal go ulepszac.

Częste pytania

Ktoré zrodlowe bazy danych sa obsługuja?
PostgreSQL, MySQL i SQLite. Wybierz prawidlową opcje — zmieni sposób mapowania typów takich jak UUID, JSON i liczb bez znaku, poniewaz Prisma obsługuje rozne typy natywne dla roznych dostawcow.
Jak konwertuja sie klucze obce?
Odwołania do kolumn w wierszu, klauzule FOREIGN KEY na poziomie tabeli i oddzielne instrukcje ALTER TABLE ... ADD FOREIGN KEY sa wszystkie rozpoznawane i konwertowane do odpowiedniej relacji Prismy na obu modelach, z akcjami ON DELETE i ON UPDATE przeniesionymi.
Co sie staje z typem, który nie ma odpowiednika w Prisma?
Jest mapowany do najbliższego dostępnego typu (zwykle String) i komentarz jest dodawany nad tym polem wyjaśniajacy lukę, abyś wiedzial dokladnie, co sprawdzic ręcznie.
Czy nazwy wygenerowanych modeli będa odpowiadac moim nazwom tabel?
Tylko jesli wylaczy nombres w liczbie pojedynczej PascalCase. Jesli jest wlaczony, tabela taka jak order_items stanie sie modelem OrderItem z atrybutem @@map("order_items"), wiec Prisma nadal wskazuje na rzeczywista tabele.
Czy mój schemat jest przeslany gdziekolwiek?
Nie. Konwersja przebiega calkowicie lokalnie w Twojej przegladarce — Twój SQL i wygenerowany schemat Prismy nigdy nie opuszczaja Twoje urzadzenie.