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)');
 }