protected function setUp() { parent::setUp(); $this->loadPropelQuickBuilder(); $schema = <<<XML <database name="default" package="vendor.bundles.Propel.PropelBundle.Tests.Fixtures.DataFixtures.Loader" namespace="Propel\\PropelBundle\\Tests\\Fixtures\\DataFixtures\\Loader" defaultIdMethod="native"> <table name="book"> <column name="id" type="integer" primaryKey="true" /> <column name="name" type="varchar" size="255" /> <column name="author_id" type="integer" required="false" defaultValue="null" /> <foreign-key foreignTable="book_author" onDelete="RESTRICT" onUpdate="CASCADE"> <reference local="author_id" foreign="id" /> </foreign-key> </table> <table name="book_author"> <column name="id" type="integer" primaryKey="true" /> <column name="name" type="varchar" size="255" /> </table> </database> XML; $builder = new \PropelQuickBuilder(); $builder->setSchema($schema); if (!class_exists('Propel\\PropelBundle\\Tests\\Fixtures\\DataFixtures\\Loader\\Book')) { $builder->setClassTargets(array('peer', 'object', 'query', 'peerstub', 'objectstub', 'querystub')); } else { $builder->setClassTargets(array()); } $this->con = $builder->build(); }
public function setUp() { parent::setUp(); $schema = file_get_contents(__DIR__ . '/../Resources/config/propel/acl_schema.xml'); $builder = new \PropelQuickBuilder(); $builder->setSchema($schema); if (!class_exists('Propel\\Bundle\\PropelAclBundle\\Model\\Acl\\map\\AclClassTableMap')) { $builder->setClassTargets(array('tablemap', 'peer', 'object', 'query')); } else { $builder->setClassTargets(array()); } $this->con = $builder->build(); }
public function setUp() { parent::setUp(); $this->loadPropelQuickBuilder(); $schema = file_get_contents(__DIR__ . '/../Fixtures/translation_schema.xml'); $builder = new \PropelQuickBuilder(); $builder->setSchema($schema); if (class_exists('Propel\\PropelBundle\\Tests\\Fixtures\\Model\\map\\TranslationTableMap')) { $builder->setClassTargets(array()); } $this->con = $builder->build(); }
protected function loadAndBuild() { $this->loadPropelQuickBuilder(); if (!class_exists('Glorpen\\Propel\\PropelBundle\\Tests\\Fixtures\\Model\\Book', false)) { $builder = new \PropelQuickBuilder(); $builder->getConfig()->setBuildProperty('behaviorEventClass', 'Behaviors.EventBehavior'); $builder->getConfig()->setBuildProperty('behaviorExtendClass', 'Behaviors.ExtendBehavior'); $builder->setSchema(static::$schema); $builder->setClassTargets(array('tablemap', 'peer', 'object', 'query', 'peerstub', 'querystub')); file_put_contents("/tmp/a.php", $builder->getClasses()); $builder->build(); $con = new EventPropelPDO('sqlite::memory:'); $con->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_WARNING); $name = $builder->getDatabase()->getName(); \Propel::setConnection($name, $con, \Propel::CONNECTION_READ); \Propel::setConnection($name, $con, \Propel::CONNECTION_WRITE); $builder->buildSQL($con); } }
public function setUp() { $this->loadPropelQuickBuilder(); $schema = <<<SCHEMA <database name="users" defaultIdMethod="native" namespace="Propel\\PropelBundle\\Tests\\Fixtures\\Model"> <table name="user"> <column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true" /> <column name="username" type="varchar" size="255" primaryString="true" /> <column name="algorithm" type="varchar" size="50" /> <column name="salt" type="varchar" size="255" /> <column name="password" type="varchar" size="255" /> <column name="expires_at" type="timestamp" /> <column name="roles" type="array" /> </table> </database> SCHEMA; $builder = new \PropelQuickBuilder(); $builder->setSchema($schema); $builder->setClassTargets(array('tablemap', 'peer', 'object', 'query', 'peerstub', 'querystub')); $builder->build(); }
public function testHydrateOverwritePreviousValues() { $schema = <<<EOF <database name="generated_object_complex_type_test_with_constructor"> <table name="complex_column_type_entity_with_constructor"> <column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> <column name="tags" type="ARRAY" /> </table> </database> EOF; $builder = new PropelQuickBuilder(); $builder->setSchema($schema); $builder->setClassTargets(array('tablemap', 'peer', 'object', 'query', 'peerstub', 'querystub')); $builder->build(); require_once dirname(__FILE__) . '/fixtures/ComplexColumnTypeEntityWithConstructor.php'; Propel::disableInstancePooling(); // need to be disabled to test the hydrate() method $obj = new ComplexColumnTypeEntityWithConstructor(); $this->assertEquals(array('foo', 'bar'), $obj->getTags()); $obj->setTags(array('baz')); $this->assertEquals(array('baz'), $obj->getTags()); $obj->save(); $obj = ComplexColumnTypeEntityWithConstructorQuery::create()->findOne(); $this->assertEquals(array('baz'), $obj->getTags()); Propel::enableInstancePooling(); }
<?php /* * This file is part of the FOSUserBundle package. * * (c) FriendsOfSymfony <http://friendsofsymfony.github.com/> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ if (!($loader = @(include __DIR__ . '/../vendor/autoload.php'))) { echo <<<EOT You need to install the project dependencies using Composer: \$ wget http://getcomposer.org/composer.phar OR \$ curl -s https://getcomposer.org/installer | php \$ php composer.phar install --dev \$ phpunit EOT; exit(1); } if (class_exists('Propel')) { set_include_path(__DIR__ . '/../vendor/phing/phing/classes' . PATH_SEPARATOR . get_include_path()); $class = new \ReflectionClass('TypehintableBehavior'); $builder = new \PropelQuickBuilder(); $builder->getConfig()->setBuildProperty('behavior.typehintable.class', $class->getFileName()); $builder->setSchema(file_get_contents(__DIR__ . '/../Resources/config/propel/schema.xml')); $builder->setClassTargets(array('tablemap', 'peer', 'object', 'query')); $builder->build(); }
/** * @return \PropelPDO */ protected function getMockPropelConnection() { if (!class_exists('Lexik\\Bundle\\TranslationBundle\\Propel\\om\\BaseFile')) { // classes are built in-memory. $builder = new \PropelQuickBuilder(); $builder->setSchema(file_get_contents(__DIR__ . '/../../Resources/config/propel/schema.xml')); $builder->setClassTargets(array('tablemap', 'peer', 'object', 'query')); $con = $builder->build(); } else { // in memory-classes already exist, create connection and SQL manually $dsn = 'sqlite::memory:'; $adapter = new \DBSQLite(); $con = new \PropelPDO($dsn, null, null); $con->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_WARNING); $name = 'default'; if (!\Propel::isInit()) { \Propel::setConfiguration(array('datasources' => array('default' => $name))); } \Propel::setDB($name, $adapter); \Propel::setConnection($name, $con, \Propel::CONNECTION_READ); \Propel::setConnection($name, $con, \Propel::CONNECTION_WRITE); // don't rebuild classes $builder = new \PropelQuickBuilder(); $builder->setSchema(file_get_contents(__DIR__ . '/../../Resources/config/propel/schema.xml')); $builder->buildSQL($con); } return $con; }
protected function loadFixtures() { $this->loadPropelQuickBuilder(); $schema = <<<XML <database name="default" package="vendor.bundles.Propel.PropelBundle.Tests.Request.DataFixtures.Loader" namespace="Propel\\PropelBundle\\Tests\\Request\\ParamConverter" defaultIdMethod="native"> <table name="my_book"> <column name="id" type="integer" primaryKey="true" /> <column name="name" type="varchar" size="255" /> <column name="my_author_id" type="integer" required="true" /> <foreign-key foreignTable="my_author" onDelete="CASCADE" onUpdate="CASCADE"> <reference local="my_author_id" foreign="id" /> </foreign-key> </table> <table name="my_author"> <column name="id" type="integer" primaryKey="true" /> <column name="name" type="varchar" size="255" /> </table> </database> XML; $builder = new \PropelQuickBuilder(); $builder->setSchema($schema); if (class_exists('Propel\\PropelBundle\\Tests\\Request\\ParamConverter\\MyAuthor')) { $builder->setClassTargets(array()); } $this->con = $builder->build(); $this->con->useDebug(true); MyBookQuery::create()->deleteAll($this->con); MyAuthorQuery::create()->deleteAll($this->con); $author = new MyAuthor(); $author->setId(10); $author->setName('Will'); $book = new MyBook(); $book->setId(1); $book->setName('PropelBook'); $book->setMyAuthor($author); $book2 = new MyBook(); $book2->setId(2); $book2->setName('sf2lBook'); $book2->setMyAuthor($author); $author->save($this->con); }