Gå till den engelska versionen
Från och med version 27.0 kommer Invantive UniversalSQL att läsa databasdefinitioner från settings*.json istället för från settings*.xml. Befintliga XML-filer migreras automatiskt.
Stöd för XML-formatet kommer inte längre att vara tillgängligt från och med Invantive UniversalSQL version 28.0 (versionen är planerad till början av 2028).
Varför
XML-formatet är från 2009 och har två problem som löses genom ett formatbyte.
- Verktyg: Att läsa eller generera inställningar kräver XPath och/eller XSLT. De flesta programmeringsspråk kan dock parsra JSON utan extra bibliotek. Generering av en inställningsfil per kund eller per miljö blir då en fråga om textmallar istället för XML-mallar.
- Föråldrade element: XML-formatet bär på mycket historiskt bagage när det gäller begreppen kring databasanslutningar. Många element stöds inte längre eller är inte längre relevanta. JSON-formatet använder aktuella begrepp, så det du läser är exakt vad termen betyder.
Format
settings*.json-formatet liknar starkt XML-formatet. De viktigaste ändringarna är:
<connection>kallas fördatabase(singularis) ellerdatabases(pluralis).<database>kallas fördataContainer(singularis) ellerdataContainers(pluralis).
Exempel:
{ "version": "5"
, "groups":
[ { "name": "ACME"
, "sortingOrder": 100
, "databases":
[ { "name": "acme-eol"
, "shortDescription": "Exact Online"
, "sortingOrder": 10
, "authentication": "Default"
, "dataContainers":
[ { "kind": "dataContainer"
, "provider": "ExactOnlineAll"
, "alias": "eol"
, "order": 10
, "connectionString": "..."
}
]
}
]
}
]
}
Kommentarer och avslutande kommatecken ignoreras när en fil läses. Kommentarer och avslutande kommatecken försvinner om en produkt skulle skriva om settings*.json-filen.
Migration
Det har försökt göras så enkelt som möjligt att migrera.
Första gången en produkt från release 27.0 läser en settings*.xml-fil för vilken det inte finns någon .json-fil med samma namn, skapas en funktionellt identisk JSON-fil bredvid den filen. XML-filen förblir oförändrad. Föråldrade egenskaper ignoreras.
Filer som skapas genom den automatiska upptäckten (settings-discovery*.xml) migreras aldrig eftersom de är kopplade till en specifik huvudversion.
Vilket Format Används?
| Version | Beteende |
|---|---|
| 26.0 och tidigare | settings*.xml används; en settings*.json-fil ignoreras. |
| 26.1 (BETA av 27.0) | settings*.json används; en settings*.xml med samma namn ignoreras och används för att skapa JSON-varianten. |
| 27.0 | settings*.json används; en settings*.xml med samma namn ignoreras och används för att skapa JSON-varianten. |
| 28.0 | settings*.json används; XML-formatet stöds eller används inte längre för att generera JSON-varianten. |
När en miljö uteslutande använder release 27.0 eller senare, kan alla settings*.xml-filer säkert tas bort om filen finns i JSON-format.