/**
  * Does the traditional work of setting up the plugin's database and adding default data.
  * If migration script/process did not exist, this is what would happen on every activation/reactivation/upgrade.
  * NOTE: if we're in maintenance mode (which would be the case if we detect there are data
  * migration scripts that need to be run and a version change happens), enqueues core for database initialization,
  * so that it will be done when migrations are finished
  *
  * @param boolean $initialize_addons_too if true, we double-check addons' database tables etc too;
  * @param boolean $verify_schema if true will re-check the database tables have the correct schema.
  *                               This is a resource-intensive job
  * so we prefer to only do it when necessary
  * @return void
  */
 public function initialize_db_if_no_migrations_required($initialize_addons_too = FALSE, $verify_schema = true)
 {
     $request_type = $this->detect_req_type();
     //only initialize system if we're not in maintenance mode.
     if (EE_Maintenance_Mode::instance()->level() != EE_Maintenance_Mode::level_2_complete_maintenance) {
         update_option('ee_flush_rewrite_rules', TRUE);
         if ($verify_schema) {
             EEH_Activation::initialize_db_and_folders();
         }
         EEH_Activation::initialize_db_content();
         EEH_Activation::system_initialization();
         if ($initialize_addons_too) {
             $this->initialize_addons();
         }
     } else {
         EE_Data_Migration_Manager::instance()->enqueue_db_initialization_for('Core');
     }
     if ($request_type == EE_System::req_type_new_activation || $request_type == EE_System::req_type_reactivation || $request_type == EE_System::req_type_upgrade) {
         add_action('AHEE__EE_System__load_CPTs_and_session__start', array($this, 'redirect_to_about_ee'), 9);
     }
 }
 /**
  * Does the traditional work of setting up the plugin's database and adding default data.
  * If migration script/process did not exist, this is what would happen on every activation/reactivation/upgrade.
  * NOTE: does nothing if we're in maintenance mode (which would be the case if we detect there are data
  * migration scripts that need to be run)
  * @return void
  */
 public function initialize_db_if_no_migrations_required()
 {
     $request_type = $this->detect_req_type();
     //only initialize system if we're not in maintenance mode.
     if (EE_Maintenance_Mode::instance()->level() != EE_Maintenance_Mode::level_2_complete_maintenance) {
         // set flag for flushing rewrite rules
         update_option('ee_flush_rewrite_rules', TRUE);
         EEH_Activation::system_initialization();
         EEH_Activation::initialize_db_and_folders();
         EEH_Activation::initialize_db_content();
         //foreach registered addon, make sure its db is up-to-date too
         foreach (EE_Registry::instance()->addons as $addon) {
             $addon->initialize_db_if_no_migrations_required();
         }
     }
     if ($request_type == EE_System::req_type_new_activation || $request_type == EE_System::req_type_reactivation || $request_type == EE_System::req_type_upgrade) {
         add_action('AHEE__EE_System__load_CPTs_and_session__start', array($this, 'redirect_to_about_ee'), 9);
     }
 }