Skip to content

Commit 0e13679

Browse files
bpamiriclaude
andcommitted
fix(ci): work around cfconfig-services switch fallthrough bug crashing Lucee startup
cfconfig-services 2.7.9 has a missing break statement in Lucee6Server.cfc:305-312 — the MySQL case falls through to Oracle, which tries to access datasource.SID on non-Oracle datasources. This crashes CommandBox server startup for all Lucee engines. Workaround: add empty SID and serviceName fields to every datasource in Lucee CFConfig files so the Oracle case branch doesn't throw. Also pin commandbox-cfconfig to ~2.1.0 until upstream is fixed. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 88e1f58 commit 0e13679

4 files changed

Lines changed: 124 additions & 116 deletions

File tree

tools/docker/lucee6/CFConfig.json

Lines changed: 55 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@
2424
"host": "mysql",
2525
"password": "wheelstestdb",
2626
"port": "3306",
27-
"username": "wheelstestdb"
27+
"username": "wheelstestdb",
28+
"SID": "",
29+
"serviceName": ""
2830
},
2931
"wheelstestdb_postgres": {
3032
"blob": "false",
@@ -39,7 +41,9 @@
3941
"password": "wheelstestdb",
4042
"port": "5432",
4143
"username": "wheelstestdb",
42-
"validate": "false"
44+
"validate": "false",
45+
"SID": "",
46+
"serviceName": ""
4347
},
4448
"wheelstestdb_cockroachdb": {
4549
"blob": "false",
@@ -54,7 +58,9 @@
5458
"password": "",
5559
"port": "26257",
5660
"username": "wheelstestdb",
57-
"validate": "false"
61+
"validate": "false",
62+
"SID": "",
63+
"serviceName": ""
5864
},
5965
"wheelstestdb_sqlserver": {
6066
"blob": "false",
@@ -69,7 +75,9 @@
6975
"password": "x!bsT8t60yo0cTVTPq",
7076
"port": "1433",
7177
"username": "sa",
72-
"validate": "false"
78+
"validate": "false",
79+
"SID": "",
80+
"serviceName": ""
7381
},
7482
"msdb_sqlserver": {
7583
"blob": "false",
@@ -84,64 +92,59 @@
8492
"password": "x!bsT8t60yo0cTVTPq",
8593
"port": "1433",
8694
"username": "sa",
87-
"validate": "false"
95+
"validate": "false",
96+
"SID": "",
97+
"serviceName": ""
8898
},
8999
"wheelstestdb_h2": {
90-
"class":"org.h2.Driver",
91-
"dbdriver":"H2",
92-
"custom":"mode=MySQL&path=./tools/docker/lucee6/H2.db/",
93-
"database":"wheelstestdb",
94-
"dsn":"jdbc:h2:{path}{database};MODE={mode}",
95-
"allow":"511",
96-
"clob":true,
97-
"blob":true
100+
"class": "org.h2.Driver",
101+
"dbdriver": "H2",
102+
"custom": "mode=MySQL&path=./tools/docker/lucee6/H2.db/",
103+
"database": "wheelstestdb",
104+
"dsn": "jdbc:h2:{path}{database};MODE={mode}",
105+
"allow": "511",
106+
"clob": true,
107+
"blob": true,
108+
"SID": "",
109+
"serviceName": ""
98110
},
99111
"wheelstestdb_h2_sqlserver": {
100-
"class":"org.h2.Driver",
101-
"dbdriver":"H2",
102-
"custom":"mode=MSSQLServer&path=./tools/docker/lucee6/H2.db/",
103-
"database":"wheelstestdb",
104-
"dsn":"jdbc:h2:{path}{database};MODE={mode}",
105-
"allow":"511",
106-
"clob":true,
107-
"blob":true
112+
"class": "org.h2.Driver",
113+
"dbdriver": "H2",
114+
"custom": "mode=MSSQLServer&path=./tools/docker/lucee6/H2.db/",
115+
"database": "wheelstestdb",
116+
"dsn": "jdbc:h2:{path}{database};MODE={mode}",
117+
"allow": "511",
118+
"clob": true,
119+
"blob": true,
120+
"SID": "",
121+
"serviceName": ""
108122
},
109-
"wheelstestdb_oracle": {
123+
"wheelstestdb_sqlite": {
110124
"blob": "false",
111-
"class": "oracle.jdbc.OracleDriver",
125+
"class": "org.sqlite.JDBC",
112126
"clob": "false",
113-
"connectionLimit": "-1",
114-
"connectionTimeout": "20",
115127
"database": "wheelstestdb",
116128
"dbdriver": "Other",
117-
"dsn": "jdbc:oracle:thin:@//{host}:{port}/{database}",
118-
"host": "oracle",
119-
"password": "wheelstestdb",
120-
"port": "1521",
121-
"username": "wheelstestdb",
122-
"validate": "false"
123-
},
124-
"wheelstestdb_sqlite":{
125-
"blob":"false",
126-
"class":"org.sqlite.JDBC",
127-
"clob":"false",
128-
"database":"wheelstestdb",
129-
"dbdriver":"Other",
130-
"dsn":"jdbc:sqlite:/app/wheelstestdb.db",
131-
"host":"",
132-
"password":"",
133-
"username":""
129+
"dsn": "jdbc:sqlite:/app/wheelstestdb.db",
130+
"host": "",
131+
"password": "",
132+
"username": "",
133+
"SID": "",
134+
"serviceName": ""
134135
},
135-
"wheelstestdb_sqlite_tenant_b":{
136-
"blob":"false",
137-
"class":"org.sqlite.JDBC",
138-
"clob":"false",
139-
"database":"wheelstestdb_tenant_b",
140-
"dbdriver":"Other",
141-
"dsn":"jdbc:sqlite:/app/wheelstestdb_tenant_b.db",
142-
"host":"",
143-
"password":"",
144-
"username":""
136+
"wheelstestdb_sqlite_tenant_b": {
137+
"blob": "false",
138+
"class": "org.sqlite.JDBC",
139+
"clob": "false",
140+
"database": "wheelstestdb_tenant_b",
141+
"dbdriver": "Other",
142+
"dsn": "jdbc:sqlite:/app/wheelstestdb_tenant_b.db",
143+
"host": "",
144+
"password": "",
145+
"username": "",
146+
"SID": "",
147+
"serviceName": ""
145148
}
146149
}
147150
}

tools/docker/lucee6/box.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@
44
"devDependencies": {
55
"commandbox-cfformat": "*",
66
"commandbox-dotenv": "*",
7-
"commandbox-cfconfig": "*"
7+
"commandbox-cfconfig": "~2.1.0"
88
}
9-
}
9+
}

tools/docker/lucee7/CFConfig.json

Lines changed: 65 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@
2424
"host": "mysql",
2525
"password": "wheelstestdb",
2626
"port": "3306",
27-
"username": "wheelstestdb"
27+
"username": "wheelstestdb",
28+
"SID": "",
29+
"serviceName": ""
2830
},
2931
"wheelstestdb_postgres": {
3032
"blob": "false",
@@ -39,7 +41,9 @@
3941
"password": "wheelstestdb",
4042
"port": "5432",
4143
"username": "wheelstestdb",
42-
"validate": "false"
44+
"validate": "false",
45+
"SID": "",
46+
"serviceName": ""
4347
},
4448
"wheelstestdb_cockroachdb": {
4549
"blob": "false",
@@ -54,7 +58,9 @@
5458
"password": "",
5559
"port": "26257",
5660
"username": "wheelstestdb",
57-
"validate": "false"
61+
"validate": "false",
62+
"SID": "",
63+
"serviceName": ""
5864
},
5965
"wheelstestdb_sqlserver": {
6066
"blob": "false",
@@ -69,7 +75,9 @@
6975
"password": "x!bsT8t60yo0cTVTPq",
7076
"port": "1433",
7177
"username": "sa",
72-
"validate": "false"
78+
"validate": "false",
79+
"SID": "",
80+
"serviceName": ""
7381
},
7482
"msdb_sqlserver": {
7583
"blob": "false",
@@ -84,74 +92,71 @@
8492
"password": "x!bsT8t60yo0cTVTPq",
8593
"port": "1433",
8694
"username": "sa",
87-
"validate": "false"
95+
"validate": "false",
96+
"SID": "",
97+
"serviceName": ""
8898
},
8999
"wheelstestdb_h2": {
90-
"class":"org.h2.Driver",
91-
"dbdriver":"H2",
92-
"custom":"mode=MySQL&path=./tools/docker/lucee7/H2.db/",
93-
"database":"wheelstestdb",
94-
"dsn":"jdbc:h2:{path}{database};MODE={mode}",
95-
"allow":"511",
96-
"clob":true,
97-
"blob":true
100+
"class": "org.h2.Driver",
101+
"dbdriver": "H2",
102+
"custom": "mode=MySQL&path=./tools/docker/lucee7/H2.db/",
103+
"database": "wheelstestdb",
104+
"dsn": "jdbc:h2:{path}{database};MODE={mode}",
105+
"allow": "511",
106+
"clob": true,
107+
"blob": true,
108+
"SID": "",
109+
"serviceName": ""
98110
},
99111
"wheelstestdb_h2_tenant_b": {
100-
"class":"org.h2.Driver",
101-
"dbdriver":"H2",
102-
"custom":"mode=MySQL&path=./tools/docker/lucee7/H2.db/",
103-
"database":"wheelstestdb_tenant_b",
104-
"dsn":"jdbc:h2:{path}{database};MODE={mode}",
105-
"allow":"511",
106-
"clob":true,
107-
"blob":true
112+
"class": "org.h2.Driver",
113+
"dbdriver": "H2",
114+
"custom": "mode=MySQL&path=./tools/docker/lucee7/H2.db/",
115+
"database": "wheelstestdb_tenant_b",
116+
"dsn": "jdbc:h2:{path}{database};MODE={mode}",
117+
"allow": "511",
118+
"clob": true,
119+
"blob": true,
120+
"SID": "",
121+
"serviceName": ""
108122
},
109123
"wheelstestdb_h2_sqlserver": {
110-
"class":"org.h2.Driver",
111-
"dbdriver":"H2",
112-
"custom":"mode=MSSQLServer&path=./tools/docker/lucee7/H2.db/",
113-
"database":"wheelstestdb",
114-
"dsn":"jdbc:h2:{path}{database};MODE={mode}",
115-
"allow":"511",
116-
"clob":true,
117-
"blob":true
124+
"class": "org.h2.Driver",
125+
"dbdriver": "H2",
126+
"custom": "mode=MSSQLServer&path=./tools/docker/lucee7/H2.db/",
127+
"database": "wheelstestdb",
128+
"dsn": "jdbc:h2:{path}{database};MODE={mode}",
129+
"allow": "511",
130+
"clob": true,
131+
"blob": true,
132+
"SID": "",
133+
"serviceName": ""
118134
},
119-
"wheelstestdb_oracle": {
135+
"wheelstestdb_sqlite": {
120136
"blob": "false",
121-
"class": "oracle.jdbc.OracleDriver",
137+
"class": "org.sqlite.JDBC",
122138
"clob": "false",
123-
"connectionLimit": "-1",
124-
"connectionTimeout": "20",
125139
"database": "wheelstestdb",
126140
"dbdriver": "Other",
127-
"dsn": "jdbc:oracle:thin:@//{host}:{port}/{database}",
128-
"host": "oracle",
129-
"password": "wheelstestdb",
130-
"port": "1521",
131-
"username": "wheelstestdb",
132-
"validate": "false"
133-
},
134-
"wheelstestdb_sqlite":{
135-
"blob":"false",
136-
"class":"org.sqlite.JDBC",
137-
"clob":"false",
138-
"database":"wheelstestdb",
139-
"dbdriver":"Other",
140-
"dsn":"jdbc:sqlite:/app/wheelstestdb.db",
141-
"host":"",
142-
"password":"",
143-
"username":""
141+
"dsn": "jdbc:sqlite:/app/wheelstestdb.db",
142+
"host": "",
143+
"password": "",
144+
"username": "",
145+
"SID": "",
146+
"serviceName": ""
144147
},
145-
"wheelstestdb_sqlite_tenant_b":{
146-
"blob":"false",
147-
"class":"org.sqlite.JDBC",
148-
"clob":"false",
149-
"database":"wheelstestdb_tenant_b",
150-
"dbdriver":"Other",
151-
"dsn":"jdbc:sqlite:/app/wheelstestdb_tenant_b.db",
152-
"host":"",
153-
"password":"",
154-
"username":""
148+
"wheelstestdb_sqlite_tenant_b": {
149+
"blob": "false",
150+
"class": "org.sqlite.JDBC",
151+
"clob": "false",
152+
"database": "wheelstestdb_tenant_b",
153+
"dbdriver": "Other",
154+
"dsn": "jdbc:sqlite:/app/wheelstestdb_tenant_b.db",
155+
"host": "",
156+
"password": "",
157+
"username": "",
158+
"SID": "",
159+
"serviceName": ""
155160
}
156161
}
157162
}

tools/docker/lucee7/box.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@
44
"devDependencies": {
55
"commandbox-cfformat": "*",
66
"commandbox-dotenv": "*",
7-
"commandbox-cfconfig": "*"
7+
"commandbox-cfconfig": "~2.1.0"
88
}
9-
}
9+
}

0 commit comments

Comments
 (0)