4
4
5
5
namespace LaravelDoctrine \ORM \Configuration \Connections ;
6
6
7
- use Illuminate \Support \Arr ;
8
-
9
7
class MysqlConnection extends Connection
10
8
{
11
9
/**
@@ -15,25 +13,31 @@ class MysqlConnection extends Connection
15
13
*/
16
14
public function resolve (array $ settings = []): array
17
15
{
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 ' ,
37
18
];
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 );
38
42
}
39
43
}
0 commit comments