public function setUp() { if (!class_exists('\\ChildTable')) { $schema = <<<EOF <database name="composite_number_range_test"> <table name="parent_table"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <column name="name" type="VARCHAR" required="false" /> </table> <table name="child_table"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <column name="name" type="VARCHAR" size="50" required="false" /> <behavior name="\\APinnecke\\CompositeNumberRange\\CompositeNumberRangeBehavior"> <parameter name="foreignTable" value="parent_table"/> </behavior> </table> </database> EOF; $builder = new QuickBuilder(); $builder->setPlatform(new MysqlPlatform()); $builder->setSchema($schema); $builder->build('mysql:host=127.0.0.1;dbname=' . getenv('DB_NAME'), getenv('DB_USER'), getenv('DB_PASS'), new MysqlAdapter()); } $this->parent = new \ParentTable(); $this->parent->setName('test'); $this->parent->save(); $this->parent2 = new \ParentTable(); $this->parent2->setName('test2'); $this->parent2->save(); \ChildTableQuery::create()->deleteAll(); \ParentTableSequenceQuery::create()->deleteAll(); }
/** * @param string $xml * * @return Database */ public function applyXml($xml) { $this->readDatabase(); $builder = new QuickBuilder(); $builder->setPlatform($this->database->getPlatform()); $builder->setSchema($xml); $database = $builder->getDatabase(); $database->setSchema('migration'); $database->setPlatform($this->database->getPlatform()); $diff = DatabaseComparator::computeDiff($this->database, $database); if (false === $diff) { return null; } $sql = $this->database->getPlatform()->getModifyDatabaseDDL($diff); $this->con->beginTransaction(); $statements = SqlParser::parseString($sql); foreach ($statements as $statement) { try { $stmt = $this->con->prepare($statement); $stmt->execute(); } catch (\Exception $e) { $this->con->rollBack(); throw new BuildException(sprintf("Can not execute SQL: \n%s\nFrom database: \n%s\n\nTo database: \n%s\n", $statement, $this->database, $database), null, $e); } } $this->con->commit(); return $database; }
/** * @param string $xml * * @return Database|boolean */ public function applyXml($xml, $changeRequired = false) { $this->readDatabase(); $builder = new QuickBuilder(); $builder->setIdentifierQuoting(true); $builder->setPlatform($this->database->getPlatform()); $builder->setSchema($xml); $database = $builder->getDatabase(); $database->setSchema('migration'); $database->setPlatform($this->database->getPlatform()); $diff = DatabaseComparator::computeDiff($this->database, $database); if (false === $diff) { if ($changeRequired) { throw new BuildException(sprintf("No changes in schema to current database: \nSchema database:\n%s\n\nCurrent Database:\n%s", $database, $this->database)); } return false; } $sql = $this->database->getPlatform()->getModifyDatabaseDDL($diff); $this->con->beginTransaction(); if (!$sql) { throw new BuildException(sprintf('Ooops. There is a diff between current database and schema xml but no SQL has been generated. Change: %s', $diff)); } $statements = SqlParser::parseString($sql); foreach ($statements as $statement) { try { $stmt = $this->con->prepare($statement); $stmt->execute(); } catch (\Exception $e) { throw new BuildException(sprintf("Can not execute SQL: \n%s\nFrom database: \n%s\n\nTo database: \n%s\n", $statement, $this->database, $database), null, $e); } } $this->con->commit(); return $database; }
public function setUp() { if (!class_exists('\\Issue656TestObject')) { $schema = <<<EOF <database> <table name="issue_656_test_object"> <column name="ID" type="INTEGER" size="10" sqlType="int(10) unsigned" primaryKey="true" required="true" autoIncrement="true"/> <column name="Name" type="VARCHAR" size="45" required="true"/> </table> <table name="issue_656_test_object_from" isCrossRef="true"> <column name="From" type="INTEGER" size="10" sqlType="int(10) unsigned" primaryKey="true" required="true"/> <column name="To" type="INTEGER" size="10" sqlType="int(10) unsigned" primaryKey="true" required="true"/> <foreign-key name="fk_test_object_from" foreignTable="issue_656_test_object"> <reference local="From" foreign="ID"/> </foreign-key> <foreign-key name="fk_test_object_to" foreignTable="issue_656_test_object"> <reference local="To" foreign="ID"/> </foreign-key> </table> </database> EOF; $builder = new QuickBuilder(); $builder->setSchema($schema); $builder->buildClasses(null, true); } }
public function setUp() { parent::setUp(); $schema = file_get_contents(__DIR__ . '/../Resources/acl_schema.xml'); if (!class_exists('Propel\\Bundle\\PropelBundle\\Model\\Acl\\Map\\AclClassTableMap')) { $classTargets = array('tablemap', 'object', 'query'); } else { $classTargets = array(); } $builder = new QuickBuilder(); $builder->setSchema($schema); $this->con = $builder->build($dsn = null, $user = null, $pass = null, $adapter = null, $classTargets); }
public function setUp() { if (!class_exists('MyNameSpace\\ComplexColumnTypeEntitySet')) { $schema = <<<EOF <database name="generated_object_complex_type_test_set" namespace="MyNameSpace"> <table name="complex_column_type_entity_set"> <column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> <column name="tags" type="SET" valueSet="foo, bar, baz, 1, 4,(, foo bar " /> <column name="bar" type="SET" valueSet="foo, bar" /> <column name="defaults" type="SET" valueSet="foo, bar, foo baz" defaultValue="bar" /> <column name="bears" type="SET" valueSet="foo, bar, baz, kevin" defaultValue="bar, baz" /> </table> </database> EOF; QuickBuilder::buildSchema($schema); // ok this is hackish but it makes testing of getter and setter independent of each other $publicAccessorCode = <<<EOF class PublicComplexColumnTypeEntitySet extends MyNameSpace\\ComplexColumnTypeEntitySet { public \$bar; public \$tags; } EOF; eval($publicAccessorCode); } ComplexColumnTypeEntitySetTableMap::doDeleteAll(); }
public function setUp() { parent::setUp(); if (!class_exists('ConcreteInheritanceBehaviorWithBehaviorExclusionTest\\ConcreteInheritanceParentQuery')) { $schema = <<<EOF <database name="concrete_inheritance_behavior_exclusion" namespace="ConcreteInheritanceBehaviorWithBehaviorExclusionTest"> <table name="concrete_inheritance_parent" allowPkInsert="true"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <column name="title" type="VARCHAR" size="100" primaryString="true" /> <behavior name="sluggable"> <parameter name="scope_column" value="title" /> </behavior> <behavior name="timestampable" /> <index> <index-column name="title" /> </index> </table> <table name="concrete_inheritance_child" allowPkInsert="true"> <column name="body" type="longvarchar" /> <column name="author_id" required="false" type="INTEGER" /> <behavior name="concrete_inheritance"> <parameter name="extends" value="concrete_inheritance_parent" /> <parameter name="copy_data_to_child" value="slug" /> <parameter name="exclude_behaviors" value="sluggable" /> </behavior> </table> </database> EOF; QuickBuilder::buildSchema($schema); } }
public function setUp() { if (!class_exists('\\Issue733Test1')) { $schema = <<<EOF <database name="issue_733_test"> <table name="issue_733_test_1"> <column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> <column name="foo" type="INTEGER" /> <column name="bar" type="VARCHAR" size="100" /> <behavior name="i18n"> <parameter name="i18n_columns" value="bar" /> <parameter name="locale_column" value="language" /> </behavior> </table> <table name="issue_733_test_2"> <column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> <column name="foo" type="INTEGER" /> <column name="bar" type="VARCHAR" size="100" /> <behavior name="i18n"> <parameter name="i18n_columns" value="bar" /> <parameter name="locale_column" value="language" /> <parameter name="locale_alias" value="culture" /> </behavior> </table> </database> EOF; $this->con = QuickBuilder::buildSchema($schema); } }
public function setUp() { if (!class_exists('\\OptimisticLockingTable')) { $schema = <<<EOF <database name="optimistic_locker_behavior_test"> <table name="optimistic_locking_table"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <column name="title" type="VARCHAR" size="100" primaryString="true" /> <column name="age" type="INTEGER" /> <column name="related_id" type="INTEGER" /> <behavior name="MJS\\OptimisticLocking\\OptimisticLockingBehavior" /> <foreign-key foreignTable="optimistic_locking_related_table"> <reference local="related_id" foreign="id" /> </foreign-key> </table> <table name="optimistic_locking_related_table"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <column name="name" type="VARCHAR" size="100" primaryString="true" /> </table> <table name="optimistic_locking_versionable_table"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <column name="title" type="VARCHAR" size="100" primaryString="true" /> <column name="age" type="INTEGER" /> <column name="related_id" type="INTEGER" /> <behavior name="MJS\\OptimisticLocking\\OptimisticLockingBehavior" /> <behavior name="versionable" /> </table> </database> EOF; QuickBuilder::buildSchema($schema); } }
public function setUp() { if (!class_exists('\\I18nBehaviorTest11')) { $schema = <<<EOF <database name="i18n_behavior_test_10" identifierQuoting="true"> <table name="i18n_behavior_test_11"> <column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> <column name="foo" type="INTEGER" /> <column name="bar" type="VARCHAR" size="100" /> <behavior name="i18n"> <parameter name="i18n_columns" value="bar" /> </behavior> </table> <table name="i18n_behavior_test_12"> <column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> <column name="foo" type="INTEGER" /> <column name="bar1" type="VARCHAR" size="100" /> <column name="bar2" type="LONGVARCHAR" lazyLoad="true" /> <column name="bar3" type="TIMESTAMP" /> <column name="bar4" type="LONGVARCHAR" description="This is the Bar4 column" /> <behavior name="i18n"> <parameter name="i18n_columns" value="bar1,bar2,bar3,bar4" /> <parameter name="default_locale" value="fr_FR" /> <parameter name="locale_alias" value="culture" /> </behavior> </table> </database> EOF; QuickBuilder::buildSchema($schema); } }
public function setUp() { $this->c1 = new FooColumnValue2(); $this->c1->bar = 1234; $this->c2 = new FooColumnValue2(); $this->c2->bar = 5678; if (!class_exists('ComplexColumnTypeEntity10')) { $schema = <<<EOF <database name="generated_query_complex_type_test_10"> <table name="complex_column_type_entity_10"> <column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> <column name="bar" type="OBJECT" /> </table> </database> EOF; QuickBuilder::buildSchema($schema); $e0 = new \ComplexColumnTypeEntity10(); $e0->save(); $e1 = new \ComplexColumnTypeEntity10(); $e1->setBar($this->c1); $e1->save(); $e2 = new \ComplexColumnTypeEntity10(); $e2->setBar($this->c2); $e2->save(); \ComplexColumnTypeEntity10Peer::clearInstancePool(); } }
public function testObjectColumnType() { $schema = <<<EOF <database name="generated_object_complex_type_test_1"> <table name="complex_column_type_entity_1"> <column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> <column name="bar" type="OBJECT" /> </table> </database> EOF; QuickBuilder::buildSchema($schema); $e = new \ComplexColumnTypeEntity1(); $this->assertNull($e->getBar(), 'object columns are null by default'); $c = new FooColumnValue(); $c->bar = 1234; $e->setBar($c); $this->assertEquals($c, $e->getBar(), 'object columns can store objects'); $e->setBar(null); $this->assertNull($e->getBar(), 'object columns are nullable'); $e->setBar($c); $e->save(); \ComplexColumnTypeEntity1Peer::clearInstancePool(); $e = \ComplexColumnTypeEntity1Query::create()->findOne(); $this->assertEquals($c, $e->getBar(), 'object columns are persisted'); }
public function setUp() { if (!class_exists('\\Base\\Issue1033Book')) { $schema = <<<EOF <database> <table name="Issue1033Book"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" description="Book Id" /> <column name="title" type="VARCHAR" required="true" description="Book Title" primaryString="true" /> </table> </database> EOF; $builder = new QuickBuilder(); $builder->setSchema($schema); $builder->buildClasses(null, true); } }
public function setUp() { if (!class_exists('\\ComplexColumnTypeEntity11')) { $schema = <<<EOF <database name="generated_object_complex_type_test_11"> <table name="complex_column_type_entity_11"> <column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> <column name="tags" type="ARRAY" /> <column name="value_set" type="ARRAY" /> </table> </database> EOF; QuickBuilder::buildSchema($schema); $e0 = new \ComplexColumnTypeEntity11(); $e0->save(); $e1 = new \ComplexColumnTypeEntity11(); $e1->setTags(array('foo', 'bar', 'baz')); $e1->save(); $e2 = new \ComplexColumnTypeEntity11(); $e2->setTags(array('bar')); $e2->save(); $e3 = new \ComplexColumnTypeEntity11(); $e3->setTags(array('bar23')); $e3->save(); } }
protected function setUp() { parent::setUp(); if (!class_exists('\\Nature')) { $schema = ' <database> <table name="recherche" phpName="Recherche"> <column name="id" type="integer" primaryKey="true" autoIncrement="true"/> </table> <table name="recherche_nature" phpName="RechercheNature" isCrossRef="true"> <column name="recherche_id" type="integer" primaryKey="true"/> <column name="nature_id" type="integer" primaryKey="true"/> <foreign-key foreignTable="recherche" onDelete="cascade"> <reference local="recherche_id" foreign="id"/> </foreign-key> <foreign-key foreignTable="nature"> <reference local="nature_id" foreign="id"/> </foreign-key> </table> <table name="nature" phpName="Nature"> <column name="id" type="integer" primaryKey="true" autoIncrement="true"/> </table> </database> '; QuickBuilder::buildSchema($schema); } }
public function setUp() { parent::setUp(); if (!class_exists('ConcreteContentSetPkQuery')) { $schema = <<<EOF <database name="concrete_content_set_pk"> <table name="concrete_content_set_pk" allowPkInsert="true"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <column name="title" type="VARCHAR" size="100" primaryString="true" /> <index> <index-column name="title" /> </index> </table> <table name="concrete_article_set_pk" allowPkInsert="true"> <column name="body" type="longvarchar" /> <column name="author_id" required="false" type="INTEGER" /> <behavior name="concrete_inheritance"> <parameter name="extends" value="concrete_content_set_pk" /> </behavior> </table> </database> EOF; QuickBuilder::buildSchema($schema); } }
public function setUp() { if (!class_exists('\\ChangeloggerBehaviorSingle')) { $schema = <<<EOF <database name="changelogger_behavior_test"> <table name="changelogger_behavior_single"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <column name="title" type="VARCHAR" size="100" primaryString="true" /> <column name="age" type="INTEGER" /> <behavior name="MJS\\ChangeLogger\\ChangeLoggerBehavior"> <parameter name="log" value="title"/> <parameter name="comment" value="true"/> <parameter name="created_by" value="true"/> </behavior> </table> <table name="changelogger_behavior_multiple"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <column name="title" type="VARCHAR" size="100" primaryString="true" /> <column name="age" type="INTEGER" /> <behavior name="MJS\\ChangeLogger\\ChangeLoggerBehavior"> <parameter name="log" value="title, age"/> </behavior> </table> </database> EOF; QuickBuilder::buildSchema($schema); } }
public function setUp() { if (!class_exists('NestedSetTable9')) { $schema = <<<XML <database name="bookstore-behavior" defaultIdMethod="native"> <table name="nested_set_table9"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <column name="title" type="VARCHAR" size="100" primaryString="true" /> <behavior name="nested_set" /> </table> <table name="nested_set_table10"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <column name="title" type="VARCHAR" size="100" primaryString="true" /> <column name="my_left_column" type="INTEGER" required="false"/> <column name="my_right_column" type="INTEGER" required="false"/> <column name="my_level_column" type="INTEGER" required="false"/> <column name="my_scope_column" type="INTEGER" required="false"/> <behavior name="nested_set"> <parameter name="left_column" value="my_left_column" /> <parameter name="right_column" value="my_right_column" /> <parameter name="level_column" value="my_level_column" /> <parameter name="use_scope" value="true" /> <parameter name="scope_column" value="my_scope_column" /> <parameter name="method_proxies" value="true" /> </behavior> </table> </database> XML; $this->con = QuickBuilder::buildSchema($schema); } }
public function setUp() { if (!class_exists('\\ComplexColumnTypeEntitySet2')) { $schema = <<<EOF <database name="generated_object_complex_type_test_set_2"> <table name="complex_column_type_entity_set_2"> <column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> <column name="tags" valueSet="foo, bar, baz, bar23" type="SET" /> <column name="value_set" valueSet="foo, bar, baz, kevin" type="SET" /> </table> </database> EOF; QuickBuilder::buildSchema($schema); $e0 = new \ComplexColumnTypeEntitySet2(); $e0->save(); $e1 = new \ComplexColumnTypeEntitySet2(); $e1->setTags(['foo', 'bar', 'baz']); $e1->save(); $e2 = new \ComplexColumnTypeEntitySet2(); $e2->setTags(['bar']); $e2->save(); $e3 = new \ComplexColumnTypeEntitySet2(); $e3->setTags(['bar23']); $e3->save(); } }
public function setUp() { if (!class_exists('\\ArchivableTest100')) { $schema = <<<EOF <database name="archivable_behavior_test_100"> <table name="archivable_test_100"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <column name="title" type="VARCHAR" size="100" primaryString="true" /> <column name="age" type="INTEGER" /> <column name="foo_id" type="INTEGER" /> <foreign-key foreignTable="archivable_test_200"> <reference local="foo_id" foreign="id" /> </foreign-key> <index> <index-column name="title" /> <index-column name="age" /> </index> <behavior name="archivable" /> </table> <table name="archivable_test_200"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <column name="title" type="VARCHAR" size="100" primaryString="true" /> <behavior name="archivable" /> </table> <table name="archivable_test_200_archive"> <column name="id" required="true" primaryKey="true" type="INTEGER" /> <column name="title" type="VARCHAR" size="100" primaryString="true" /> </table> <table name="archivable_test_300"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <column name="title" type="VARCHAR" size="100" primaryString="true" /> <column name="age" type="INTEGER" /> <column name="foo_id" type="INTEGER" /> <behavior name="archivable"> <parameter name="log_archived_at" value="false" /> <parameter name="archive_table" value="my_old_archivable_test_300" /> <parameter name="archive_on_insert" value="true" /> <parameter name="archive_on_update" value="true" /> <parameter name="archive_on_delete" value="false" /> </behavior> </table> <table name="archivable_test_400"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <column name="title" type="VARCHAR" size="100" primaryString="true" /> <column name="age" type="INTEGER" /> <behavior name="archivable"> <parameter name="archive_class" value="\\Propel\\Tests\\Generator\\Behavior\\Archivable\\FooArchive" /> </behavior> </table> </database> EOF; QuickBuilder::buildSchema($schema); } }
protected function setUp() { parent::setUp(); if (!class_exists('Propel\\Bundle\\PropelBundle\\Tests\\Fixtures\\DataFixtures\\Loader\\CoolBook')) { $schema = <<<XML <database name="default" package="vendor.bundles.Propel.Bundle.PropelBundle.Tests.Fixtures.DataFixtures.Loader" namespace="Propel\\Bundle\\PropelBundle\\Tests\\Fixtures\\DataFixtures\\Loader" defaultIdMethod="native"> <table name="cool_book"> <column name="id" type="integer" primaryKey="true" /> <column name="name" type="varchar" size="255" /> <column name="description" type="varchar" /> <column name="author_id" type="integer" required="false" defaultValue="null" /> <column name="complementary_infos" required="false" type="object" description="An object column" /> <foreign-key foreignTable="cool_book_author" onDelete="CASCADE" onUpdate="CASCADE"> <reference local="author_id" foreign="id" /> </foreign-key> </table> <table name="cool_book_author"> <column name="id" type="integer" primaryKey="true" /> <column name="name" type="varchar" size="255" /> </table> </database> XML; QuickBuilder::buildSchema($schema); } $this->con = Propel::getServiceContainer()->getConnection('default'); $this->con->beginTransaction(); }
public function setUp() { if (!class_exists('TableWithStateMachineBehavior')) { $schema = <<<EOF <database name="state_machine_behavior" defaultIdMethod="native"> <table name="table_with_state_machine_behavior"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <behavior name="state_machine"> <parameter name="states" value="draft, unpublished, published" /> <parameter name="initial_state" value="draft" /> <parameter name="transition" value="draft to published with publish" /> <parameter name="transition" value="published to unpublished with unpublish" /> <parameter name="transition" value="unpublished to published with publish" /> <parameter name="state_column" value="state" /> </behavior> </table> <table name="table_with_state_machine_behavior_with_custom_column"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <behavior name="state_machine"> <parameter name="states" value="draft, published, not_yEt_published, flagged" /> <parameter name="initial_state" value="draft" /> <parameter name="transition" value="draft to published with publish" /> <parameter name="transition" value="published to not_yet_published with unpublish" /> <parameter name="transition" value="not_yEt_published to published with publish" /> <parameter name="transition" value="not_yEt_published to flagged with flag_for_publish" /> <parameter name="transition" value="flagged to published with publish" /> <parameter name="state_column" value="my_state" /> </behavior> </table> </database> EOF; $builder = new QuickBuilder(); $config = $builder->getConfig(); $builder->setConfig($config); $builder->setSchema($schema); $builder->build(); } }
private function checkDeletedFk() { $this->readDatabase(); $diff = DatabaseComparator::computeDiff($this->database, $this->updatedBuilder->getDatabase()); $sql = $this->database->getPlatform()->getModifyDatabaseDDL($diff); $expected = 'issue617_user'; $this->assertNotContains($expected, $sql); }
public function testValidateReturnsTrueForValidSchema() { $schema = <<<EOF <database name="bookstore"> <table name="book"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <column name="title" type="VARCHAR" size="100" primaryString="true" /> </table> </database> EOF; $builder = new QuickBuilder(); $builder->setSchema($schema); $database = $builder->getDatabase(); $appData = new AppData(); $appData->addDatabase($database); $validator = new SchemaValidator($appData); $this->assertTrue($validator->validate()); }
public function setUp() { $schema = <<<SCHEMA <database name="users" defaultIdMethod="native" namespace="Propel\\Bundle\\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 QuickBuilder(); $builder->setSchema($schema); $classTargets = array('tablemap', 'object', 'query', 'querystub'); $this->con = $builder->build($dsn = null, $user = null, $pass = null, $adapter = null, $classTargets); }
public function setUp() { if (!class_exists('\\I18nBehaviorTest1')) { $schema = <<<EOF <database name="i18n_behavior_test_1"> <table name="i18n_behavior_test_1"> <column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> <column name="foo" type="INTEGER" /> <column name="bar" type="VARCHAR" size="100" /> <behavior name="i18n"> <parameter name="i18n_columns" value="bar" /> </behavior> </table> <table name="i18n_behavior_test_2"> <column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> <column name="foo" type="INTEGER" /> <column name="bar1" type="VARCHAR" size="100" /> <column name="bar2" type="LONGVARCHAR" lazyLoad="true" /> <column name="bar3" type="TIMESTAMP" /> <column name="bar4" type="LONGVARCHAR" description="This is the Bar4 column" /> <behavior name="i18n"> <parameter name="i18n_columns" value="bar1,bar2,bar3,bar4" /> <parameter name="default_locale" value="fr_FR" /> <parameter name="locale_alias" value="culture" /> </behavior> </table> <table name="movie"> <column name="id" type="integer" required="true" primaryKey="true" autoincrement="true" /> <column name="director" type="varchar" size="255" /> <column name="title" type="varchar" primaryString="true" /> <behavior name="i18n"> <parameter name="i18n_columns" value="title" /> <parameter name="locale_alias" value="culture" /> </behavior> </table> <table name="toy"> <column name="id" type="integer" required="true" primaryKey="true" autoincrement="true" /> <column name="ref" type="varchar" size="255" /> <column name="name" type="varchar" size="255" /> <behavior name="i18n"> <parameter name="i18n_columns" value="name" /> <parameter name="locale_alias" value="culture" /> </behavior> <column name="movie_id" type="integer" /> <foreign-key foreignTable="movie"> <reference local="movie_id" foreign="id" /> </foreign-key> </table> </database> EOF; QuickBuilder::buildSchema($schema); } }
public function testNamespace() { $schema = <<<EOF <?xml version="1.0" encoding="utf-8"?> <database name="default" defaultIdMethod="native" namespace="Tests\\Issue730\\"> <table name="issue730_group" idMethod="native" phpName="Group"> <column name="id" phpName="Id" type="INTEGER" primaryKey="true" required="true"/> <column name="name" phpName="Name" type="VARCHAR" size="100" required="true"/> </table> <table name="issue730_department_group" idMethod="native" phpName="Group" namespace="\\Tests\\Issue730\\Department"> <column name="id" phpName="Id" type="INTEGER" primaryKey="true" autoIncrement="true" required="true"/> <column name="name" type="VARCHAR" size="100" required="true"/> <column name="group_id" phpName="GroupId" type="INTEGER"/> <foreign-key foreignTable="issue730_group" phpName="Group" refPhpName="DepartmentGroup"> <reference local="group_id" foreign="id"/> </foreign-key> </table> </database> EOF; $quickBuilder = new QuickBuilder(); $quickBuilder->setSchema($schema); $quickBuilder->setIdentifierQuoting(true); $platform = new SqlitePlatform(); $quickBuilder->setPlatform($platform); $quickBuilder->build(); $groupA = new \Tests\Issue730\Group(); $groupA->setName('groupA'); $departmentGroup = new \Tests\Issue730\Department\Group(); $departmentGroup->setName('my department'); $departmentGroup->setGroup($groupA); $this->assertEquals($groupA, $departmentGroup->getGroup()); $departmentGroups = $groupA->getDepartmentGroups(); $this->assertCount(1, $departmentGroups); $this->assertEquals($departmentGroup, $departmentGroups->getFirst()); $groupA->save(); $departmentGroups = \Tests\Issue730\Department\GroupQuery::create()->filterByGroup($groupA)->find(); $this->assertCount(1, $departmentGroups); $this->assertEquals($departmentGroup, $departmentGroups->getFirst()); $this->assertEquals('my department', $departmentGroups->getFirst()->getName()); }
public function setUp() { if (!class_exists('Foo\\MyClassWithInterface')) { $schema = <<<EOF <database name="a-database" namespace="Foo"> <table name="my_class_with_interface" interface="MyInterface"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <column name="name" type="VARCHAR" /> </table> </database> EOF; QuickBuilder::buildSchema($schema); } }
public function setup() { if (!class_exists('ComplexColumnTypeEntity1')) { $schema = <<<EOF <database name="generated_object_complex_type_test_1"> <table name="complex_column_type_entity_1"> <column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> <column name="bar" type="OBJECT" /> </table> </database> EOF; QuickBuilder::buildSchema($schema); } }
public function setUp() { if (!class_exists('ComplexColumnTypeEntity103')) { $schema = <<<EOF <database name="generated_object_complex_type_test_103"> <table name="complex_column_type_entity_103"> <column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> <column name="bar" type="ENUM" valueSet="foo, bar, baz, 1, 4,(, foo bar " /> </table> </database> EOF; QuickBuilder::buildSchema($schema); } }