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() { $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('ComplexColumnTypeEntity11')) { $schema = <<<EOF <database name="generated_object_complex_type_test_11"> \t<table name="complex_column_type_entity_11"> \t\t<column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> \t\t<column name="tags" type="ARRAY" /> \t\t<column name="value_set" type="ARRAY" /> \t</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() { 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('ComplexColumnTypeEntity103Peer')) { $schema = <<<EOF <database name="generated_object_complex_type_test_103"> \t<table name="complex_column_type_entity_103"> \t\t<column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> \t\t<column name="bar" type="ENUM" valueSet="foo, bar, baz, 1, 4,(, foo bar " /> \t</table> </database> EOF; PropelQuickBuilder::buildSchema($schema); } }
public function setUp() { if (!class_exists('ComplexColumnTypeEntity2')) { $schema = <<<EOF <database name="generated_object_complex_type_test_2"> \t<table name="complex_column_type_entity_2"> \t\t<column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> \t\t<column name="tags" type="ARRAY" /> \t\t<column name="value_set" type="ARRAY" /> \t</table> </database> EOF; PropelQuickBuilder::buildSchema($schema); } }
public function setUp() { if (!class_exists('VersionableBehaviorTest10')) { $schema = <<<EOF <database name="versionable_behavior_test_10"> \t<table name="versionable_behavior_test_10"> \t\t<column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> \t\t<column name="bar" type="INTEGER" /> \t\t<behavior name="versionable" /> \t</table> </database>> EOF; PropelQuickBuilder::buildSchema($schema); } }
public function setUp() { if (!class_exists('ComplexColumnTypeEntity5')) { $schema = <<<EOF <database name="generated_object_complex_type_test_5"> \t<table name="complex_column_type_entity_5"> \t\t<column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> \t\t<column name="bar1" type="DATE" /> \t\t<column name="bar2" type="TIME" /> \t\t<column name="bar3" type="TIMESTAMP" /> \t</table> </database> EOF; PropelQuickBuilder::buildSchema($schema); } }
public function setUp() { if (!class_exists('LazyLoadActiveRecord2')) { $schema = <<<EOF <database name="lazy_load_active_record_2"> \t<table name="lazy_load_active_record_2"> \t\t<column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> \t\t<column name="foo" type="VARCHAR" size="100" /> \t\t<column name="bar" type="VARCHAR" size="100" lazyLoad="true" /> \t\t<column name="baz" type="VARCHAR" size="100" /> \t</table> </database> EOF; PropelQuickBuilder::buildSchema($schema); } }
public function setUp() { if (!class_exists('ComplexColumnTypeEntity4')) { $schema = <<<EOF <database name="generated_object_complex_type_test_4"> \t<table name="complex_column_type_entity_4"> \t\t<column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> \t\t<column name="bar" type="BOOLEAN" /> \t\t<column name="true_bar" type="BOOLEAN" defaultValue="true" /> \t\t<column name="false_bar" type="BOOLEAN" defaultValue="false" /> \t</table> </database> EOF; PropelQuickBuilder::buildSchema($schema); } }
public function testFieldKeys() { $schema = <<<EOF <database name="i18n_behavior_test_0"> \t<table name="i18n_behavior_test_03"> \t\t<column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> \t\t<column name="foo1" type="VARCHAR" /> \t\t<column name="foo2" type="VARCHAR" /> \t\t<column name="foo3" type="VARCHAR" /> \t\t<behavior name="i18n"> \t\t\t<parameter name="i18n_columns" value="foo2" /> \t\t</behavior> \t</table> </database> EOF; PropelQuickBuilder::buildSchema($schema); $this->assertEquals(array(0, 1, 2), I18nBehaviorTest03Peer::getFieldNames(BasePeer::TYPE_NUM)); }
public function setUp() { if (!class_exists('ComplexColumnTypeEntity3')) { $schema = <<<EOF <database name="generated_object_complex_type_test_3"> \t<table name="complex_column_type_entity_3"> \t\t<column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> \t\t<column name="bar" type="ENUM" valueSet="foo, bar, baz, 1, 4,(, foo bar " /> \t\t<column name="bar2" type="ENUM" valueSet="foo, bar" defaultValue="bar" /> \t</table> </database> EOF; PropelQuickBuilder::buildSchema($schema); // ok this is hackish but it makes testing of getter and setter independent of each other $publicAccessorCode = <<<EOF class PublicComplexColumnTypeEntity3 extends ComplexColumnTypeEntity3 { \tpublic \$bar; } EOF; eval($publicAccessorCode); } }
public function setUp() { if (!class_exists('ComplexColumnTypeEntity13')) { $schema = <<<EOF <database name="generated_object_complex_type_test_13"> \t<table name="complex_column_type_entity_13"> \t\t<column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> \t\t<column name="bar" type="ENUM" valueSet="foo, bar, baz, 1, 4,(, foo bar " /> \t\t<column name="bar2" type="ENUM" valueSet="foo, bar" defaultValue="bar" /> \t</table> </database> EOF; PropelQuickBuilder::buildSchema($schema); $e0 = new ComplexColumnTypeEntity13(); $e0->save(); $e1 = new ComplexColumnTypeEntity13(); $e1->setBar('baz'); $e1->save(); $e2 = new ComplexColumnTypeEntity13(); $e2->setBar('4'); $e2->save(); ComplexColumnTypeEntity13Peer::clearInstancePool(); } }
/** * @dataProvider logSchemaDataProvider */ public function testModifyTableAddsVersionTableLogColumns($schema) { $builder = new PropelQuickBuilder(); $builder->setSchema($schema); $expected = <<<EOF ----------------------------------------------------------------------- -- versionable_behavior_test_0_version ----------------------------------------------------------------------- DROP TABLE versionable_behavior_test_0_version; CREATE TABLE versionable_behavior_test_0_version ( \tid INTEGER NOT NULL, \tbar INTEGER, \tversion INTEGER DEFAULT 0 NOT NULL, \tversion_created_at TIMESTAMP, \tversion_created_by VARCHAR(100), \tversion_comment VARCHAR(255), \tPRIMARY KEY (id,version) ); -- SQLite does not support foreign keys; this is just for reference -- FOREIGN KEY (id) REFERENCES versionable_behavior_test_0 (id) EOF; $this->assertContains($expected, $builder->getSQL()); }
public function testModiFyTableUsesCustomLocaleDefault() { $schema = <<<EOF <database name="i18n_behavior_test_0"> \t<table name="i18n_behavior_test_0"> \t\t<column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> \t\t<behavior name="i18n"> \t\t\t<parameter name="default_locale" value="fr_FR" /> \t\t</behavior> \t</table> </database> EOF; $builder = new PropelQuickBuilder(); $builder->setSchema($schema); $expected = <<<EOF ----------------------------------------------------------------------- -- i18n_behavior_test_0_i18n ----------------------------------------------------------------------- DROP TABLE i18n_behavior_test_0_i18n; CREATE TABLE i18n_behavior_test_0_i18n ( \tid INTEGER NOT NULL, \tlocale VARCHAR(5) DEFAULT 'fr_FR' NOT NULL, \tPRIMARY KEY (id,locale) ); EOF; $this->assertContains($expected, $builder->getSQL()); }
public function setUp() { if (!class_exists('VersionableBehaviorTest1')) { $schema = <<<EOF <database name="versionable_behavior_test_1"> \t<table name="versionable_behavior_test_1"> \t\t<column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> \t\t<column name="bar" type="INTEGER" /> \t\t<behavior name="versionable" /> \t</table> \t<table name="versionable_behavior_test_2"> \t\t<column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> \t\t<column name="bar" type="INTEGER" /> \t\t<behavior name="versionable"> \t\t\t<parameter name="version_column" value="foo_ver" /> \t\t</behavior> \t</table> \t<table name="versionable_behavior_test_3"> \t\t<column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> \t\t<column name="bar" type="INTEGER" /> \t\t<behavior name="versionable"> \t\t\t<parameter name="version_table" value="foo_ver" /> \t\t</behavior> \t</table> \t<table name="versionable_behavior_test_4"> \t\t<column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> \t\t<column name="bar" type="INTEGER" /> \t\t<behavior name="versionable"> \t\t\t<parameter name="log_created_at" value="true" /> \t\t\t<parameter name="log_created_by" value="true" /> \t\t\t<parameter name="log_comment" value="true" /> \t\t</behavior> \t</table> \t<table name="versionable_behavior_test_5"> \t\t<column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> \t\t<column name="foo" type="VARCHAR" size="100" /> \t\t<column name="foreign_id" type="INTEGER" /> \t\t<foreign-key foreignTable="versionable_behavior_test_4"> \t\t\t<reference local="foreign_id" foreign="id" /> \t\t</foreign-key> \t\t<behavior name="versionable" /> \t</table> </database> EOF; PropelQuickBuilder::buildSchema($schema); } if (!class_exists('VersionableBehaviorTest6')) { $schema2 = <<<EOF <database name="versionable_behavior_test_2" defaultPhpNamingMethod="nochange"> \t<table name="VersionableBehaviorTest6"> \t\t<column name="Id" primaryKey="true" type="INTEGER" autoIncrement="true" /> \t\t<column name="FooBar" type="VARCHAR" size="100" /> \t\t<behavior name="versionable"> \t\t\t<parameter name="log_created_at" value="true" /> \t\t\t<parameter name="log_created_by" value="true" /> \t\t\t<parameter name="log_comment" value="true" /> \t\t</behavior> \t</table> \t<table name="VersionableBehaviorTest7"> \t\t<column name="Id" primaryKey="true" type="INTEGER" autoIncrement="true" /> \t\t<column name="FooBar" type="VARCHAR" size="100" /> \t\t<column name="Style" type="ENUM" valueSet="novel, essay, poetry" /> \t\t<behavior name="versionable"> \t\t\t<parameter name="log_created_at" value="true" /> \t\t\t<parameter name="log_created_by" value="true" /> \t\t\t<parameter name="log_comment" value="true" /> \t\t\t<parameter name="version_created_by_column" value="VersionCreatedBy" /> \t\t\t<parameter name="version_created_at_column" value="VersionCreatedAt" /> \t\t\t<parameter name="version_comment_column" value="MyComment" /> \t\t</behavior> \t</table> EOF; PropelQuickBuilder::buildSchema($schema2); } }
public function testTablePrefixSameDatabase() { $schema = <<<EOF <database name="testTablePrefixSameDatabase_database" tablePrefix="foo"> \t<table name="testTablePrefixSameDatabase_main"> \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="delegate_id" type="INTEGER" /> \t\t<foreign-key foreignTable="testTablePrefixSameDatabase_delegate"> \t\t\t<reference local="delegate_id" foreign="id" /> \t\t</foreign-key> \t\t<behavior name="delegate"> \t\t\t<parameter name="to" value="testTablePrefixSameDatabase_delegate" /> \t\t</behavior> \t</table> \t<table name="testTablePrefixSameDatabase_delegate"> \t\t<column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> \t\t<column name="subtitle" type="VARCHAR" size="100" primaryString="true" /> \t</table> </database> EOF; PropelQuickBuilder::buildSchema($schema); $main = new FooTestTablePrefixSameDatabaseMain(); $main->setSubtitle('bar'); $delegate = $main->getFooTestTablePrefixSameDatabaseDelegate(); $this->assertInstanceOf('FooTestTablePrefixSameDatabaseDelegate', $delegate); $this->assertTrue($delegate->isNew()); $this->assertEquals('bar', $delegate->getSubtitle()); $this->assertEquals('bar', $main->getSubtitle()); }
public function testBuild() { $schema = <<<EOF <database name="test_quick_build_2"> \t<table name="quick_build_foo_2"> \t\t<column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" /> \t\t<column name="bar" type="INTEGER" /> \t</table> </database> EOF; $builder = new PropelQuickBuilder(); $builder->setSchema($schema); $builder->build(); $this->assertEquals(0, QuickBuildFoo2Query::create()->count()); $foo = new QuickBuildFoo2(); $foo->setBar(3); $foo->save(); $this->assertEquals(1, QuickBuildFoo2Query::create()->count()); $this->assertEquals($foo, QuickBuildFoo2Query::create()->findOne()); }