protected function setUpDatabase(Application $application) { $connManager = $application->getService('defaultConnectionManager'); $connName = 'test'; if ($connManager->connectionExists($connName)) { $connManager->setDefaultConnection($connName); $adapter = $connManager->getAdapter($connName); if ($adapter instanceof MongoConnection) { $adapter->database()->drop(); } else { $params = $adapter->getDriver()->getConnection()->getConnectionParameters(); $filesDir = $application->config()['paths']['root']->expand('db'); $schema = new Schema($adapter); $schema->dropDatabase($params['database']); $schema->createDatabase($params['database']); # Reset connection. $connManager->removeAdapter($connName); $adapter = $connManager->getAdapter($connName); $migrator = new Migrator($adapter, $filesDir); $migrator->run(); # Clear table data. ActiveRecordBase::clearMetadatas(); ActiveRecordBase::clearModelSchemas(); SchemaMigration::setAdapter($adapter); } } }
protected function prettyPath($path) { return substr($path, strlen($this->app->config()['paths']['root']) + 1); }