Advertisement
Guest User

Untitled

a guest
Apr 18th, 2014
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.52 KB | None | 0 0
  1. <?php
  2.  
  3. namespace Migration;
  4.  
  5. use Storage\Schema;
  6.  
  7. /**
  8.  * Migration was generated at 18.03.2014 11:34:24
  9.  */
  10. class ModulePerson_20140318_113424
  11. {
  12.     public function process(Schema $schema)
  13.     {
  14.         $person = $schema->createModel('person', 'Пользователь', array(
  15.             'login' => 'Имя пользователя',
  16.             'salt' => 'Соль для вычисления хэша',
  17.             'hash' => 'Полученный хэш',
  18.         ));
  19.  
  20.         $person->createIndex('login');
  21.         $person->createBehaviour('log');
  22.  
  23.         $module = $schema->createModel('module', 'Модуль', array(
  24.             'name' => 'Наименование'
  25.         ));
  26.  
  27.         // favorite modules link
  28.         $favorite_module = $schema->createLink(array(
  29.             $person,
  30.             'favorite_module' => $module,
  31.         ));
  32.  
  33.         $favorite_module->addProperty('rating', array(
  34.             'comment' => 'Рейтинг',
  35.             'type' =>  'integer'
  36.         ));
  37.  
  38.         // module developers link
  39.         $schema->createLink(array(
  40.             $module,
  41.             'developer' => $person,
  42.         ));
  43.  
  44.         // default user module
  45.         $schema->getModel('person')
  46.             ->hasOne('module')
  47.             ->usingAlias('default_module')
  48.             ->referencedBy('default_user')
  49.         ;
  50.  
  51.         // module owner
  52.         $module
  53.             ->hasOne('person')
  54.             ->usingAlias('owner')
  55.             ->referencedBy('own_module')
  56.         ;
  57.     }
  58.  
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement