autoConnect static method

Future<void> autoConnect()

Connect to the database using environment variables.

Implementation

static Future<void> autoConnect() async {
  final driver = FlintEnv.get('DB_CONNECTION', 'mysql');

  if (driver == 'postgres') {
    _driver = DBDriver.postgres;
    _pg = PgConnectionWrapper();
    await _pg!.connect(
      host: FlintEnv.get('DB_HOST', 'localhost'),
      port: FlintEnv.getInt('DB_PORT', 5432),
      database: FlintEnv.get('DB_NAME', 'postgres'),
      username: FlintEnv.get('DB_USER', 'postgres'),
      password: FlintEnv.get('DB_PASSWORD', ''),
    );
  } else {
    _driver = DBDriver.mysql;
    _mysql = MySqlConnectionWrapper();
    await _mysql!.connect(
      host: FlintEnv.get('DB_HOST', 'localhost'),
      port: FlintEnv.getInt('DB_PORT', 3306),
      db: FlintEnv.get('DB_NAME', ''),
      user: FlintEnv.get('DB_USER', 'root'),
      isSecure: FlintEnv.getBool("DB_SECURE", false),
      password: FlintEnv.get('DB_PASSWORD', ''),
    );
  }
  _isConnected = true;
}