Rajout de doctrine/orm
[zf2.biz/galerie.git] / vendor / doctrine / orm / tests / Doctrine / Tests / ORM / Mapping / php / Doctrine.Tests.ORM.Mapping.User.php
1 <?php
2
3 use Doctrine\ORM\Mapping\ClassMetadataInfo;
4
5 $metadata->setInheritanceType(ClassMetadataInfo::INHERITANCE_TYPE_NONE);
6 $metadata->setPrimaryTable(array(
7    'name' => 'cms_users',
8   ));
9 $metadata->setChangeTrackingPolicy(ClassMetadataInfo::CHANGETRACKING_DEFERRED_IMPLICIT);
10 $metadata->addLifecycleCallback('doStuffOnPrePersist', 'prePersist');
11 $metadata->addLifecycleCallback('doOtherStuffOnPrePersistToo', 'prePersist');
12 $metadata->addLifecycleCallback('doStuffOnPostPersist', 'postPersist');
13 $metadata->addNamedQuery(array(
14     'name'  => 'all',
15     'query' => 'SELECT u FROM __CLASS__ u'
16 ));
17 $metadata->mapField(array(
18    'id' => true,
19    'fieldName' => 'id',
20    'type' => 'integer',
21    'columnName' => 'id',
22   ));
23 $metadata->mapField(array(
24    'fieldName' => 'name',
25    'type' => 'string',
26    'length' => 50,
27    'unique' => true,
28    'nullable' => true,
29    'columnName' => 'name',
30    'options' => array('foo' => 'bar', 'baz' => array('key' => 'val')),
31   ));
32 $metadata->mapField(array(
33    'fieldName' => 'email',
34    'type' => 'string',
35    'columnName' => 'user_email',
36    'columnDefinition' => 'CHAR(32) NOT NULL',
37   ));
38 $metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_AUTO);
39 $metadata->mapOneToOne(array(
40    'fieldName' => 'address',
41    'targetEntity' => 'Doctrine\\Tests\\ORM\\Mapping\\Address',
42    'cascade' =>
43    array(
44    0 => 'remove',
45    ),
46    'mappedBy' => NULL,
47    'inversedBy' => 'user',
48    'joinColumns' =>
49    array(
50    0 =>
51    array(
52     'name' => 'address_id',
53     'referencedColumnName' => 'id',
54     'onDelete' => 'CASCADE',
55    ),
56    ),
57    'orphanRemoval' => false,
58   ));
59 $metadata->mapOneToMany(array(
60    'fieldName' => 'phonenumbers',
61    'targetEntity' => 'Doctrine\\Tests\\ORM\\Mapping\\Phonenumber',
62    'cascade' =>
63    array(
64    1 => 'persist',
65    ),
66    'mappedBy' => 'user',
67    'orphanRemoval' => true,
68    'orderBy' =>
69    array(
70    'number' => 'ASC',
71    ),
72   ));
73 $metadata->mapManyToMany(array(
74    'fieldName' => 'groups',
75    'targetEntity' => 'Doctrine\\Tests\\ORM\\Mapping\\Group',
76    'cascade' =>
77    array(
78    0 => 'remove',
79    1 => 'persist',
80    2 => 'refresh',
81    3 => 'merge',
82    4 => 'detach',
83    ),
84    'mappedBy' => NULL,
85    'joinTable' =>
86    array(
87    'name' => 'cms_users_groups',
88    'joinColumns' =>
89    array(
90     0 =>
91     array(
92     'name' => 'user_id',
93     'referencedColumnName' => 'id',
94     'unique' => false,
95     'nullable' => false,
96     ),
97    ),
98    'inverseJoinColumns' =>
99    array(
100     0 =>
101     array(
102     'name' => 'group_id',
103     'referencedColumnName' => 'id',
104     'columnDefinition' => 'INT NULL',
105     ),
106    ),
107    ),
108    'orderBy' => NULL,
109   ));
110 $metadata->table['options'] = array(
111     'foo' => 'bar', 
112     'baz' => array('key' => 'val')
113 );
114 $metadata->table['uniqueConstraints'] = array(
115     'search_idx' => array('columns' => array('name', 'user_email')),
116 );
117 $metadata->table['indexes'] = array(
118     'name_idx' => array('columns' => array('name')), 0 => array('columns' => array('user_email'))
119 );
120 $metadata->setSequenceGeneratorDefinition(array(
121         'sequenceName' => 'tablename_seq',
122         'allocationSize' => 100,
123         'initialValue' => 1,
124     ));