->setupDatabase()
->setupAdmin()
->setupConfig()
+ ->runMigrations()
;
$output->writeln('<info>wallabag has been successfully installed.</info>');
protected function checkRequirements()
{
- $this->defaultOutput->writeln('<info><comment>Step 1 of 4.</comment> Checking system requirements.</info>');
+ $this->defaultOutput->writeln('<info><comment>Step 1 of 5.</comment> Checking system requirements.</info>');
$doctrineManager = $this->getContainer()->get('doctrine')->getManager();
$rows = [];
protected function setupDatabase()
{
- $this->defaultOutput->writeln('<info><comment>Step 2 of 4.</comment> Setting up database.</info>');
+ $this->defaultOutput->writeln('<info><comment>Step 2 of 5.</comment> Setting up database.</info>');
// user want to reset everything? Don't care about what is already here
if (true === $this->defaultInput->getOption('reset')) {
- $this->defaultOutput->writeln('Droping database, creating database and schema, clearing the cache');
+ $this->defaultOutput->writeln('Dropping database, creating database and schema, clearing the cache');
$this
->runCommand('doctrine:database:drop', ['--force' => true])
$question = new ConfirmationQuestion('It appears that your database already exists. Would you like to reset it? (y/N)', false);
if ($questionHelper->ask($this->defaultInput, $this->defaultOutput, $question)) {
- $this->defaultOutput->writeln('Droping database, creating database and schema');
+ $this->defaultOutput->writeln('Dropping database, creating database and schema');
$this
->runCommand('doctrine:database:drop', ['--force' => true])
} elseif ($this->isSchemaPresent()) {
$question = new ConfirmationQuestion('Seems like your database contains schema. Do you want to reset it? (y/N)', false);
if ($questionHelper->ask($this->defaultInput, $this->defaultOutput, $question)) {
- $this->defaultOutput->writeln('Droping schema and creating schema');
+ $this->defaultOutput->writeln('Dropping schema and creating schema');
$this
->runCommand('doctrine:schema:drop', ['--force' => true])
protected function setupAdmin()
{
- $this->defaultOutput->writeln('<info><comment>Step 3 of 4.</comment> Administration setup.</info>');
+ $this->defaultOutput->writeln('<info><comment>Step 3 of 5.</comment> Administration setup.</info>');
$questionHelper = $this->getHelperSet()->get('question');
$question = new ConfirmationQuestion('Would you like to create a new admin user (recommended) ? (Y/n)', true);
protected function setupConfig()
{
- $this->defaultOutput->writeln('<info><comment>Step 4 of 4.</comment> Config setup.</info>');
+ $this->defaultOutput->writeln('<info><comment>Step 4 of 5.</comment> Config setup.</info>');
$em = $this->getContainer()->get('doctrine.orm.entity_manager');
// cleanup before insert new stuff
return $this;
}
+ protected function runMigrations()
+ {
+ $this->defaultOutput->writeln('<info><comment>Step 5 of 5.</comment> Run migrations.</info>');
+
+ $this
+ ->runCommand('doctrine:migrations:migrate', ['--no-interaction' => true]);
+ }
+
/**
* Run a command.
*
],
];
- $this->client->request('DELETE', '/api/entries/tags/list?list=' . json_encode($list));
+ $this->client->request('DELETE', '/api/entries/tags/list?list='.json_encode($list));
}
-
public function testPostEntriesListAction()
{
$list = [
$tester->execute([
'command' => $command->getName(),
'username' => 'admin',
- 'filepath' => 'specialexport.json'
+ 'filepath' => 'specialexport.json',
]);
$this->assertFileExists('specialexport.json');
$this->assertContains('Setting up database.', $tester->getDisplay());
$this->assertContains('Administration setup.', $tester->getDisplay());
$this->assertContains('Config setup.', $tester->getDisplay());
+ $this->assertContains('Run migrations.', $tester->getDisplay());
}
public function testRunInstallCommandWithReset()
$this->assertContains('Checking system requirements.', $tester->getDisplay());
$this->assertContains('Setting up database.', $tester->getDisplay());
- $this->assertContains('Droping database, creating database and schema, clearing the cache', $tester->getDisplay());
+ $this->assertContains('Dropping database, creating database and schema, clearing the cache', $tester->getDisplay());
$this->assertContains('Administration setup.', $tester->getDisplay());
$this->assertContains('Config setup.', $tester->getDisplay());
+ $this->assertContains('Run migrations.', $tester->getDisplay());
// we force to reset everything
- $this->assertContains('Droping database, creating database and schema, clearing the cache', $tester->getDisplay());
+ $this->assertContains('Dropping database, creating database and schema, clearing the cache', $tester->getDisplay());
}
public function testRunInstallCommandWithDatabaseRemoved()
$this->assertContains('Setting up database.', $tester->getDisplay());
$this->assertContains('Administration setup.', $tester->getDisplay());
$this->assertContains('Config setup.', $tester->getDisplay());
+ $this->assertContains('Run migrations.', $tester->getDisplay());
// the current database doesn't already exist
$this->assertContains('Creating database and schema, clearing the cache', $tester->getDisplay());
$this->assertContains('Setting up database.', $tester->getDisplay());
$this->assertContains('Administration setup.', $tester->getDisplay());
$this->assertContains('Config setup.', $tester->getDisplay());
+ $this->assertContains('Run migrations.', $tester->getDisplay());
- $this->assertContains('Droping schema and creating schema', $tester->getDisplay());
+ $this->assertContains('Dropping schema and creating schema', $tester->getDisplay());
}
public function testRunInstallCommandChooseNothing()
$this->assertContains('Setting up database.', $tester->getDisplay());
$this->assertContains('Administration setup.', $tester->getDisplay());
$this->assertContains('Config setup.', $tester->getDisplay());
+ $this->assertContains('Run migrations.', $tester->getDisplay());
$this->assertContains('Creating schema', $tester->getDisplay());
}
$this->assertContains('Setting up database.', $tester->getDisplay());
$this->assertContains('Administration setup.', $tester->getDisplay());
$this->assertContains('Config setup.', $tester->getDisplay());
+ $this->assertContains('Run migrations.', $tester->getDisplay());
}
}
$this->assertEquals('http://domain.io', $entry->getUrl());
$this->assertEquals('my title', $entry->getTitle());
- $this->assertEquals($this->fetchingErrorMessage . '<p><i>But we found a short description: </i></p>desc', $entry->getContent());
+ $this->assertEquals($this->fetchingErrorMessage.'<p><i>But we found a short description: </i></p>desc', $entry->getContent());
$this->assertEmpty($entry->getPreviewPicture());
$this->assertEmpty($entry->getLanguage());
$this->assertEmpty($entry->getHttpStatus());