/**
  * @param SqliteDbFile $sqliteDbFile
  * @param ConfigLocation $configLocation
  * @param ConfigWriter $configWriter
  * @return EventStoreConfig
  */
 public static function initializeWithSqliteDb(SqliteDbFile $sqliteDbFile, ConfigLocation $configLocation, ConfigWriter $configWriter)
 {
     $config = ['proophessor' => ['event_store' => ['adapter' => ['type' => 'Prooph\\EventStore\\Adapter\\Doctrine\\DoctrineEventStoreAdapter', 'options' => ['connection' => ['driver' => 'pdo_sqlite', 'path' => $sqliteDbFile->toString()], 'serializer_adapter' => 'json']]]]];
     $instance = new self($config, $configLocation);
     $configWriter->writeNewConfigToDirectory($config, $configLocation->toString() . DIRECTORY_SEPARATOR . $instance->configFileName());
     $instance->recordThat(EventStoreWasInitialized::withSqliteDb($sqliteDbFile, $configLocation, $instance->configFileName()));
     return $instance;
 }
 private function saveConnections($checkFile = false)
 {
     $path = $this->configLocation->toString() . DIRECTORY_SEPARATOR . self::FILE_NAME;
     $config = ['prooph.link.sqlconnector' => ['connections' => $this->connections->toArray()]];
     if ($checkFile && !file_exists($path)) {
         $this->configWriter->writeNewConfigToDirectory($config, $path);
     } else {
         $this->configWriter->replaceConfigInDirectory($config, $path);
     }
 }
 /**
  * Write config to file with the help of a config writer
  *
  * @param ConfigWriter $configWriter
  */
 private function writeConfig(ConfigWriter $configWriter)
 {
     $configWriter->replaceConfigInDirectory($this->toArray(), $this->configLocation->toString() . DIRECTORY_SEPARATOR . self::$configFileName);
 }