database model develop
authorSteve Sutton <steve@gaslightmedia.com>
Wed, 3 Dec 2014 15:08:41 +0000 (10:08 -0500)
committerSteve Sutton <steve@gaslightmedia.com>
Wed, 3 Dec 2014 15:08:41 +0000 (10:08 -0500)
add model class for creating the db tables

glm-members.php
models/database.php

index 1e53890..3e34b38 100644 (file)
@@ -9,15 +9,16 @@ Author URI:
 License: Gaslght Media All Rights Reserved
 */
 
+define('GLM_MEMBERS_PLUGIN_FILE_PATH', __FILE__);
 define('GLM_MEMBERS_VERSION', '1.0');
 define('GLM_MEMBERS_VRS_OPTION_NAME', 'glm_member_db_version');
 define('GLM_MEMBERS_MEMBER_TABLE', 'glm_members_members');
 define('GLM_MEMBERS_LOCATION_TABLE', 'glm_members_locations');
 define('GLM_MEMBERS_CONTACT_TABLE', 'glm_members_contacts');
+define('GLM_MEMBERS_STATE_TABLE', 'glm_members_states');
 define('GLM_MEMBERS_REGION_TABLE', 'glm_members_regions');
 define('GLM_MEMBERS_COUNTY_TABLE', 'glm_members_counties');
 define('GLM_MEMBERS_CITY_TABLE', 'glm_members_cities');
-define('GLM_MEMBERS_PLUGIN_FILE_PATH', __FILE__);
 
 require_once 'models/database.php';
 $glm_member_db = new glm_members_models_database($GLOBALS['wpdb']);
index dde941d..0a1903b 100644 (file)
@@ -36,6 +36,7 @@ class glm_members_models_database
     public $regionTable;
     public $countyTable;
     public $cityTable;
+    public $stateTable;
 
     public function __construct($wpdb)
     {
@@ -52,12 +53,11 @@ class glm_members_models_database
         $this->regionTable   = $this->wpdb->prefix . GLM_MEMBERS_REGION_TABLE;
         $this->countyTable   = $this->wpdb->prefix . GLM_MEMBERS_COUNTY_TABLE;
         $this->cityTable     = $this->wpdb->prefix . GLM_MEMBERS_CITY_TABLE;
+        $this->stateTable    = $this->wpdb->prefix . GLM_MEMBERS_STATE_TABLE;
     }
 
     public function install()
     {
-
-
         $charset_collate = $this->wpdb->get_charset_collate();
 
         $sql = "CREATE TABLE {$this->membersTable} (
@@ -89,11 +89,63 @@ class glm_members_models_database
             ) {$charset_collate}";
         dbDelta($sql);
 
+        $sql = "CREATE TABLE {$this->contactTable} (
+            id BIGINT(20) NOT NULL AUTO_INCREMENT,
+            create_time DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL,
+            modify_time DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL,
+            member BIGINT(20) NOT NULL,
+            title TEXT DEFAULT '' NOT NULL,
+            fname TEXT DEFAULT '' NOT NULL,
+            lname TEXT DEFAULT '' NOT NULL,
+            email TEXT DEFAULT '' NOT NULL,
+            phone TEXT DEFAULT '' NOT NULL,
+            send_mail BOOLEAN DEFAULT true NOT NULL,
+            UNIQUE KEY id (id)
+            ) {$charset_collate}";
+        dbDelta($sql);
+
+        $sql = "CREATE TABLE {$this->regionTable} (
+            id BIGINT(20) NOT NULL AUTO_INCREMENT,
+            create_time DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL,
+            modify_time DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL,
+            name TEXT NOT NULL,
+            UNIQUE KEY id (id)
+        ) {$charset_collate}";
+        dbDelta($sql);
+
+        $sql = "CREATE TABLE {$this->countyTable} (
+            id BIGINT(20) NOT NULL AUTO_INCREMENT,
+            create_time DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL,
+            modify_time DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL,
+            name TEXT NOT NULL,
+            state INTEGER NOT NULL,
+            region INTEGER,
+            UNIQUE KEY id (id)
+        ) {$charset_collate}";
+        dbDelta($sql);
+
         $sql = "CREATE TABLE {$this->cityTable} (
             id BIGINT(20) NOT NULL AUTO_INCREMENT,
             create_time DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL,
             modify_time DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL,
             name TEXT NOT NULL,
+            state INTEGER NOT NULL,
+            county INTEGER,
+            region INTEGER,
+            lat DOUBLE PRECISION (9, 7) DEFAULT 0 NOT NULL,
+            lon DOUBLE PRECISION (10, 7) DEFAULT 0 NOT NULL,
+            description TEXT DEFAULT '' NOT NULL,
+            UNIQUE KEY id (id)
+        ) {$charset_collate}";
+        dbDelta($sql);
+
+        $sql = "CREATE TABLE {$this->stateTable} (
+            id BIGINT(20) NOT NULL AUTO_INCREMENT,
+            create_time DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL,
+            modify_time DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL,
+            name TEXT NOT NULL,
+            abb TEXT NOT NULL,
+            us_state BOOLEAN DEFAULT true NOT NULL,
             UNIQUE KEY id (id)
         ) {$charset_collate}";
         dbDelta($sql);