44
55namespace LaravelDoctrine \ORM \Configuration \Connections ;
66
7- use Illuminate \Support \Arr ;
8-
97class MysqlConnection extends Connection
108{
119 /**
@@ -15,25 +13,31 @@ class MysqlConnection extends Connection
1513 */
1614 public function resolve (array $ settings = []): array
1715 {
18- return [
19- 'driver ' => 'pdo_mysql ' ,
20- 'host ' => Arr::get ($ settings , 'host ' ),
21- 'dbname ' => Arr::get ($ settings , 'database ' ),
22- 'user ' => Arr::get ($ settings , 'username ' ),
23- 'password ' => Arr::get ($ settings , 'password ' ),
24- 'charset ' => Arr::get ($ settings , 'charset ' ),
25- 'port ' => Arr::get ($ settings , 'port ' ),
26- 'unix_socket ' => Arr::get ($ settings , 'unix_socket ' ),
27- 'ssl_key ' => Arr::get ($ settings , 'ssl_key ' ),
28- 'ssl_cert ' => Arr::get ($ settings , 'ssl_cert ' ),
29- 'ssl_ca ' => Arr::get ($ settings , 'ssl_ca ' ),
30- 'ssl_capath ' => Arr::get ($ settings , 'ssl_capath ' ),
31- 'ssl_cipher ' => Arr::get ($ settings , 'ssl_cipher ' ),
32- 'prefix ' => Arr::get ($ settings , 'prefix ' ),
33- 'defaultTableOptions ' => Arr::get ($ settings , 'defaultTableOptions ' , []),
34- 'serverVersion ' => Arr::get ($ settings , 'serverVersion ' ),
35- 'wrapperClass ' => Arr::get ($ settings , 'wrapperClass ' ),
36- 'driverOptions ' => Arr::get ($ settings , 'options ' , []),
16+ $ overrides = [
17+ 'driver ' => 'pdo_mysql ' ,
3718 ];
19+
20+ // Map Laravel keys to Doctrine DBAL keys
21+ if (isset ($ settings ['database ' ])) {
22+ $ overrides ['dbname ' ] = $ settings ['database ' ];
23+ unset($ settings ['database ' ]);
24+ }
25+
26+ if (isset ($ settings ['username ' ])) {
27+ $ overrides ['user ' ] = $ settings ['username ' ];
28+ unset($ settings ['username ' ]);
29+ }
30+
31+ if (isset ($ settings ['options ' ])) {
32+ $ overrides ['driverOptions ' ] = $ settings ['options ' ];
33+ unset($ settings ['options ' ]);
34+ }
35+
36+ // Set default for defaultTableOptions if not present
37+ if (!isset ($ settings ['defaultTableOptions ' ])) {
38+ $ overrides ['defaultTableOptions ' ] = [];
39+ }
40+
41+ return array_merge ($ settings , $ overrides );
3842 }
3943}
0 commit comments