public function up(Schema $schema, QueryBag $queries) { $sqls = $this->container->get('test_service')->getQueries(); foreach ($sqls as $sql) { $queries->addQuery($sql); } }
/** * @inheritdoc */ public function up(Schema $schema, QueryBag $queries) { $bundleVersions = $this->getLatestSuccessMigrationVersions(); if (!empty($bundleVersions)) { $date = new \DateTime(); foreach ($bundleVersions as $bundleName => $bundleVersion) { $sql = sprintf("INSERT INTO %s (bundle, version, loaded_at) VALUES ('%s', '%s', '%s')", Tables::MIGRATION_TABLE, $bundleName, $bundleVersion, $date->format('Y-m-d H:i:s')); $queries->addQuery($sql); } } }
public function testBag() { $queries = new QueryBag(); $queries->addPreQuery('query1'); $queries->addPreQuery('query2'); $queries->addPostQuery('query3'); $queries->addQuery('query4'); $this->assertEquals(['query1', 'query2'], $queries->getPreQueries()); $this->assertEquals(['query3', 'query4'], $queries->getPostQueries()); $queries->clear(); $this->assertCount(0, $queries->getPreQueries()); $this->assertCount(0, $queries->getPostQueries()); }
/** * @param QueryBag $queries * @param string $bundle * @param string $type * @param string $version */ protected function processFixtures(QueryBag $queries, $bundle, $type, $version) { if ($version && !empty($this->mappingData[$bundle][$type])) { $fixturesByVersions = $this->mappingData[$bundle][$type]; foreach ($fixturesByVersions as $fixtureVersion => $fixtures) { if (version_compare($fixtureVersion, $version, '<=')) { foreach ($fixtures as $fixture) { $queries->addPostQuery($this->getInsertFixtureSql($fixture)); } } } } }
/** * Create a foreign key constraint without check of table and columns existence. * This method can be helpful when you need to create a constraint for renamed table or column * * @param Schema $schema * @param QueryBag $queries * @param string $tableName * @param string $foreignTable * @param string[] $localColumnNames * @param string[] $foreignColumnNames * @param array $options * @param string|null $constraintName */ public function addForeignKeyConstraint(Schema $schema, QueryBag $queries, $tableName, $foreignTable, array $localColumnNames, array $foreignColumnNames, array $options = [], $constraintName = null) { if (!$constraintName) { $constraintName = $this->nameGenerator->generateForeignKeyConstraintName($tableName, $localColumnNames); } $constraint = new ForeignKeyConstraint($localColumnNames, $foreignTable, $foreignColumnNames, $constraintName, $options); $diff = new TableDiff($tableName); $diff->addedForeignKeys = [$constraintName => $constraint]; $renameQuery = new SqlMigrationQuery($this->platform->getAlterTableSQL($diff)); $queries->addQuery($renameQuery); }
/** * @inheritdoc */ public function up(Schema $schema, QueryBag $queries) { $table = $schema->createTable('test1table'); $table->addColumn('id', 'integer'); $queries->addQuery('ALTER TABLE TEST ADD COLUMN test_column INT NOT NULL'); }
/** * @inheritdoc */ public function up(Schema $schema, QueryBag $queries) { $queries->addQuery('CREATE TABLE TEST (id INT AUTO_INCREMENT NOT NULL)'); }