/**
  * assuming we have an up-to-date database schema, this will populate it
  * with default and initial data. This should be called
  * upon activation of a new plugin, reactivation, and at the end
  * of running migration scripts
  */
 public static function initialize_db_content()
 {
     //let's avoid doing all this logic repeatedly, especially when addons are requesting it
     if (EEH_Activation::$_initialized_db_content_already_in_this_request) {
         return;
     }
     EEH_Activation::$_initialized_db_content_already_in_this_request = true;
     EEH_Activation::initialize_system_questions();
     EEH_Activation::insert_default_status_codes();
     EEH_Activation::generate_default_message_templates();
     EEH_Activation::create_no_ticket_prices_array();
     EE_Registry::instance()->CAP->init_caps();
     EEH_Activation::validate_messages_system();
     EEH_Activation::insert_default_payment_methods();
     //in case we've
     EEH_Activation::remove_cron_tasks();
     EEH_Activation::create_cron_tasks();
     //also, check for CAF default db content
     do_action('AHEE__EEH_Activation__initialize_db_content');
     //also: EEM_Gateways::load_all_gateways() outputs a lot of success messages
     //which users really won't care about on initial activation
     EE_Error::overwrite_success();
 }
 /**
  * Deletes ALL EE tables, Records, and Options from the database.
  */
 public function _delete_db()
 {
     EE_Registry::instance()->load_helper('Activation');
     EE_Maintenance_Mode::instance()->set_maintenance_level(EE_Maintenance_Mode::level_0_not_in_maintenance);
     EEH_Activation::delete_all_espresso_cpt_data();
     EEH_Activation::delete_all_espresso_tables_and_data();
     EEH_Activation::remove_cron_tasks();
     EEH_Activation::deactivate_event_espresso();
     wp_safe_redirect(admin_url('plugins.php'));
     exit;
 }