'email_addresses', 'fields' => array( array( 'name' => 'id', 'type' => 'id', 'vname' => 'LBL_EMAIL_ADDRESS_ID', 'required' => true, ), array( 'name' => 'email_address', 'type' => 'varchar', 'vname' => 'LBL_EMAIL_ADDRESS', 'length' => 100, 'required' => true, ), array( 'name' => 'email_address_caps', 'type' => 'varchar', 'vname' => 'LBL_EMAIL_ADDRESS_CAPS', 'length' => 100, 'required' => true, ), array( 'name' => 'invalid_email', 'type' => 'bool', 'default' => 0, 'vname' => 'LBL_INVALID_EMAIL', ), array( 'name' => 'opt_out', 'type' => 'bool', 'default' => 0, 'vname' => 'LBL_OPT_OUT', ), array( 'name' => 'date_created', 'type' => 'datetime', 'vname' => 'LBL_DATE_CREATE', ), array( 'name' => 'date_modified', 'type' => 'datetime', 'vname' => 'LBL_DATE_MODIFIED', ), array( 'name' => 'deleted', 'type' => 'bool', 'default' => 0, 'vname' => 'LBL_DELETED', ), ), 'indices' => array( array( 'name' => 'email_addressespk', 'type' => 'primary', 'fields' => array('id') ), array( 'name' => 'idx_ea_caps_opt_out_invalid', 'type' => 'index', 'fields' => array('email_address_caps','opt_out','invalid_email') ), array( 'name' => 'idx_ea_opt_out_invalid', 'type' => 'index', 'fields' => array('email_address', 'opt_out', 'invalid_email') ), ), ); // hack for installer $dictionary['EmailAddress'] = $dictionary['email_addresses']; /** * Relationship table linking email addresses to an instance of a Sugar Email object */ $dictionary['emails_email_addr_rel'] = array( 'table' => 'emails_email_addr_rel', 'comment' => 'Normalization of multi-address fields such as To:, CC:, BCC', 'fields' => array( 'id' => array( 'name' => 'id', 'type' => 'id', 'required' => true, 'comment' => 'GUID', ), 'email_id' => array( 'name' => 'email_id', 'type' => 'id', 'required' => true, 'comment' => 'Foriegn key to emails table NOT unique', ), 'address_type' => array( 'name' => 'address_type', 'type' => 'varchar', 'len' => 4, 'required' => true, 'comment' => 'Type of entry, TO, CC, or BCC', ), 'email_address_id' => array( 'name' => 'email_address_id', 'type' => 'id', 'required' => true, 'comment' => 'Foriegn key to emails table NOT unique', ), 'deleted' => array( 'name' => 'deleted', 'type' => 'bool', 'default' => 0, ), ), 'indices' => array( array( 'name' => 'emails_email_addr_relpk', 'type' => 'primary', 'fields' => array('id'), ), array( 'name' => 'idx_eearl_email_id', 'type' => 'index', 'fields' => array('email_id', 'address_type'), ), array( 'name' => 'idx_eearl_address_id', 'type' => 'index', 'fields' => array('email_address_id'), ), ), ); /** * Relationship table linking email addresses to various SugarBeans or type Person */ $dictionary['email_addr_bean_rel'] = array( 'table' => 'email_addr_bean_rel', 'fields' => array( array( 'name' => 'id', 'type' => 'id', 'required' => true, ), array( 'name' => 'email_address_id', 'type' => 'id', 'required' => true, ), array( 'name' => 'bean_id', 'type' => 'id', 'required' => true, ), array( 'name' => 'bean_module', 'type' => 'varchar', 'len' => 25, 'required' => true, ), array( 'name' => 'primary_address', 'type' => 'bool', 'default' => '0', ), array( 'name' => 'reply_to_address', 'type' => 'bool', 'default' => '0', ), array( 'name' => 'date_created', 'type' => 'datetime' ), array( 'name' => 'date_modified', 'type' => 'datetime' ), array( 'name' => 'deleted', 'type' => 'bool', 'default' => 0, ), ), 'indices' => array( array( 'name' => 'email_addresses_relpk', 'type' => 'primary', 'fields' => array('id') ), array( 'name' => 'idx_email_address_id', 'type' => 'index', 'fields' => array('email_address_id') ), array( 'name' => 'idx_bean_id', 'type' => 'index', 'fields' => array('bean_id', 'bean_module'), ), ), 'relationships' => array ( 'accounts_email_addresses' => array('lhs_module'=> 'Accounts', 'lhs_table'=> 'accounts', 'lhs_key' => 'id', 'rhs_module'=> 'EmailAddresses', 'rhs_table'=> 'email_addresses', 'rhs_key' => 'id', 'relationship_type'=>'many-to-many', 'join_table'=> 'email_addr_bean_rel', 'join_key_lhs'=>'bean_id', 'join_key_rhs'=>'email_address_id', 'relationship_role_column'=>'bean_module', 'relationship_role_column_value'=>'Accounts'), 'accounts_email_addresses_primary' => array('lhs_module'=> 'Accounts', 'lhs_table'=> 'accounts', 'lhs_key' => 'id', 'rhs_module'=> 'EmailAddresses', 'rhs_table'=> 'email_addresses', 'rhs_key' => 'id', 'relationship_type'=>'many-to-many', 'join_table'=> 'email_addr_bean_rel', 'join_key_lhs'=>'bean_id', 'join_key_rhs'=>'email_address_id', 'relationship_role_column'=>'bean_module', 'relationship_role_column_value'=>'Accounts', 'relationship_role_column'=>'primary_address', 'relationship_role_column_value'=>'1'), 'contacts_email_addresses' => array('lhs_module'=> 'Contacts', 'lhs_table'=> 'contacts', 'lhs_key' => 'id', 'rhs_module'=> 'EmailAddresses', 'rhs_table'=> 'email_addresses', 'rhs_key' => 'id', 'relationship_type'=>'many-to-many', 'join_table'=> 'email_addr_bean_rel', 'join_key_lhs'=>'bean_id', 'join_key_rhs'=>'email_address_id', 'relationship_role_column'=>'bean_module', 'relationship_role_column_value'=>'Contacts'), 'contacts_email_addresses_primary' => array('lhs_module'=> 'Contacts', 'lhs_table'=> 'contacts', 'lhs_key' => 'id', 'rhs_module'=> 'EmailAddresses', 'rhs_table'=> 'email_addresses', 'rhs_key' => 'id', 'relationship_type'=>'many-to-many', 'join_table'=> 'email_addr_bean_rel', 'join_key_lhs'=>'bean_id', 'join_key_rhs'=>'email_address_id', 'relationship_role_column'=>'bean_module', 'relationship_role_column_value'=>'Contacts', 'relationship_role_column'=>'primary_address', 'relationship_role_column_value'=>'1'), 'leads_email_addresses' => array('lhs_module'=> 'Leads', 'lhs_table'=> 'leads', 'lhs_key' => 'id', 'rhs_module'=> 'EmailAddresses', 'rhs_table'=> 'email_addresses', 'rhs_key' => 'id', 'relationship_type'=>'many-to-many', 'join_table'=> 'email_addr_bean_rel', 'join_key_lhs'=>'bean_id', 'join_key_rhs'=>'email_address_id', 'relationship_role_column'=>'bean_module', 'relationship_role_column_value'=>'Leads'), 'leads_email_addresses_primary' => array('lhs_module'=> 'Leads', 'lhs_table'=> 'leads', 'lhs_key' => 'id', 'rhs_module'=> 'EmailAddresses', 'rhs_table'=> 'email_addresses', 'rhs_key' => 'id', 'relationship_type'=>'many-to-many', 'join_table'=> 'email_addr_bean_rel', 'join_key_lhs'=>'bean_id', 'join_key_rhs'=>'email_address_id', 'relationship_role_column'=>'bean_module', 'relationship_role_column_value'=>'Leads', 'relationship_role_column'=>'primary_address', 'relationship_role_column_value'=>'1'), 'prospects_email_addresses' => array('lhs_module'=> 'Prospects', 'lhs_table'=> 'prospects', 'lhs_key' => 'id', 'rhs_module'=> 'EmailAddresses', 'rhs_table'=> 'email_addresses', 'rhs_key' => 'id', 'relationship_type'=>'many-to-many', 'join_table'=> 'email_addr_bean_rel', 'join_key_lhs'=>'bean_id', 'join_key_rhs'=>'email_address_id', 'relationship_role_column'=>'bean_module', 'relationship_role_column_value'=>'Prospects'), 'prospects_email_addresses_primary' => array('lhs_module'=> 'Prospects', 'lhs_table'=> 'prospects', 'lhs_key' => 'id', 'rhs_module'=> 'EmailAddresses', 'rhs_table'=> 'email_addresses', 'rhs_key' => 'id', 'relationship_type'=>'many-to-many', 'join_table'=> 'email_addr_bean_rel', 'join_key_lhs'=>'bean_id', 'join_key_rhs'=>'email_address_id', 'relationship_role_column'=>'bean_module', 'relationship_role_column_value'=>'Prospects', 'relationship_role_column'=>'primary_address', 'relationship_role_column_value'=>'1'), 'users_email_addresses' => array('lhs_module'=> 'Users', 'lhs_table'=> 'users', 'lhs_key' => 'id', 'rhs_module'=> 'EmailAddresses', 'rhs_table'=> 'email_addresses', 'rhs_key' => 'id', 'relationship_type'=>'many-to-many', 'join_table'=> 'email_addr_bean_rel', 'join_key_lhs'=>'bean_id', 'join_key_rhs'=>'email_address_id', 'relationship_role_column'=>'bean_module', 'relationship_role_column_value'=>'Users'), 'users_email_addresses_primary' => array('lhs_module'=> 'Users', 'lhs_table'=> 'users', 'lhs_key' => 'id', 'rhs_module'=> 'EmailAddresses', 'rhs_table'=> 'email_addresses', 'rhs_key' => 'id', 'relationship_type'=>'many-to-many', 'join_table'=> 'email_addr_bean_rel', 'join_key_lhs'=>'bean_id', 'join_key_rhs'=>'email_address_id', 'relationship_role_column'=>'bean_module', 'relationship_role_column_value'=>'Users', 'relationship_role_column'=>'primary_address', 'relationship_role_column_value'=>'1'), ), );