40 private $operationsExecutor;
56 $this->tableDiff = $tableDiff;
57 $this->diffManager = $diffManager;
58 $this->diffFactory = $diffFactory;
59 $this->operationsExecutor = $operationsExecutor;
71 private function createTableIndex(array $tableNames, array $generatedTableNames)
80 return array_flip($tableNames);
94 $generatedTables = $generatedSchema->
getTables();
95 $tableNames = array_keys(
$schema->getTables());
96 $generatedTableNames = array_keys($generatedSchema->
getTables());
98 $diff = $this->diffFactory->create(
100 'tableIndexes' => $this->createTableIndex($tableNames, $generatedTableNames),
101 'destructiveOperations' => $this->operationsExecutor->getDestructiveOperations()
106 if ($this->diffManager->shouldBeCreated($generatedTables,
$table)) {
107 $diff = $this->diffManager->registerCreation($diff,
$table);
109 $diff = $this->tableDiff->diff(
$table, $generatedTables[
$name], $diff);
112 unset($generatedTables[
$name]);
115 if ($this->diffManager->shouldBeRemoved($generatedTables)) {
116 $diff = $this->diffManager->registerRemoval($diff, $generatedTables);
diff(Schema $schema, Schema $generatedSchema)
__construct(DiffManager $diffManager, TableDiff $tableDiff, DiffFactory $diffFactory, OperationsExecutor $operationsExecutor)
if(!isset($_GET['name'])) $name