run migrations always in kimai:install command (#944)
This commit is contained in:
@@ -224,17 +224,28 @@ class InstallCommand extends Command
|
|||||||
|
|
||||||
protected function importMigrations(SymfonyStyle $io, OutputInterface $output)
|
protected function importMigrations(SymfonyStyle $io, OutputInterface $output)
|
||||||
{
|
{
|
||||||
if ($this->connection->getSchemaManager()->tablesExist(['migration_versions'])) {
|
if (!$this->connection->getSchemaManager()->tablesExist(['migration_versions'])) {
|
||||||
$amount = $this->connection->executeQuery('SELECT count(*) as counter FROM migration_versions')->fetchColumn(0);
|
$command = $this->getApplication()->find('doctrine:migrations:version');
|
||||||
if ($amount > 0) {
|
$cmdInput = new ArrayInput(['--add' => true, '--all' => true]);
|
||||||
$io->note(sprintf('Found %s migrations in your database, skipping import', $amount));
|
$cmdInput->setInteractive(false);
|
||||||
|
$command->run($cmdInput, $output);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$command = $this->getApplication()->find('doctrine:migrations:version');
|
// this case should not happen, but you know ... everything is possible
|
||||||
$cmdInput = new ArrayInput(['--add' => true, '--all' => true]);
|
$amount = $this->connection->executeQuery('SELECT count(*) as counter FROM migration_versions')->fetchColumn(0);
|
||||||
|
if ($amount === 0) {
|
||||||
|
$command = $this->getApplication()->find('doctrine:migrations:version');
|
||||||
|
$cmdInput = new ArrayInput(['--add' => true, '--all' => true]);
|
||||||
|
$cmdInput->setInteractive(false);
|
||||||
|
$command->run($cmdInput, $output);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$command = $this->getApplication()->find('doctrine:migrations:migrate');
|
||||||
|
$cmdInput = new ArrayInput(['--allow-no-migration' => true]);
|
||||||
$cmdInput->setInteractive(false);
|
$cmdInput->setInteractive(false);
|
||||||
$command->run($cmdInput, $output);
|
$command->run($cmdInput, $output);
|
||||||
|
|
||||||
|
|||||||
@@ -81,6 +81,18 @@ class ActivityRepository extends EntityRepository
|
|||||||
return $stats;
|
return $stats;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @deprecated since 1.1
|
||||||
|
*/
|
||||||
|
public function builderForEntityType($activity, $project)
|
||||||
|
{
|
||||||
|
$query = new ActivityFormTypeQuery();
|
||||||
|
$query->setActivity($activity);
|
||||||
|
$query->setProject($project);
|
||||||
|
|
||||||
|
return $this->getQueryBuilderForFormType($query);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a query builder that is used for ActivityType and your own 'query_builder' option.
|
* Returns a query builder that is used for ActivityType and your own 'query_builder' option.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -107,6 +107,17 @@ class CustomerRepository extends EntityRepository
|
|||||||
return $stats;
|
return $stats;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @deprecated since 1.1
|
||||||
|
*/
|
||||||
|
public function builderForEntityType($customer)
|
||||||
|
{
|
||||||
|
$query = new CustomerFormTypeQuery();
|
||||||
|
$query->setCustomer($customer);
|
||||||
|
|
||||||
|
return $this->getQueryBuilderForFormType($query);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a query builder that is used for CustomerType and your own 'query_builder' option.
|
* Returns a query builder that is used for CustomerType and your own 'query_builder' option.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -91,6 +91,18 @@ class ProjectRepository extends EntityRepository
|
|||||||
return $stats;
|
return $stats;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @deprecated since 1.1
|
||||||
|
*/
|
||||||
|
public function builderForEntityType($project, $customer)
|
||||||
|
{
|
||||||
|
$query = new ProjectFormTypeQuery();
|
||||||
|
$query->setProject($project);
|
||||||
|
$query->setCustomer($customer);
|
||||||
|
|
||||||
|
return $this->getQueryBuilderForFormType($query);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a query builder that is used for ProjectType and your own 'query_builder' option.
|
* Returns a query builder that is used for ProjectType and your own 'query_builder' option.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -85,8 +85,9 @@ class InstallCommandTest extends KernelTestCase
|
|||||||
self::assertContains('[NOTE] It seems as if you already have the required tables in your database,', $result);
|
self::assertContains('[NOTE] It seems as if you already have the required tables in your database,', $result);
|
||||||
self::assertContains('skipping schema creation', $result);
|
self::assertContains('skipping schema creation', $result);
|
||||||
|
|
||||||
self::assertContains('[NOTE] Found ', $result);
|
// make sure migrations run always
|
||||||
self::assertContains(' migrations in your database, skipping import', $result);
|
self::assertContains('Application Migrations', $result);
|
||||||
|
self::assertContains('No migrations to execute.', $result);
|
||||||
|
|
||||||
self::assertContains(
|
self::assertContains(
|
||||||
sprintf('[OK] Congratulations! Kimai 2 (%s %s) was successful installed!', Constants::VERSION, Constants::STATUS),
|
sprintf('[OK] Congratulations! Kimai 2 (%s %s) was successful installed!', Constants::VERSION, Constants::STATUS),
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user