Fra og med versjon 27.0 leser Invantive UniversalSQL databasedefinisjoner fra settings*.json i stedet for fra settings*.xml. Eksisterende XML-filer migreres automatisk.
Støtte for XML-formatet vil ikke lenger være tilgjengelig fra Invantive UniversalSQL versjon 28.0 (utgivelsen er planlagt tidlig i 2028).
Hvorfor
XML-formatet stammer fra 2009 og har to problemer som løses ved å endre formatet.
- Verktøy: lesing eller generering av innstillinger krever XPath og/eller XSLT. De fleste programmeringsspråk kan imidlertid analysere JSON uten ekstra biblioteker. Generering av en innstillingsfil per kunde eller per miljø blir dermed et spørsmål om tekstmaler i stedet for XML-maler.
- Utdaterte elementer: XML-formatet har mye historisk bagasje når det gjelder konseptene rundt databaseforbindelser. Mange elementer støttes ikke lenger eller er ikke lenger relevante. JSON-formatet bruker de nåværende konseptene, så det du leser er nøyaktig hva termen betyr.
Format
settings*.json-formatet ligner sterkt på XML-formatet. De viktigste endringene er:
<connection>kallesdatabase(entall) ellerdatabases(flertall).<database>kallesdataContainer(entall) ellerdataContainers(flertall).
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 avsluttende kommaer blir ignorert når en fil leses. Kommentarer og avsluttende kommaer forsvinner hvis et produkt skulle skrive settings*.json-filen på nytt.
Migrasjon
Det er forsøkt å gjøre migrasjonen så enkel som mulig.
Første gang et produkt fra versjon 27.0 leser en settings*.xml-fil der det ikke finnes en .json-fil med samme navn, opprettes en funksjonelt identisk JSON-fil ved siden av den. XML-filen forblir uendret. Utdaterte egenskaper ignoreres.
Filer som opprettes av automatisk oppdagelse (settings-discovery*.xml) migreres aldri fordi de er knyttet til en bestemt hovedutgivelse.
Hvilket Format Brukes?
| Versjon | Atferd |
|---|---|
| 26.0 og tidligere | settings*.xml brukes; en settings*.json-fil ignoreres. |
| 26.1 (BETA av 27.0) | settings*.json brukes; en settings*.xml med samme navn ignoreres og brukes til å lage JSON-varianten. |
| 27.0 | settings*.json brukes; en settings*.xml med samme navn ignoreres og brukes til å lage JSON-varianten. |
| 28.0 | settings*.json brukes; XML-formatet støttes ikke lenger eller brukes til å generere JSON-varianten. |
Når et miljø utelukkende bruker versjon 27.0 eller nyere, kan alle settings*.xml-filer trygt fjernes hvis filen er tilgjengelig i JSON-format.