Hva er samarbeidende SQL-redigering?

Samarbeidende SQL-redigering lar flere personer skrive og gjennomgå spørringer samtidig, hver i sin egen nettleser. Det er nyttig når du skal utarbeide en spørring sammen med en kollega, gjennomgå en migrering sammen eller undervise i SQL – uten å dele skjerm eller lime inn spørringer i en chat.

For at alle skal ha identiske kopier, sendes endringer som små redigeringer i stedet for hele teksten, og én server bestemmer rekkefølgen de brukes i. Endringer som gjøres samtidig, tilpasses hverandre, slik at begge blir bevart.

Beskrivelse av verktøyet

Dette verktøyet er en delt SQL-editor med syntaksutheving. Åpne den og send lenken: Alle i rommet redigerer de samme spørringene i sanntid, ser hverandres markører og kan validere, formatere eller minifisere SQL for alle med ett klikk.

Validering analyserer SQL med node-sql-parser. Formatering plasserer hver hovedklausul (SELECT, FROM, WHERE, JOIN og så videre) på sin egen linje uten å endre strenger og kommentarer, mens minifisering plasserer spørringen på én linje. Den nye teksten erstatter bare linjene som er endret, slik at det andre skriver i mellomtiden, blir stående.

Funksjoner

  • Redigering i sanntid – endringer fra alle vises umiddelbart og flettes sammen når flere skriver samtidig
  • Markører og markeringer – se hvor hver person befinner seg, med fargen som vises ved siden av navnet
  • Valider – kontrollerer om SQL kan analyseres, og viser meldingen fra parseren hvis den ikke kan det
  • Formater og minifiser – formater spørringen klausul for klausul eller press den sammen til én linje for alle i rommet
  • Kopier og last ned – lagre en kopi av spørringene som en .sql-fil

Slik fungerer det

Når siden åpnes, opprettes det et rom på synkroniseringsserveren, og lenken til rommet legges i adresselinjen. Alle som åpner lenken, blir med i det samme rommet og ser det samme dokumentet.

Hver endring sendes til serveren som en liten beskrivelse av hva som er endret – hvilke tegn som ble satt inn eller slettet, og hvor – i stedet for at hele teksten sendes. Serveren setter endringene fra alle i en bestemt rekkefølge, flytter en endring som ble gjort oppå en eldre versjon, forbi endringene som kom først, og sender resultatet videre til alle andre. Det du selv skriver, vises med en gang, og endringer fra andre flettes inn rundt det, slik at ingen mister det de har skrevet når to personer redigerer samtidig.

Dokumentet lagres bare i serverens minne så lenge rommet er åpent. Hvis du laster inn siden på nytt, kommer du tilbake til rommet med teksten slik den var. Når alle har forlatt rommet, slettes rommet og teksten.

Begrensninger

  • Et rom har plass til opptil 20 personer og 100 000 tegn.
  • Ingenting lagres etter at et rom lukkes. Last ned teksten før den siste personen forlater rommet.
  • Svært raske eller omfattende endringer, for eksempel å lime inn hele dokumentet mange ganger etter hverandre, avvises, og editoren laster inn teksten i rommet på nytt.
  • Hvis du åpner en romlenke i en annen av de samarbeidende editorene (for eksempel et SQL-rom i JavaScript-editoren), vises meldingen «Rommet ble ikke funnet»: Hvert rom tilhører ett språk.
  • Validering kontrollerer bare syntaksen. Spørringer kjøres aldri mot en database.