Example #1
0
 /**
  * Adds a database to the list and sets the Schema property to this
  * Schema. The database can be specified as a Database object or a
  * DOMNode object.
  *
  * @param  Database|array $database
  * @return Database
  */
 public function addDatabase($database)
 {
     if ($database instanceof Database) {
         $platform = null;
         $database->setParentSchema($this);
         if (null === $database->getPlatform()) {
             if ($config = $this->getGeneratorConfig()) {
                 $platform = $config->getConfiguredPlatform(null, $database->getName());
             }
             $database->setPlatform($platform ? $platform : $this->platform);
         }
         $this->databases[] = $database;
         return $database;
     }
     // XML attributes array / hash
     $db = new Database();
     $db->setParentSchema($this);
     $db->loadMapping($database);
     return $this->addDatabase($db);
 }
 public function testGetBuildProperty()
 {
     $config = $this->getMock('Propel\\Generator\\Config\\GeneratorConfig');
     $config->expects($this->once())->method('getBuildProperty')->with($this->equalTo('mysqlTableType'))->will($this->returnValue('InnoDB'));
     $schema = $this->getSchemaMock('bookstore', array('generator_config' => $config));
     $database = new Database();
     $database->setParentSchema($schema);
     $this->assertSame('InnoDB', $database->getBuildProperty('mysqlTableType'));
 }
Example #3
0
 public function testGetBuildProperty()
 {
     $config = $this->getMockBuilder('Propel\\Generator\\Config\\GeneratorConfig')->disableOriginalConstructor()->getMock();
     $config->expects($this->once())->method('getConfigProperty')->with($this->equalTo('generator.database.adapters.mysql.tableType'))->will($this->returnValue('InnoDB'));
     $schema = $this->getSchemaMock('bookstore', ['generator_config' => $config]);
     $database = new Database();
     $database->setParentSchema($schema);
     $this->assertSame('InnoDB', $database->getBuildProperty('generator.database.adapters.mysql.tableType'));
 }
Example #4
0
    public function testAutoNamespaceToDatabaseSchemaName()
    {
        $yamlConf = <<<EOF
propel:
  database:
      connections:
          mysource:
              adapter: mysql
              classname: Propel\\Runtime\\Connection\\DebugPDO
              dsn: mysql:host=localhost;dbname=mydb
              user: root
              password:
  generator:
      schema:
          autoNamespace: true
EOF;
        $configFilename = sys_get_temp_dir() . '/propel.yml';
        $filesystem = new Filesystem();
        $filesystem->dumpFile($configFilename, $yamlConf);
        $schema = 'TestSchema';
        $config = new GeneratorConfig($configFilename);
        $platform = new MysqlPlatform();
        $parentSchema = new Schema($platform);
        $parentSchema->setGeneratorConfig($config);
        $db = new Database();
        $db->setPlatform($platform);
        $db->setParentSchema($parentSchema);
        $db->setSchema($schema);
        $this->assertEquals($schema, $db->getNamespace());
    }