public function setUp() { if (!class_exists('Post')) { $schema = <<<EOF <database name="lockable_behavior" defaultIdMethod="native"> <table name="post"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <column name="title" type="varchar" size="255" /> <column name="description" type="longvarchar" /> <behavior name="lockable"> <parameter name="apply_to" value="title, description" /> <parameter name="with_description" value="true" /> </behavior> </table> </database> EOF; $builder = new PropelQuickBuilder(); $config = $builder->getConfig(); $config->setBuildProperty('behavior.visibility.class', '../src/LockableBehavior'); $builder->setConfig($config); $builder->setSchema($schema); $builder->build(); } }
protected function createBuilder() { $builder = new PropelQuickBuilder(); $builder->setPlatform(new PgsqlPlatform()); $builder->setSchema($this->getXMLSchema()); return $builder; }
public function setUp() { $tables = array('Post' => <<<EOF <database name="event_dispatcher_behavior" defaultIdMethod="native"> <table name="post"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <column name="name" type="VARCHAR" required="true" /> <behavior name="event_dispatcher" /> </table> </database> EOF , 'Thread' => <<<EOF <database name="event_dispatcher_behavior2" defaultIdMethod="native"> <table name="thread"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <column name="text" type="VARCHAR" required="true" /> <column name="allowed" type="boolean" required="true" defaultValue="false" /> <behavior name="event_dispatcher" /> </table> </database> EOF ); foreach ($tables as $className => $schema) { if (!class_exists($className)) { $builder = new PropelQuickBuilder(); $config = $builder->getConfig(); $config->setBuildProperty('behavior.event_dispatcher.class', '../src/EventDispatcherBehavior'); $builder->setConfig($config); $builder->setSchema($schema); $builder->build(); } } }
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="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="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()); } $this->con = $builder->build(); }
protected function getBuilder($schema) { $builder = new PropelQuickBuilder(); $config = $builder->getConfig(); $config->setBuildProperty('behavior.equal_nest.class', '../src/EqualNestBehavior'); $builder->setConfig($config); $builder->setSchema($schema); return $builder; }
public function testYamlLoadManyToMany() { $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" phpName="YamlManyToManyBook"> <column name="id" type="integer" primaryKey="true" /> <column name="name" type="varchar" size="255" /> </table> <table name="author" phpName="YamlManyToManyAuthor"> <column name="id" type="integer" primaryKey="true" /> <column name="name" type="varchar" size="255" /> </table> <table name="book_author" phpName="YamlManyToManyBookAuthor"> <column name="book_id" type="integer" required="true" primaryKey="true" /> <column name="author_id" type="integer" required="true" primaryKey="true" /> <foreign-key foreignTable="book" phpName="Book" onDelete="CASCADE" onUpdate="CASCADE"> <reference local="book_id" foreign="id" /> </foreign-key> <foreign-key foreignTable="author" phpName="Author" onDelete="CASCADE" onUpdate="CASCADE"> <reference local="author_id" foreign="id" /> </foreign-key> </table> </database> XML; $fixtures = <<<YAML Propel\\PropelBundle\\Tests\\Fixtures\\DataFixtures\\Loader\\YamlManyToManyAuthor: Author_1: name: 'A famous one' Propel\\PropelBundle\\Tests\\Fixtures\\DataFixtures\\Loader\\YamlManyToManyBook: Book_1: name: 'An important one' Propel\\PropelBundle\\Tests\\Fixtures\\DataFixtures\\Loader\\YamlManyToManyBookAuthor: BookAuthor_1: book_id: Book_1 author_id: Author_1 YAML; $filename = $this->getTempFile($fixtures); $builder = new \PropelQuickBuilder(); $builder->setSchema($schema); $con = $builder->build(); $loader = new YamlDataLoader(__DIR__ . '/../../Fixtures/DataFixtures/Loader'); $loader->load(array($filename), 'default'); $books = \Propel\PropelBundle\Tests\Fixtures\DataFixtures\Loader\YamlManyToManyBookPeer::doSelect(new \Criteria(), $con); $this->assertCount(1, $books); $this->assertInstanceOf('Propel\\PropelBundle\\Tests\\Fixtures\\DataFixtures\\Loader\\YamlManyToManyBook', $books[0]); $authors = \Propel\PropelBundle\Tests\Fixtures\DataFixtures\Loader\YamlManyToManyAuthorPeer::doSelect(new \Criteria(), $con); $this->assertCount(1, $authors); $this->assertInstanceOf('Propel\\PropelBundle\\Tests\\Fixtures\\DataFixtures\\Loader\\YamlManyToManyAuthor', $authors[0]); $bookAuthors = \Propel\PropelBundle\Tests\Fixtures\DataFixtures\Loader\YamlManyToManyBookAuthorPeer::doSelect(new \Criteria(), $con); $this->assertCount(1, $bookAuthors); $this->assertInstanceOf('Propel\\PropelBundle\\Tests\\Fixtures\\DataFixtures\\Loader\\YamlManyToManyBookAuthor', $bookAuthors[0]); }
public function setUp() { $this->schema = <<<EOF <database name="bookstore" defaultIdMethod="native"> <table name="typehinted_object"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <column name="name" type="VARCHAR" size="100" primaryString="true" /> <column name="roles" type="array" /> <behavior name="typehintable"> <parameter name="roles" value="array" /> </behavior> </table> <table name="typehinted_user"> <column name="id" type="INTEGER" primaryKey="true" autoIncrement="true"/> <column name="name" type="VARCHAR" size="32"/> <column name="catched_exception" type="OBJECT" /> <column name="foo" type="OBJECT" /> <behavior name="typehintable"> <parameter name="typehinted_group" value="BaseTypehintedGroup" /> <parameter name="catched_exception" value="Exception" /> <parameter name="foo" value="TypehintedUser" /> <parameter name="nullable_columns" value="foo, catched_exception" /> </behavior> </table> <table name="typehinted_group"> <column name="id" type="INTEGER" primaryKey="true" autoIncrement="true"/> <column name="name" type="VARCHAR" size="32"/> </table> <table name="typehinted_user_group" isCrossRef="true"> <column name="user_id" type="INTEGER" primaryKey="true"/> <column name="group_id" type="INTEGER" primaryKey="true"/> <foreign-key foreignTable="typehinted_user"> <reference local="user_id" foreign="id"/> </foreign-key> <foreign-key foreignTable="typehinted_group"> <reference local="group_id" foreign="id"/> </foreign-key> </table> </database> EOF; if (!class_exists('TypehintedObject')) { $builder = new PropelQuickBuilder(); $config = $builder->getConfig(); $config->setBuildProperty('behavior.typehintable.class', __DIR__ . '/../src/TypehintableBehavior'); $builder->setConfig($config); $builder->setSchema($this->schema); $builder->build(); } }
protected function simpleBuild($SchemaFile, $Namespace) { $XML = $this->LoadSchema($SchemaFile, $Namespace); $builder = new \PropelQuickBuilder(); $config = $builder->getConfig(); $config->setBuildProperty('behaviorCacheableClass', 'RickySu\\CacheableBehaviorBundle\\Behavior\\CacheableBehavior'); $builder->setConfig($config); $builder->setSchema($XML); $builder->build(); }
protected function assertEmptyBuilderOutput($schema) { $builder = new PropelQuickBuilder(); $builder->setSchema($schema); ob_start(); $builder->buildClasses(); $output = preg_replace('/[\\r\\n]/', '', ob_get_contents()); ob_end_clean(); $this->assertEquals('', $output); }
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(); }
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 testIndex() { $updatedSchema = ' <database> <table name="notification"> <column autoIncrement="true" name="id" primaryKey="true" required="true" type="INTEGER" /> <column name="target_user_id" required="true" type="INTEGER" /> <column name="notification_type_unique_name" required="true" size="255" type="VARCHAR" /> <column name="group_id" type="INTEGER" /> <column name="date" required="true" type="TIMESTAMP" /> <column name="objects" type="LONGVARCHAR" /> <column name="is_new" defaultValue="1" required="true" type="BOOLEAN" /> <foreign-key foreignTable="notification_type" name="FK_NOTIFICATION_TYPENOTIFICATION0"> <reference foreign="unique_name" local="notification_type_unique_name" /> </foreign-key> <index name="FK_NOTIFICATION_TARGET_USER"> <index-column name="target_user_id" /> </index> <index name="FK_NOTIFICATION_TYPENOTIFICATION"> <index-column name="notification_type_unique_name" /> </index> </table> <table name="notification_type"> <column name="module_unique_name" primaryKey="true" required="true" size="255" type="VARCHAR" /> <column name="unique_name" primaryKey="true" required="true" size="255" type="VARCHAR" /> <column name="is_correction" defaultValue="0" required="true" type="BOOLEAN" /> <column name="disabled_engine" size="255" type="VARCHAR" /> <foreign-key foreignTable="module" name="FK_TYPENOTIFICATION_MODULE0" onDelete="CASCADE" onUpdate="CASCADE"> <reference foreign="unique_name" local="module_unique_name" /> </foreign-key> <index name="FK_TYPENOTIFICATION_MODULE"> <index-column name="module_unique_name" /> </index> </table> <table name="module"> <column autoIncrement="true" name="id" primaryKey="true" required="true" type="INTEGER" /> <column name="unique_name" required="true" size="255" type="VARCHAR" /> <column name="label" primaryString="true" required="true" size="255" type="VARCHAR" /> <column name="description" required="true" size="255" type="VARCHAR" /> </table> </database> '; $actual = "\n# This is a fix for InnoDB in MySQL >= 4.1.x\n# It \"suspends judgement\" for fkey relationships until are tables are set.\nSET FOREIGN_KEY_CHECKS = 0;\n\n-- ---------------------------------------------------------------------\n-- notification\n-- ---------------------------------------------------------------------\n\nDROP TABLE IF EXISTS `notification`;\n\nCREATE TABLE `notification`\n(\n `id` INTEGER NOT NULL AUTO_INCREMENT,\n `target_user_id` INTEGER NOT NULL,\n `notification_type_unique_name` VARCHAR(255) NOT NULL,\n `group_id` INTEGER,\n `date` DATETIME NOT NULL,\n `objects` TEXT,\n `is_new` TINYINT(1) DEFAULT 1 NOT NULL,\n PRIMARY KEY (`id`),\n INDEX `FK_NOTIFICATION_TARGET_USER` (`target_user_id`),\n INDEX `FK_NOTIFICATION_TYPENOTIFICATION` (`notification_type_unique_name`),\n CONSTRAINT `FK_NOTIFICATION_TYPENOTIFICATION0`\n FOREIGN KEY (`notification_type_unique_name`)\n REFERENCES `notification_type` (`unique_name`)\n) ENGINE=InnoDb;\n\n-- ---------------------------------------------------------------------\n-- notification_type\n-- ---------------------------------------------------------------------\n\nDROP TABLE IF EXISTS `notification_type`;\n\nCREATE TABLE `notification_type`\n(\n `module_unique_name` VARCHAR(255) NOT NULL,\n `unique_name` VARCHAR(255) NOT NULL,\n `is_correction` TINYINT(1) DEFAULT 0 NOT NULL,\n `disabled_engine` VARCHAR(255),\n PRIMARY KEY (`module_unique_name`,`unique_name`),\n INDEX `FK_TYPENOTIFICATION_MODULE` (`module_unique_name`),\n INDEX `I_referenced_FK_NOTIFICATION_TYPENOTIFICATION0_1` (`unique_name`),\n CONSTRAINT `FK_TYPENOTIFICATION_MODULE0`\n FOREIGN KEY (`module_unique_name`)\n REFERENCES `module` (`unique_name`)\n ON UPDATE CASCADE\n ON DELETE CASCADE\n) ENGINE=InnoDb;\n\n-- ---------------------------------------------------------------------\n-- module\n-- ---------------------------------------------------------------------\n\nDROP TABLE IF EXISTS `module`;\n\nCREATE TABLE `module`\n(\n `id` INTEGER NOT NULL AUTO_INCREMENT,\n `unique_name` VARCHAR(255) NOT NULL,\n `label` VARCHAR(255) NOT NULL,\n `description` VARCHAR(255) NOT NULL,\n PRIMARY KEY (`id`)\n) ENGINE=InnoDb;\n\n# This restores the fkey checks, after having unset them earlier\nSET FOREIGN_KEY_CHECKS = 1;\n"; $platform = new MysqlPlatform(); $platform->setDefaultTableEngine('InnoDb'); $updatedBuilder = new PropelQuickBuilder(); $updatedBuilder->setPlatform($platform); $updatedBuilder->setSchema($updatedSchema); $sql = $updatedBuilder->getSQL(); $this->assertEquals($actual, $sql); }
protected function setUp() { //begin of setting runtime environments $fileSystem = vfsStream::setup(); $this->className = 'ExampleInstantiator'; $this->extends = '\\stdClass'; $this->indention = ' '; $this->namespace = 'Test\\Net\\Bazzline\\Propel'; $this->path = $fileSystem->url(); $this->prefix = 'create'; //end of setting runtime environments $buildIsNeeded = !class_exists('TableOne') || !class_exists('TableTwo'); if ($buildIsNeeded) { $schema = <<<EOF <database name="example_database" defaultIdMethod="native"> <behavior name="add_to_entity_instantiator"> <parameter name="entity_instantiator_class_name" value="{$this->className}" /> <parameter name="entity_instantiator_extends" value="{$this->extends}" /> <parameter name="entity_instantiator_indention" value="{$this->indention}" /> <parameter name="entity_instantiator_namespace" value="{$this->namespace}" /> <parameter name="entity_instantiator_path_to_output" value="{$this->path}" /> <parameter name="entity_method_name_prefix" value="{$this->prefix}" /> <parameter name="entity_add_to_entity_instantiator" value="true" /> </behavior> <table name="table_one"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> </table> <table name="table_two"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <behavior name="add_to_entity_instantiator"> <parameter name="entity_add_to_entity_instantiator" value="false" /> </behavior> </table> </database> EOF; $builder = new PropelQuickBuilder(); $configuration = $builder->getConfig(); $configuration->setBuildProperty('behavior.add_to_entity_instantiator.class', __DIR__ . '/../source/AddToEntityInstantiatorBehavior'); $builder->setConfig($configuration); $builder->setSchema($schema); $builder->build(); //we have to call generate manually since it is called only when php execution is finished Manager::getInstance()->generate(); } }
public function setUp() { if (!class_exists('I18nBehaviorTest11')) { $schema = <<<EOF <database name="i18n_behavior_test_10"> \t<table name="i18n_behavior_test_11"> \t\t<column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> \t\t<column name="foo" type="INTEGER" /> \t\t<column name="bar" type="VARCHAR" size="100" /> \t\t<behavior name="i18n"> \t\t\t<parameter name="i18n_columns" value="bar" /> \t\t</behavior> \t</table> \t<table name="i18n_behavior_test_12"> \t\t<column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> \t\t<column name="foo" type="INTEGER" /> \t\t<column name="bar1" type="VARCHAR" size="100" /> \t\t<column name="bar2" type="LONGVARCHAR" lazyLoad="true" /> \t\t<column name="bar3" type="TIMESTAMP" /> \t\t<column name="bar4" type="LONGVARCHAR" description="This is the Bar4 column" /> \t\t<behavior name="i18n"> \t\t\t<parameter name="i18n_columns" value="bar1,bar2,bar3,bar4" /> \t\t\t<parameter name="default_locale" value="fr_FR" /> \t\t\t<parameter name="locale_alias" value="culture" /> \t\t</behavior> \t</table> </database> EOF; //PropelQuickBuilder::debugClassesForTable($schema, 'i18n_behavior_test_11'); PropelQuickBuilder::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"> \t<table name="complex_column_type_entity_10"> \t\t<column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> \t\t<column name="bar" type="OBJECT" /> \t</table> </database> EOF; PropelQuickBuilder::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"> \t<table name="complex_column_type_entity_1"> \t\t<column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> \t\t<column name="bar" type="OBJECT" /> \t</table> </database> EOF; PropelQuickBuilder::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('ArchivableTest10')) { $schema = <<<EOF <database name="archivable_behavior_test_10"> \t<table name="archivable_test_10"> \t\t<column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> \t\t<column name="title" type="VARCHAR" size="100" primaryString="true" /> \t\t<column name="age" type="INTEGER" /> \t\t<column name="foo_id" type="INTEGER" /> \t\t<foreign-key foreignTable="archivable_test_20"> \t\t\t<reference local="foo_id" foreign="id" /> \t\t</foreign-key> \t\t<index> \t\t\t<index-column name="title" /> \t\t\t<index-column name="age" /> \t\t</index> \t\t<behavior name="archivable" /> \t</table> \t<table name="archivable_test_20"> \t\t<column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> \t\t<column name="title" type="VARCHAR" size="100" primaryString="true" /> \t\t<behavior name="archivable" /> \t</table> \t<table name="archivable_test_20_archive"> \t\t<column name="id" required="true" primaryKey="true" type="INTEGER" /> \t\t<column name="title" type="VARCHAR" size="100" primaryString="true" /> \t</table> \t<table name="archivable_test_30"> \t\t<column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> \t\t<column name="title" type="VARCHAR" size="100" primaryString="true" /> \t\t<column name="age" type="INTEGER" /> \t\t<column name="foo_id" type="INTEGER" /> \t\t<behavior name="archivable"> \t\t\t<parameter name="log_archived_at" value="false" /> \t\t\t<parameter name="archive_table" value="my_old_archivable_test_30" /> \t\t\t<parameter name="archive_on_insert" value="true" /> \t\t\t<parameter name="archive_on_update" value="true" /> \t\t\t<parameter name="archive_on_delete" value="false" /> \t\t</behavior> \t</table> \t<table name="archivable_test_40"> \t\t<column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> \t\t<column name="title" type="VARCHAR" size="100" primaryString="true" /> \t\t<column name="age" type="INTEGER" /> \t\t<behavior name="archivable"> \t\t\t<parameter name="archive_class" value="FooArchive" /> \t\t</behavior> \t</table> </database> EOF; PropelQuickBuilder::buildSchema($schema); } }
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; PropelQuickBuilder::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(); } }
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; PropelQuickBuilder::buildSchema($schema); } }
public function setUp() { if (!class_exists('Foo\\MyClassWithInterface')) { $schema = <<<EOF <database name="a-database" namespace="Foo"> \t<table name="my_class_with_interface" interface="MyInterface"> \t\t<column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> \t\t<column name="name" type="VARCHAR" /> \t</table> </database> EOF; $builder = new PropelQuickBuilder(); $builder->setSchema($schema); $builder->buildClasses(); } }
public function setUp() { if (!class_exists('ArchivableConcretePagePeer')) { $schema = <<<EOF <database name="archivable_concrete_behavior_test_0"> <table name="parent_archivable_concrete_page"> <column name="id" type="integer" primaryKey="true" autoIncrement="true"/> <column name="content" type="longvarchar" required="true" /> <behavior name="archivable" /> </table> <table name="archivable_concrete_page"> <column name="paragraph" type="integer" required="true" /> <behavior name="concrete_inheritance"> <parameter name="extends" value="parent_archivable_concrete_page" /> </behavior> <behavior name="archivable" /> </table> </database> EOF; PropelQuickBuilder::buildSchema($schema); } ArchivableConcretePagePeer::doDeleteAll(); ArchivableConcretePageArchivePeer::doDeleteAll(); }
public function setUp() { if (!class_exists('DateTimeColumnTypeEntity')) { $schema = <<<EOF <database name="generated_object_datetime_type_test"> <table name="date_time_column_type_entity" idMethod="native"> <column name="id" primaryKey="true" type="INTEGER" phpName="Id" required="true"/> <column name="primary_date" primaryKey="true" type="DATE" phpName="PrimaryDate" required="true"/> </table> </database> EOF; $builder = new PropelQuickBuilder(); $builder->getConfig()->setBuildProperty('defaultDateFormat', null); $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"> \t<table name="book"> \t\t<column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> \t\t<column name="title" type="VARCHAR" size="100" primaryString="true" /> \t</table> </database> EOF; $builder = new PropelQuickBuilder(); $builder->setSchema($schema); $database = $builder->getDatabase(); $appData = new AppData(); $appData->addDatabase($database); $validator = new PropelSchemaValidator($appData); $this->assertTrue($validator->validate()); }
public function setUp() { parent::setUp(); if (!class_exists('My\\NestedSet1')) { $schema = <<<EOF <database name="nested_set_database" namespace="My"> <table name="nested_set_1"> <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> </database> EOF; $builder = new PropelQuickBuilder(); $builder->setSchema($schema); $builder->build(); } }
public function setUp() { if (!class_exists('TestModel')) { $schema = <<<EOF <database name="TestDatabase" defaultIdMethod="native"> <table name="TestModel"> <column name="id" phpName="Id" type="INTEGER" primaryKey="true" autoIncrement="true" required="true" /> <column name="email_address" phpName="EmailAddress" type="VARCHAR" size="100" required="true" /> <behavior name="auditable" /> </table> </database> EOF; $builder = new PropelQuickBuilder(); $config = $builder->getConfig(); $config->setBuildProperty('behavior.auditable.class', __DIR__ . '/../src/AuditableBehavior'); $builder->setConfig($config); $builder->setSchema($schema); $this->con = $builder->build(); } }
public function setUp() { if (!class_exists('Post')) { $schema = <<<EOF <database name="create_entity_behavior" defaultIdMethod="native"> <table name="Post"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <behavior name="create_entity" /> </table> </database> EOF; $builder = new PropelQuickBuilder(); $configuration = $builder->getConfig(); $configuration->setBuildProperty('behavior.create_entity.class', '../source/CreateEntityBehavior'); $builder->setConfig($configuration); $builder->setSchema($schema); $builder->build(); } }
public function setUp() { if (!class_exists('I18nBehaviorTest1')) { $schema = <<<EOF <database name="i18n_behavior_test_1"> \t<table name="i18n_behavior_test_1"> \t\t<column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> \t\t<column name="foo" type="INTEGER" /> \t\t<column name="bar" type="VARCHAR" size="100" /> \t\t<behavior name="i18n"> \t\t\t<parameter name="i18n_columns" value="bar" /> \t\t</behavior> \t</table> \t<table name="i18n_behavior_test_2"> \t\t<column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> \t\t<column name="foo" type="INTEGER" /> \t\t<column name="bar1" type="VARCHAR" size="100" /> \t\t<column name="bar2" type="LONGVARCHAR" lazyLoad="true" /> \t\t<column name="bar3" type="TIMESTAMP" /> \t\t<column name="bar4" type="LONGVARCHAR" description="This is the Bar4 column" /> \t\t<behavior name="i18n"> \t\t\t<parameter name="i18n_columns" value="bar1,bar2,bar3,bar4" /> \t\t\t<parameter name="default_locale" value="fr_FR" /> \t\t\t<parameter name="locale_alias" value="culture" /> \t\t</behavior> \t</table> \t<table name="movie"> \t\t<column name="id" type="integer" required="true" primaryKey="true" autoincrement="true" /> \t\t<column name="director" type="varchar" size="255" /> \t\t<column name="title" type="varchar" primaryString="true" /> \t\t<behavior name="i18n"> \t\t\t<parameter name="i18n_columns" value="title" /> \t\t\t<parameter name="locale_alias" value="culture" /> \t\t</behavior> \t</table> \t<table name="toy"> \t\t<column name="id" type="integer" required="true" primaryKey="true" autoincrement="true" /> \t\t<column name="ref" type="varchar" size="255" /> \t\t<column name="name" type="varchar" size="255" /> \t\t<behavior name="i18n"> \t\t\t<parameter name="i18n_columns" value="name" /> \t\t\t<parameter name="locale_alias" value="culture" /> \t\t</behavior> \t\t<column name="movie_id" type="integer" /> \t\t<foreign-key foreignTable="movie"> \t\t\t<reference local="movie_id" foreign="id" /> \t\t</foreign-key> \t</table> </database> EOF; PropelQuickBuilder::buildSchema($schema); } }
public function setUp() { if (!class_exists('Author')) { $schema = <<<EOF <database name="bookstore" defaultIdMethod="native"> <table name="author"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <column name="first_name" type="VARCHAR" size="255" /> <column name="last_name" type="VARCHAR" size="255" /> <behavior name="providerBase" /> </table> </database> EOF; $builder = new PropelQuickBuilder(); $config = $builder->getConfig(); $config->setBuildProperty('behavior.provider_base.class', __DIR__ . '/../src/ProviderBaseBehavior/ProviderBaseBehavior'); $builder->setConfig($config); $builder->setSchema($schema); $con = $builder->build(); } }
public function setUp() { if (!class_exists('My\\Post')) { $schema = <<<EOF <database name="event_dispatcher_behavior" defaultIdMethod="native" namespace="My"> <table name="post"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <column name="name" type="VARCHAR" required="true" /> <behavior name="event_dispatcher" /> </table> </database> EOF; $builder = new PropelQuickBuilder(); $config = $builder->getConfig(); $config->setBuildProperty('behavior.event_dispatcher.class', '../src/EventDispatcherBehavior'); $builder->setConfig($config); $builder->setSchema($schema); $builder->build(); } }