/**
  * @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;
 }
 /**
  * @param SqliteDbFile $sqliteDbFile
  * @param ConfigLocation $eventStoreConfigLocation
  * @return InitializeEventStore
  */
 public static function setUpWithSqliteDbAdapter(SqliteDbFile $sqliteDbFile, ConfigLocation $eventStoreConfigLocation)
 {
     return new self(__CLASS__, ['sqlite_db_file' => $sqliteDbFile->toString(), 'config_location' => $eventStoreConfigLocation->toString()]);
 }
 /**
  * @param SqliteDbFile $sqliteDbFile
  * @param ConfigLocation $configLocation
  * @param $fileName
  * @return EventStoreWasInitialized
  */
 public static function withSqliteDb(SqliteDbFile $sqliteDbFile, ConfigLocation $configLocation, $fileName)
 {
     return self::occur(['config_file' => $configLocation->toString() . DIRECTORY_SEPARATOR . $fileName, 'sqlite_db_file' => $sqliteDbFile->toString()]);
 }