After upgrading CFConfig to yesterday’s 1.10.6 release, one of our servers is no longer importing .cfconfig.json
properly but complains about a missing DBDRIVER
key:
× | Starting Server
|------------------------------
| start server in - /opt/staging/
| server name - staging
| server config file - /opt/staging/server.json
| Contacting ForgeBox to determine the latest & greatest version of [lucee 5.3.8]... Use an exact 'cfengine' version to skip this check.
| OK, [lucee 5.3.8+206] it is!
| WAR/zip archive already installed.
|------------------------------
| √ | Setting Server Profile to [development]
| |------------------------------------------------------
| | Profile set from server bound to localhost
| | Block CF Admin disabled
| | Block Sensitive Paths enabled
| | Block Flash Remoting enabled
| | Directory Browsing enabled
| | File Caching disabled
| |------------------------------------------------------
| × | Loading CFConfig into server
| | > key [DBDRIVER] doesn't exist
| |-------------------------------------------
| | Found CFConfig JSON in "CFConfig.file" server.json key.
| | Importing luceeserver config from [/opt/staging/.cfconfig.json]
| | Config transferred from /opt/staging/.cfconfig.json!
| |-------------------------------------------
ERROR (5.9.0+00721)
key [DBDRIVER] doesn't exist
/root/.CommandBox/cfml/modules/commandbox-cfconfig/modules/cfconfig-services/models/BaseLucee.cfc: line 265
263: if( !isNull( params[ 'bundle-version' ] ) ) { params[ 'bundleVersion' ] = params[ 'bundle-version' ]; }
264: // If we look to be using an Oracle service name, extract that.
265: if( params.dbdriver == 'oracle' && params.dsn.listLen( '/' ) > 1 ) {
266: params[ 'serviceName' ] = params.dsn.listLast( '/' )
267: }
The .cfconfig.json file defines only one datasource (shortened for clarity):
"datasources":{
"preside":{
"class":"org.gjt.mm.mysql.Driver",
"dbdriver":"mysql",
"custom":"useUnicode=true&characterEncoding=UTF-8",
"database":"staging",
}
}
Any idea what’s going wrong here?