WordPress.org

Ready to get started?Download WordPress

Forums

Adding Table on Plugin Activation / dbDelta (1 post)

  1. emailmike1994
    Member
    Posted 1 year ago #

    I really could use some help. I'm starting to lose my mind.

    I wrote a plugin a ways back, which worked in the past. On install / activation it is supposed to create a table in the database. I've installed the plugin on a new site and I cannot for the life of me get it to create a table like it had before.

    I replaced my code with the sample code from the Codex and it works. I just can't see how mine differs.

    I've tried to replace what's in the sample code with my own fields and data types and I'm back to square one. The plugin won't write the table.

    I know plenty of people have had issues because of dbDelta and how particular it is about formatting. I've tried to follow people's advice for making mine conform to those rules, but to no avail.

    Please help me see where I'm going wrong.

    global $abc_reviews_db_version;
    $abc_reviews_db_version = "1.0";
    
    function abc_reviews_install() {
       global $wpdb;
       global $abc_reviews_db_version;
    
       $table_name = $wpdb->prefix . "abc_reviews";
    
    $sql = "CREATE TABLE " . $table_name . " (
              id mediumint(9) NOT NULL AUTO_INCREMENT,
              review_date DATE(50) NOT NULL,
              review_author VARCHAR(250) NOT NULL,
              text text NOT NULL,
              UNIQUE KEY id (id)
            );";
    
    require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
    dbDelta($sql);
    
      add_option("abc_reviews_db_version", $abc_reviews_db_version);
    }
    
    register_activation_hook(__FILE__,'abc_reviews_install');

Topic Closed

This topic has been closed to new replies.

About this Topic