createConnection method
Create a new PDO connection.
@param string $dsn @param array $config @param array $options @return \PDO Aqui que cria a conexão com o Banco de Dados de fato
Implementation
Future<PDOInterface> createConnection(Map<String, dynamic> conf) async {
// clone – evita side-effects entre requisições
final config = Map<String, dynamic>.from(conf);
if (config.containsKey('schema')) {
config['schema'] = formatSchema(config['schema']);
}
final pdoConfig = PDOConfig.fromMap(config);
late PDOInterface pdo;
switch (conf['driver_implementation']) {
case 'postgres':
pdo = PostgresV2PDO(pdoConfig);
break;
case 'postgres_v3':
pdo = PostgresV3PDO(pdoConfig);
break;
case 'dargres':
pdo = DargresPDO(pdoConfig);
break;
default:
pdo = PostgresV2PDO(pdoConfig);
}
await pdo.connect();
return pdo;
}