CRM-13810 - Campaign Search - remove data constraint, rename Campaign ID to Campaign...
[civicrm-core.git] / xml / schema / Member / Membership.xml
index 8c7ef93bb9505a6382b2dec4d32d6b5370d388c7..6e1383faf4bcb7012563979603e2a8b5f1005789 100644 (file)
@@ -12,7 +12,7 @@
       <uniqueName>membership_id</uniqueName>
       <type>int unsigned</type>
       <required>true</required>
-      <import>true</import> 
+      <import>true</import>
       <title>Membership ID</title>
       <headerPattern>/^(m(embership\s)?id)$/i</headerPattern>
       <comment>Membership Id</comment>
@@ -35,9 +35,9 @@
       <comment>FK to Contact ID</comment>
       <add>1.5</add>
   </field>
-  <foreignKey> 
-      <name>contact_id</name> 
-      <table>civicrm_contact</table> 
+  <foreignKey>
+      <name>contact_id</name>
+      <table>civicrm_contact</table>
       <key>id</key>
       <add>1.5</add>
       <onDelete>CASCADE</onDelete>
       <export>false</export>
       <required>true</required>
       <comment>FK to Membership Type</comment>
+      <pseudoconstant>
+        <table>civicrm_membership_type</table>
+        <keyColumn>id</keyColumn>
+        <labelColumn>name</labelColumn>
+      </pseudoconstant>
       <add>1.5</add>
   </field>
-  <foreignKey> 
-      <name>membership_type_id</name> 
-      <table>civicrm_membership_type</table> 
+  <foreignKey>
+      <name>membership_type_id</name>
+      <table>civicrm_membership_type</table>
       <key>id</key>
       <add>1.5</add>
       <onDelete>CASCADE</onDelete>
   </foreignKey>
-  <field>  
-      <name>join_date</name>  
+  <field>
+      <name>join_date</name>
       <title>Member Since</title>
       <type>date</type>
       <import>true</import>
       <headerPattern>/^join|(j(oin\s)?date)$/i</headerPattern>
-      <dataPattern>/\d{4}-?\d{2}-?\d{2}/</dataPattern>               
-      <comment>Beginning of initial membership period (member since...).</comment>  
-      <add>1.5</add>  
-  </field> 
-  <field>  
-      <name>start_date</name>  
+      <dataPattern>/\d{4}-?\d{2}-?\d{2}/</dataPattern>
+      <comment>Beginning of initial membership period (member since...).</comment>
+      <add>1.5</add>
+  </field>
+  <field>
+      <name>start_date</name>
       <uniqueName>membership_start_date</uniqueName>
       <title>Membership Start Date</title>
       <type>date</type>
       <import>true</import>
       <headerPattern>/(member(ship)?.)?start(s)?(.date$)?/i</headerPattern>
-      <dataPattern>/\d{4}-?\d{2}-?\d{2}/</dataPattern>               
+      <dataPattern>/\d{4}-?\d{2}-?\d{2}/</dataPattern>
       <comment>Beginning of current uninterrupted membership period.</comment>
-      <add>1.5</add>  
+      <add>1.5</add>
   </field>
-  <field> 
-      <name>end_date</name>  
+  <field>
+      <name>end_date</name>
       <uniqueName>membership_end_date</uniqueName>
       <title>Membership Expiration Date</title>
       <type>date</type>
       <import>true</import>
       <headerPattern>/(member(ship)?.)?end(s)?(.date$)?/i</headerPattern>
       <dataPattern>/\d{4}-?\d{2}-?\d{2}/</dataPattern>
-      <comment>Current membership period expire date.</comment>  
-      <add>1.5</add>  
-  </field> 
-  <field>  
-      <name>source</name>     
+      <comment>Current membership period expire date.</comment>
+      <add>1.5</add>
+  </field>
+  <field>
+      <name>source</name>
       <uniqueName>membership_source</uniqueName>
       <title>Source</title>
       <import>true</import>
        <headerPattern>/^(member(ship?))?source$/i</headerPattern>
       <type>varchar</type>
       <length>128</length>
-      <add>1.5</add>  
-  </field> 
+      <add>1.5</add>
+  </field>
   <field>
       <name>status_id</name>
       <title>Membership Status Id</title>
       <export>false</export>
       <required>true</required>
       <comment>FK to Membership Status</comment>
+      <pseudoconstant>
+        <table>civicrm_membership_status</table>
+        <keyColumn>id</keyColumn>
+        <labelColumn>label</labelColumn>
+      </pseudoconstant>
       <add>1.5</add>
   </field>
-  <foreignKey> 
-      <name>status_id</name> 
-      <table>civicrm_membership_status</table> 
+  <foreignKey>
+      <name>status_id</name>
+      <table>civicrm_membership_status</table>
       <key>id</key>
       <add>1.5</add>
       <onDelete>CASCADE</onDelete>
   </foreignKey>
-  <field>  
-      <name>is_override</name>     
+  <field>
+      <name>is_override</name>
       <title>Status Override</title>
       <import>true</import>
       <headerPattern>/override$/i</headerPattern>
       <type>boolean</type>
       <comment>Admin users may set a manual status which overrides the calculated status. When this flag is true, automated status update scripts should NOT modify status for the record.</comment>
-      <add>1.5</add>  
-  </field> 
+      <add>1.5</add>
+  </field>
   <field>
       <name>owner_membership_id</name>
       <type>int unsigned</type>
       <add>4.3</add>
   </field>
   <field>
-      <name>is_test</name>  
+      <name>is_test</name>
       <title>Test</title>
-      <uniqueName>member_is_test</uniqueName> 
+      <uniqueName>member_is_test</uniqueName>
       <type>boolean</type>
       <default>0</default>
       <import>true</import>
       <headerPattern>/(is.)?test(.member(ship)?)?/i</headerPattern>
   </field>
-  <field>     
-      <name>is_pay_later</name>  
-      <uniqueName>member_is_pay_later</uniqueName> 
+  <field>
+      <name>is_pay_later</name>
+      <uniqueName>member_is_pay_later</uniqueName>
       <title>Is Pay Later</title>
       <type>boolean</type>
       <default>0</default>
       <import>true</import>
       <headerPattern>/(is.)?(pay(.)?later)$/i</headerPattern>
-      <add>2.1</add> 
+      <add>2.1</add>
   </field>
-  <field> 
-    <name>contribution_recur_id</name> 
-    <type>int unsigned</type> 
-    <comment>Conditional foreign key to civicrm_contribution_recur id. Each membership in connection with a recurring contribution carries a foreign key to the recurring contribution record. This assumes we can track these processor initiated events.</comment> 
-    <add>3.3</add> 
-  </field> 
-  <foreignKey> 
-    <name>contribution_recur_id</name> 
-    <table>civicrm_contribution_recur</table> 
-    <key>id</key> 
-    <add>3.3</add> 
+  <field>
+    <name>contribution_recur_id</name>
+    <type>int unsigned</type>
+    <comment>Conditional foreign key to civicrm_contribution_recur id. Each membership in connection with a recurring contribution carries a foreign key to the recurring contribution record. This assumes we can track these processor initiated events.</comment>
+    <add>3.3</add>
+  </field>
+  <foreignKey>
+    <name>contribution_recur_id</name>
+    <table>civicrm_contribution_recur</table>
+    <key>id</key>
+    <add>3.3</add>
     <onDelete>SET NULL</onDelete>
   </foreignKey>
-  <field> 
-    <name>campaign_id</name> 
+  <field>
+    <name>campaign_id</name>
     <uniqueName>member_campaign_id</uniqueName>
     <type>int unsigned</type>
-    <title>Campaign ID</title>
-    <import>true</import> 
-    <comment>The campaign for which this membership is attached.</comment> 
-    <add>3.4</add> 
-  </field> 
-  <foreignKey> 
-    <name>campaign_id</name> 
-    <table>civicrm_campaign</table> 
-    <key>id</key> 
+    <title>Campaign</title>
+    <import>true</import>
+    <comment>The campaign for which this membership is attached.</comment>
+    <pseudoconstant>
+      <table>civicrm_campaign</table>
+      <keyColumn>id</keyColumn>
+      <labelColumn>title</labelColumn>
+    </pseudoconstant>
+    <add>3.4</add>
+  </field>
+  <foreignKey>
+    <name>campaign_id</name>
+    <table>civicrm_campaign</table>
+    <key>id</key>
     <onDelete>SET NULL</onDelete>
   </foreignKey>
 </table>