comparison Lib/IMPL/ORM/Object.pm @ 38:d660fb38b7cc

small fixes ORM shema to SQL schema transformation
author Sergey
date Mon, 23 Nov 2009 17:57:07 +0300
parents d59526f6310e
children 32d2350fccf9
comparison
equal deleted inserted replaced
37:c2e7f7c96bcd 38:d660fb38b7cc
70 # отношение 1 ко многим 70 # отношение 1 ко многим
71 my $type = $dataSchema->resolveType($ormProp->Type) or die new IMPL::InvalidOperationException("Failed to resolve a reference type due building schema for a class", $ormProp->Class, $ormProp->Name); 71 my $type = $dataSchema->resolveType($ormProp->Type) or die new IMPL::InvalidOperationException("Failed to resolve a reference type due building schema for a class", $ormProp->Class, $ormProp->Name);
72 $schema->appendChild( new IMPL::ORM::Schema::Relation::HasMany($ormProp->Name, $type->entityName) ); 72 $schema->appendChild( new IMPL::ORM::Schema::Relation::HasMany($ormProp->Name, $type->entityName) );
73 } elsif (my $type = $dataSchema->isValueType($ormProp->Type,'IMPL::ORM::Object')) { 73 } elsif (my $type = $dataSchema->isValueType($ormProp->Type,'IMPL::ORM::Object')) {
74 # поле 74 # поле
75 $schema->appendChild( new IMPL::ORM::Schema::Field($ormProp->Name,$type) ); 75 $schema->appendChild( new IMPL::ORM::Schema::Field($ormProp->Name,$type->name) );
76 } elsif (my $entity = $dataSchema->resolveType($ormProp->Type)) { 76 } elsif (my $entity = $dataSchema->resolveType($ormProp->Type)) {
77 # отношение ссылка 77 # отношение ссылка
78 $schema->appendChild( new IMPL::ORM::Schema::Relation::HasOne($ormProp->Name,$entity->entityName)); 78 $schema->appendChild( new IMPL::ORM::Schema::Relation::HasOne($ormProp->Name,$entity->entityName));
79 } else { 79 } else {
80 # хз что. Скорее всего не удалось квалифицировать тип свойства не как ссылочный и как поле. 80 # хз что. Скорее всего не удалось квалифицировать тип свойства не как ссылочный и как поле.