Fra og med version 27.0 læser Invantive UniversalSQL databasedefinitioner fra settings*.json i stedet for settings*.xml. Eksisterende XML-filer migreres automatisk.
Støtte til XML-formatet er ikke længere tilgængelig fra Invantive UniversalSQL version 28.0 (planlagt til at blive frigivet omkring starten af 2028).
Hvorfor
XML-formatet stammer fra 2009 og har to problemer, som et formatskifte løser.
- Værktøjer: læsning eller generering af en indstilling kræver XPath og/eller XSLT. Dog parser de fleste sprog JSON uden yderligere biblioteker. Generering af en indstillingsfil pr. kunde eller pr. miljø bliver en teksttemplatingøvelse snarere end en XML-en.
- Forældede elementer: XML-formatet har en masse historie med hensyn til databasetilslutningskoncepter. Mange elementer understøttes ikke længere eller er irrelevante. JSON-formatet bruger de nuværende koncepter, så det, du læser, er, hvad udtrykket betyder.
Format
settings*.json-formatet ligner stærkt XML-formatet. De vigtigste ændringer er:
<connection>kaldesdatabase(ental) ellerdatabases(flertal).<database>kaldesdataContainer(ental) ellerdataContainers(flertal).
For eksempel:
{ "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 og efterfølgende kommaer tolereres, når en fil læses. Kommentarer og efterfølgende kommaer forsvinder, hvis et produkt omskriver settings*json-filen.
Migration
Der er gjort en indsats for at gøre migreringen så let som mulig.
Første gang en version 27.0-produkt læser en settings*.xml-fil, for hvilken der ikke findes en identisk navngivet .json-fil, oprettes den funktionelt identiske JSON-fil ved siden af den. XML-filen efterlades uændret. Forældede egenskaber ignoreres.
Filer produceret ved automatisk opdagelse (settings-discovery*.xml) migreres aldrig, da de er forbundet med en specifik større version.
Hvilket Format Bruges
| Version | Adfærd |
|---|---|
| 26.0 og tidligere | settings*.xml bruges; en settings*.json-fil ignoreres. |
| 26.1 (BETA af 27.0) | settings*.json bruges; en identisk navngivet settings*.xml ignoreres og bruges til at oprette JSON-varianten. |
| 27.0 | settings*.json bruges; en identisk navngivet settings*.xml ignoreres og bruges til at oprette JSON-varianten. |
| 28.0 | settings*.json bruges; XML-formatet understøttes ikke længere eller bruges til at oprette JSON-varianten. |
Når et miljø kun bruger version 27.0 eller nyere, kan alle settings*.xml-filer sikker fjernes, når JSON-formatfilen eksisterer.