1: <?php
2:
3: namespace Thelia\Model\map;
4:
5: use \RelationMap;
6: use \TableMap;
7:
8:
9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
21: class CustomerTableMap extends TableMap
22: {
23:
24: 25: 26:
27: const CLASS_NAME = 'Thelia.Model.map.CustomerTableMap';
28:
29: 30: 31: 32: 33: 34: 35:
36: public function initialize()
37: {
38:
39: $this->setName('customer');
40: $this->setPhpName('Customer');
41: $this->setClassname('Thelia\\Model\\Customer');
42: $this->setPackage('Thelia.Model');
43: $this->setUseIdGenerator(true);
44:
45: $this->addPrimaryKey('ID', 'Id', 'INTEGER', true, null, null);
46: $this->addColumn('REF', 'Ref', 'VARCHAR', true, 50, null);
47: $this->addForeignKey('CUSTOMER_TITLE_ID', 'CustomerTitleId', 'INTEGER', 'customer_title', 'ID', false, null, null);
48: $this->addColumn('COMPANY', 'Company', 'VARCHAR', false, 255, null);
49: $this->addColumn('FIRSTNAME', 'Firstname', 'VARCHAR', true, 255, null);
50: $this->addColumn('LASTNAME', 'Lastname', 'VARCHAR', true, 255, null);
51: $this->addColumn('ADDRESS1', 'Address1', 'VARCHAR', true, 255, null);
52: $this->addColumn('ADDRESS2', 'Address2', 'VARCHAR', false, 255, null);
53: $this->addColumn('ADDRESS3', 'Address3', 'VARCHAR', false, 255, null);
54: $this->addColumn('ZIPCODE', 'Zipcode', 'VARCHAR', false, 10, null);
55: $this->addColumn('CITY', 'City', 'VARCHAR', true, 255, null);
56: $this->addColumn('COUNTRY_ID', 'CountryId', 'INTEGER', true, null, null);
57: $this->addColumn('PHONE', 'Phone', 'VARCHAR', false, 20, null);
58: $this->addColumn('CELLPHONE', 'Cellphone', 'VARCHAR', false, 20, null);
59: $this->addColumn('EMAIL', 'Email', 'VARCHAR', false, 50, null);
60: $this->addColumn('PASSWORD', 'Password', 'VARCHAR', false, 255, null);
61: $this->addColumn('ALGO', 'Algo', 'VARCHAR', false, 128, null);
62: $this->addColumn('SALT', 'Salt', 'VARCHAR', false, 128, null);
63: $this->addColumn('RESELLER', 'Reseller', 'TINYINT', false, null, null);
64: $this->addColumn('LANG', 'Lang', 'VARCHAR', false, 10, null);
65: $this->addColumn('SPONSOR', 'Sponsor', 'VARCHAR', false, 50, null);
66: $this->addColumn('DISCOUNT', 'Discount', 'FLOAT', false, null, null);
67: $this->addColumn('CREATED_AT', 'CreatedAt', 'TIMESTAMP', false, null, null);
68: $this->addColumn('UPDATED_AT', 'UpdatedAt', 'TIMESTAMP', false, null, null);
69:
70: }
71:
72: 73: 74:
75: public function buildRelations()
76: {
77: $this->addRelation('CustomerTitle', 'Thelia\\Model\\CustomerTitle', RelationMap::MANY_TO_ONE, array('customer_title_id' => 'id', ), 'SET NULL', 'RESTRICT');
78: $this->addRelation('Address', 'Thelia\\Model\\Address', RelationMap::ONE_TO_MANY, array('id' => 'customer_id', ), 'CASCADE', 'RESTRICT', 'Addresss');
79: $this->addRelation('Order', 'Thelia\\Model\\Order', RelationMap::ONE_TO_MANY, array('id' => 'customer_id', ), 'CASCADE', 'RESTRICT', 'Orders');
80: }
81:
82: 83: 84: 85: 86: 87:
88: public function getBehaviors()
89: {
90: return array(
91: 'timestampable' => array('create_column' => 'created_at', 'update_column' => 'updated_at', 'disable_updated_at' => 'false', ),
92: );
93: }
94:
95: }
96: