Fra udgivelse 27.0 læser Invantive UniversalSQL databasedefinitioner fra settings*.json i stedet for fra settings*.xml. Eksisterende XML-filer migreres automatisk.
Understøttelse af XML-formatet er ikke længere tilgængeligt fra Invantive UniversalSQL-udgivelse 28.0 (udgivelsen er planlagt til begyndelsen af 2028).
Hvorfor
XML-formatet stammer fra 2009 og har to problemer, der løses ved et formatskift.
- Værktøjer: læsning eller generering af indstillinger kræver XPath og/eller XSLT. De fleste programmeringssprog kan dog parse JSON uden ekstra biblioteker. Generering af en indstillingsfil pr. kunde eller pr. miljø bliver således et spørgsmål om tekstskabeloner i stedet for XML-skabeloner.
- Forældede elementer: XML-formatet bærer meget historisk bagage med hensyn til koncepter omkring databaseforbindelser. Mange elementer understøttes ikke længere eller er irrelevante. JSON-formatet bruger de nuværende koncepter, så det, du læser, er præcis det, termen betyder.
Format
settings*.json-formatet ligner meget 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 afsluttende kommaer overhoppes, når en fil læses. Kommentarer og afsluttende kommaer forsvinder, hvis et produkt skriver settings*json-filen igen.
Migration
Vi har forsøgt at gøre migreringen så nem som muligt.
Første gang et produkt fra udgivelse 27.0 læser en settings*.xml-fil, hvor der ikke findes en .json-fil med samme navn, opretter det en funktionsmæssigt identisk JSON-fil ved siden af. XML-filen forbliver uændret. Forældede egenskaber ignoreres.
Filer, der oprettes gennem den automatiske opdagerproces (settings-discovery*.xml), migreres aldrig, da de er knyttet til en specifik vigtig udgivelse.
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 settings*.xml med samme navn ignoreres og bruges til at skabe JSON-varianten. |
| 27.0 | settings*.json bruges; en settings*.xml med samme navn ignoreres og bruges til at skabe JSON-varianten. |
| 28.0 | settings*.json bruges; XML-formatet understøttes eller bruges ikke længere til at generere JSON-varianten. |
Når et miljø udelukkende bruger udgivelse 27.0 eller nyere, kan alle settings*.xml-filer sikkert slettes, hvis filen findes i JSON-format.