Współdzielony edytor SQL
Piszcie wspólnie zapytania SQL w czasie rzeczywistym, korzystając ze wspólnych kursorów, a także sprawdzajcie ich poprawność, formatujcie je lub minifikujcie dla wszystkich.
Instrukcja
Czym jest wspólna edycja SQL?
Wspólna edycja SQL pozwala kilku osobom jednocześnie pisać i przeglądać zapytania, każdej we własnej przeglądarce. Przydaje się do tworzenia zapytania ze współpracownikiem, wspólnego przeglądania migracji lub nauki SQL — bez udostępniania ekranu ani wklejania zapytań na czacie.
Aby kopie tekstu u wszystkich były identyczne, zmiany są przesyłane jako niewielkie poprawki, a nie cały tekst, a o ich kolejności decyduje jeden serwer. Zmiany wprowadzone w tym samym momencie są do siebie dostosowywane, dzięki czemu obie zostają zachowane.
Opis narzędzia
To narzędzie jest współdzielonym edytorem SQL z podświetlaniem składni. Otwórz go i wyślij link — wszyscy w pokoju edytują te same zapytania w czasie rzeczywistym, widzą nawzajem swoje kursory i mogą jednym kliknięciem sprawdzać poprawność, formatować lub minimalizować kod SQL dla wszystkich.
Walidacja analizuje składnię SQL za pomocą node-sql-parser. Formatowanie umieszcza każdą główną klauzulę (SELECT, FROM, WHERE, JOIN itd.) w osobnym wierszu, nie zmieniając ciągów znaków ani komentarzy, a minimalizacja umieszcza zapytanie w jednym wierszu. Nowy tekst zastępuje tylko zmienione wiersze, więc to, co w międzyczasie wpisują inni, pozostaje na swoim miejscu.
Funkcje
- Edycja w czasie rzeczywistym — zmiany wprowadzane przez wszystkich pojawiają się natychmiast i są łączone, gdy kilka osób pisze w tym samym momencie
- Kursory i zaznaczenia — widzisz, gdzie znajduje się każda osoba; kolor kursora jest widoczny obok jej imienia
- Sprawdzanie poprawności — sprawdza, czy składnia SQL jest poprawna, a jeśli nie, wyświetla komunikat analizatora składni
- Formatowanie i minimalizacja — porządkuje zapytanie według klauzul albo umieszcza je w jednym wierszu dla wszystkich osób w pokoju
- Kopiowanie i pobieranie — zachowaj kopię zapytań jako plik .sql
Jak to działa
Po otwarciu strony tworzony jest pokój na serwerze synchronizacji, a jego link pojawia się na pasku adresu. Każda osoba, która otworzy link, dołącza do tego samego pokoju i widzi ten sam dokument.
Każda zmiana jest wysyłana do serwera jako krótki opis tego, co się zmieniło — które znaki i w którym miejscu zostały wstawione lub usunięte — zamiast przesyłania całego tekstu. Serwer ustala kolejność zmian wprowadzonych przez wszystkich, przesuwa zmianę dokonaną na starszej wersji za zmiany, które pojawiły się wcześniej, a następnie przekazuje wynik pozostałym osobom. Własne wpisywane zmiany są widoczne od razu, a zmiany innych osób są z nimi scalane, dzięki czemu niczyj tekst nie ginie, gdy dwie osoby edytują dokument w tym samym momencie.
Dokument jest przechowywany wyłącznie w pamięci serwera, dopóki pokój pozostaje otwarty. Po ponownym załadowaniu strony wracasz do pokoju z tekstem w takim stanie, w jakim był wcześniej; gdy wszyscy opuszczą pokój, pokój i jego tekst zostaną usunięte.
Ograniczenia
- W pokoju może przebywać maksymalnie 20 osób, a tekst może mieć maksymalnie 100 000 znaków.
- Po zamknięciu pokoju nic nie jest przechowywane. Pobierz tekst, zanim opuści go ostatnia osoba.
- Bardzo szybkie lub bardzo duże zmiany, takie jak wielokrotne wklejanie całego dokumentu pod rząd, są odrzucane, a edytor ponownie wczytuje tekst pokoju.
- Otwarcie linku do pokoju w innym edytorze współpracy (na przykład pokoju SQL w edytorze JavaScript) wyświetla komunikat „Nie znaleziono pokoju” — każdy pokój jest przypisany do jednego języka.
- Walidacja sprawdza wyłącznie składnię. Zapytania nigdy nie są wykonywane na bazie danych.