@@ -28,34 +28,26 @@ public struct PostgreSQLDatabaseConfig {
28
28
public init ( hostname: String , port: Int = 5432 , username: String , database: String ? = nil , password: String ? = nil , transport: PostgreSQLConnection . TransportConfig = . cleartext) {
29
29
self . init ( serverAddress: . tcp( hostname: hostname, port: port) , username: username, database: database, password: password, transport: transport)
30
30
}
31
-
32
- public init ( serverAddress: PostgreSQLConnection . ServerAddress , username: String , database: String ? = nil , password: String ? = nil , transport: PostgreSQLConnection . TransportConfig = . cleartext) {
33
- self . username = username
34
- self . database = database
31
+
32
+ public init ( serverAddress: PostgreSQLConnection . ServerAddress , username: String , database: String ? = nil , password: String ? = nil , transport: PostgreSQLConnection . TransportConfig = . cleartext) {
33
+ self . username = username
34
+ self . database = database
35
35
self . password = password
36
36
self . serverAddress = serverAddress
37
37
self . transportConfig = transport
38
38
}
39
39
40
- public init ( url urlString: String , transport: PostgreSQLConnection . TransportConfig = . cleartext) throws {
41
- guard let url = URL ( string: urlString) ,
42
- let hostname = url. host,
43
- let port = url. port,
44
- let username = url. user,
45
- let database = url. databaseName,
46
- url. path. count > 0
47
- else {
48
- throw PostgreSQLError (
49
- identifier: " Bad Connection String " ,
50
- reason: " Host could not be parsed " ,
51
- possibleCauses: [ " Foundation URL is unable to parse the provided connection string " ] ,
52
- suggestedFixes: [ " Check the connection string being passed " ]
53
- )
40
+ public init ? ( url urlString: String , transport: PostgreSQLConnection . TransportConfig = . cleartext) throws {
41
+ guard let url = URL ( string: urlString) else {
42
+ return nil
54
43
}
55
- self . serverAddress = . tcp( hostname: hostname, port: port)
56
- self . username = username
57
- self . database = database
58
- self . password = url. password
59
- self . transportConfig = transport
44
+ self . init (
45
+ hostname: url. host ?? " localhost " ,
46
+ port: url. port ?? 5432 ,
47
+ username: url. user ?? " vapor " ,
48
+ database: url. databaseName,
49
+ password: url. password,
50
+ transport: transport
51
+ )
60
52
}
61
53
}
0 commit comments