function up()
 {
     echo "Starting Migration Proc ...<BR>";
     //check if migration already had ran ...
     $migration = Migration::get()->filter('Name', $this->title)->first();
     if (!$migration) {
         $marketplace_types = array('Private Cloud');
         $factory = new MarketplaceFactory();
         $service = new MarketplaceTypeManager(new SapphireMarketPlaceTypeRepository(), new SapphireSecurityGroupRepository(), SapphireTransactionManager::getInstance());
         foreach ($marketplace_types as $marketplace_type) {
             try {
                 $service->store($factory->buildMarketplaceType($marketplace_type));
             } catch (Exception $ex) {
             }
         }
         DB::query("INSERT INTO CloudServiceOffered_PricingSchemas (CloudServiceOfferedID, PricingSchemaTypeID) SELECT PublicCloudServiceOfferedID, PricingSchemaTypeID FROM PublicCloudServiceOffered_PricingSchemas;");
         DB::query("UPDATE OpenStackImplementationApiCoverage SET ClassName='CloudServiceOffered'\nWHERE ImplementationID IN (SELECT ID FROM CompanyService where ClassName='PublicCloudService');");
         DB::query("UPDATE DataCenterRegion SET CloudServiceID = PublicCloudID;");
         DB::query("ALTER TABLE `CloudServiceOffered_PricingSchemas`\n\t\t\tADD UNIQUE INDEX `CloudServiceOffered_PricingSchemaType` (`CloudServiceOfferedID` ASC, `PricingSchemaTypeID` ASC);");
         DB::query("ALTER TABLE `DataCenterRegion` DROP INDEX `Name_PublicCloud`;");
         DB::query("ALTER TABLE `DataCenterRegion`\n\t\t\tADD UNIQUE INDEX `Name_CloudService` (`Name` ASC, `CloudServiceID` ASC);");
         $migration = new Migration();
         $migration->Name = $this->title;
         $migration->Description = $this->description;
         $migration->Write();
     }
     echo "Ending  Migration Proc ...<BR>";
 }
    function up()
    {
        echo "Starting Migration Proc ...<BR>";
        //check if migration already had ran ...
        $migration = Migration::get()->filter('Name', $this->title)->first();
        if (!$migration) {
            $presentation_type = SummitEventType::get("SummitEventType", "Type = 'Presentation' AND SummitID = 5")->first();
            if ($presentation_type) {
                $presentation_type_id = $presentation_type->ID;
            } else {
                $presentation_type = new SummitEventType();
                $presentation_type->Type = 'Presentation';
                $presentation_type->SummitID = 5;
                $presentation_type->Color = '#D0A9F5';
                $presentation_type_id = $presentation_type->Write();
            }
            $SQL = <<<SQL
                UPDATE SummitEvent SET TypeID = {$presentation_type_id} WHERE ClassName = 'Presentation' AND SummitID = 5;
SQL;
            DB::query($SQL);
            $migration = new Migration();
            $migration->Name = $this->title;
            $migration->Description = $this->description;
            $migration->Write();
        }
        echo "Ending  Migration Proc ...<BR>";
    }
    function up()
    {
        echo "Starting Migration Proc ...<BR>";
        //check if migration already had ran ...
        $migration = Migration::get()->filter('Name', $this->title)->first();
        if (!$migration) {
            $SQL = <<<SQL
INSERT INTO `VideoPresentation`
(
`ClassName`,
`Created`,
`LastEdited`,
`Name`,
`DisplayOnSite`,
`Featured`,
`City`,
`Country`,
`Description`,
`YouTubeID`,
`URLSegment`,
`StartTime`,
`EndTime`,
`Location`,
`Type`,
`Day`,
`Speakers`,
`SlidesLink`,
`event_key`,
`IsKeynote`,
`PresentationCategoryPageID`,
`SummitID`,
`MemberID`)
SELECT 'VideoPresentation', NOW(),NOW(),Name, `DisplayOnSite`,
`Featured`,
`City`,
`Country`,
`Description`,
`YouTubeID`,
`URLSegment`,
`StartTime`,
`EndTime`,
`Location`,
`Type`,
`Day`,
`Speakers`,
`SlidesLink`,
`event_key`,
`IsKeynote`,
`PresentationCategoryPageID`,
`SummitID`,
`MemberID` FROM Presentation;
SQL;
            DB::query($SQL);
            $migration = new Migration();
            $migration->Name = $this->title;
            $migration->Description = $this->description;
            $migration->Write();
        }
        echo "Ending  Migration Proc ...<BR>";
    }
 function up()
 {
     echo "Starting Migration Proc ...<BR>";
     //check if migration already had ran ...
     $migration = Migration::get()->filter('Name', $this->title)->first();
     if (!$migration) {
         $requests = JobRegistrationRequest::get();
         foreach ($requests as $request) {
             if (!empty($request->City)) {
                 //create locations
                 $location = new JobLocation();
                 $location->City = $request->City;
                 $location->State = $request->State;
                 $location->Country = $request->Country;
                 $location->RequestID = $request->ID;
                 $location->Write();
                 $request->LocationType = 'Various';
                 $request->Write();
             }
         }
         $migration = new Migration();
         $migration->Name = $this->title;
         $migration->Description = $this->description;
         $migration->Write();
     }
     echo "Ending  Migration Proc ...<BR>";
 }
 function down()
 {
     SapphireTransactionManager::getInstance()->transaction(function () {
         echo sprintf("downgrading migration # %s ...", $this->title) . PHP_EOL;
         Migration::get()->filter('Name', $this->title)->removeAll();
         $this->doDown();
     });
 }
 function up()
 {
     echo "Starting Migration Proc ...<BR>";
     //check if migration already had ran ...
     $migration = Migration::get()->filter('Name', $this->title)->first();
     $promo_code_type = isset($_REQUEST['promo_code_type']) ? intval($_REQUEST['promo_code_type']) : null;
     $promo_code_file = isset($_REQUEST['promo_code_file']) ? $_REQUEST['promo_code_file'] : null;
     if (is_null($promo_code_type)) {
         echo 'ERROR - promo_code_type param missing!';
         exit;
     }
     if (is_null($promo_code_file)) {
         echo 'ERROR - promo_code_file param missing!';
         exit;
     }
     $base_path = ASSETS_PATH;
     $file_path = $base_path . '/' . $promo_code_file;
     $type = explode(".", $file_path);
     if (!strtolower(end($type)) == 'csv') {
         echo 'ERROR - file hast not a csv extension!';
         exit;
     }
     if (!file_exists($file_path)) {
         echo sprintf('ERROR - %s file does not exists!', $file_path);
         exit;
     }
     $reader = new CSVReader($file_path);
     $row = 0;
     do {
         $line = $reader->getLine();
         if ($line) {
             ++$row;
             if ($row === 1) {
                 continue;
             }
             // skip header ...
             switch ($promo_code_type) {
                 case 1:
                     $type = 'ACCEPTED';
                     break;
                 case 2:
                     $type = 'ALTERNATE';
                     break;
             }
             $code = new SpeakerSummitRegistrationPromoCode();
             $code->Code = $line[0];
             $code->Type = $type;
             $code->SummitID = Summit::get_active()->ID;
             try {
                 $code->write();
             } catch (Exception $ex) {
                 SS_Log::log($ex->getMessage(), SS_Log::ERR);
             }
         }
     } while ($line);
     echo "Ending  Migration Proc ...<BR>";
 }
 function up()
 {
     echo "Starting Migration Proc ...<BR>";
     //check if migration already had ran ...
     $migration = Migration::get()->filter('Name', $this->title)->first();
     if (!$migration) {
         DB::query("UPDATE Member SET ShowDupesOnProfile = 1 ;");
     }
     echo "Ending  Migration Proc ...<BR>";
 }
Ejemplo n.º 8
0
 function up()
 {
     echo "Starting Migration Proc ...<BR>";
     //check if migration already had ran ...
     $migration = Migration::get()->filter('Name', $this->title)->first();
     if (!$migration) {
         DB::query("update JobPage set active =1;");
         DB::query("update JobPage set ExpirationDate = DATE_ADD(JobPostedDate, INTERVAL 2 MONTH)\nwhere JobPage.JobPostedDate IS NOT NULL;");
         $migration = new Migration();
         $migration->Name = $this->title;
         $migration->Description = $this->description;
         $migration->Write();
     }
     echo "Ending  Migration Proc ...<BR>";
 }
 function up()
 {
     echo sprintf("starting migration # %s ...", $this->title) . PHP_EOL;
     //check if migration already had ran ...
     $migration = Migration::get()->filter('Name', $this->title)->first();
     if (!$migration) {
         $this->doUp();
         $migration = new Migration();
         $migration->Name = $this->title;
         $migration->Description = $this->description;
         $migration->Write();
         echo sprintf("ending migration # %s ...", $this->title) . PHP_EOL;
     } else {
         echo sprintf("migration # %s already ran !...", $this->title) . PHP_EOL;
     }
 }
 function up()
 {
     echo "Starting Migration Proc ...<BR>";
     $migration = Migration::get()->filter('Name', $this->title)->first();
     if (!$migration) {
         $migration = new Migration();
         $migration->Name = $this->title;
         $migration->Description = $this->description;
         $migration->Write();
         //run migration
         $query = "UPDATE Deployment, (\n                SELECT Org.ID AS OrgID, Deployment.ID AS DepID\n                FROM Org, Deployment, DeploymentSurvey, Member\n                WHERE\n                Member.ID = DeploymentSurvey.MemberID AND\n                Org.ID = Member.OrgID AND\n                Deployment.DeploymentSurveyID = DeploymentSurvey.ID\n            ) AS t1\n            SET Deployment.OrgID = t1.OrgID\n            WHERE t1.DepID = Deployment.ID";
         DB::query($query);
     } else {
         echo "Migration Already Ran! <BR>";
     }
     echo "Migration Done <BR>";
 }
 function up()
 {
     echo "Starting Migration Proc ...<BR>";
     //check if migration already had ran ...
     $migration = Migration::get()->filter('Name', $this->title)->first();
     if (!$migration) {
         $g = new Group();
         $g->setTitle('CCLA Admin');
         $g->setDescription('Company CCLA Admin');
         $g->setSlug(ICLAMemberDecorator::CCLAGroupSlug);
         $g->write();
         Permission::grant($g->getIdentifier(), ICLAMemberDecorator::CCLAPermissionSlug);
         $migration = new Migration();
         $migration->Name = $this->title;
         $migration->Description = $this->description;
         $migration->Write();
     }
     echo "Ending  Migration Proc ...<BR>";
 }
 function up()
 {
     echo "Starting  Proc ...<BR>";
     $migration = Migration::get()->filter('Name', $this->title)->first();
     if (!$migration) {
         $migration = new Migration();
         $migration->Name = $this->title;
         $migration->Description = $this->description;
         $migration->Write();
         //run migration
         $surveys = DeploymentSurvey::get();
         foreach ($surveys as $survey) {
             $survey->SendDigest = 1;
             $survey->write();
         }
     } else {
         echo "Migration Already Ran! <BR>";
     }
     echo "Migration Done <BR>";
 }
    function up()
    {
        echo "Starting Migration Proc ...<BR>";
        $migration = Migration::get()->filter('Name', $this->title)->first();
        if (!$migration) {
            //run migration
            $query = <<<SQL
update SiteTree_Live
SET ClassName='AnniversaryPage'
where ID = 891;
SQL;
            DB::query($query);
            $migration = new Migration();
            $migration->Name = $this->title;
            $migration->Description = $this->description;
            $migration->Write();
        } else {
            echo "Migration Already Ran! <BR>";
        }
        echo "Migration Done <BR>";
    }
 function up()
 {
     echo "Starting Migration Proc ...<BR>";
     //check if migration already had ran ...
     $migration = Migration::get()->filter('Name', $this->title)->first();
     if (!$migration) {
         $programs = DB::query('SELECT P.*,C.CompanyID from TrainingProgram P INNER JOIN Contract C on C.ID = P.TrainingContractID;');
         $service = new TrainingManager(new SapphireTrainingServiceRepository(), new SapphireMarketPlaceTypeRepository(), new MarketPlaceTypeAddPolicyStub(), null, new CacheServiceStub(), new MarketplaceFactory(), SapphireTransactionManager::getInstance());
         $factory = new TrainingFactory();
         foreach ($programs as $program) {
             $company_id = (int) $program['CompanyID'];
             $company = Company::get()->byID($company_id);
             $program_id = (int) $program['ID'];
             $training = $factory->buildTraining($program['Name'], $program['Description'], true, $company);
             $training->CompanyID = $company_id;
             $training->write();
             //get former courses and associate it with new entity
             $courses = TrainingCourse::get()->filter('ProgramID', $program_id);
             if ($courses && count($courses) > 0) {
                 foreach ($courses as $course) {
                     $course->TrainingServiceID = $training->getIdentifier();
                     $course->write();
                 }
             }
         }
         //db alter
         DB::query('DROP TABLE Training;');
         DB::query('ALTER TABLE `TrainingCourse` DROP COLUMN ProgramID;');
         DB::query('DROP TABLE TrainingProgram;');
         $new_training_group_slug = ITraining::MarketPlaceGroupSlug;
         DB::query("\n\t\t\tUPDATE `Company_Administrators`\n\t\t\tSET GroupID = (SELECT ID FROM `Group` WHERE code='{$new_training_group_slug}' LIMIT 1 )\n\t\t\tWHERE ID IN (\n\t\t\t\tSELECT tmp.id FROM\n\t\t\t\t(\n\t\t\t\t\tSELECT ID FROM `Company_Administrators`\n\t\t\t\t\tWHERE GroupID IN ( SELECT ID FROM `Group` where code='training-admins')\n\t\t\t\t) as tmp\n\t\t\t);\n\t\t\t");
         DB::query("\n\t\t\tDELETE Permission\n\t\t\tFROM Permission\n\t\t\tWHERE Code='MANAGE_COMPANY_TRAINING';\n\t\t\t");
         $migration = new Migration();
         $migration->Name = $this->title;
         $migration->Description = $this->description;
         $migration->Write();
     }
     echo "Ending  Migration Proc ...<BR>";
 }
 function up()
 {
     echo "Starting Migration Proc ...<BR>";
     $migration = Migration::get()->filter('Name', $this->title)->first();
     if (!$migration) {
         $migration = new Migration();
         $migration->Name = $this->title;
         $migration->Description = $this->description;
         $migration->Write();
         DB::query("DROP TABLE IF EXISTS `Continent_Countries`;");
         DB::query("CREATE TABLE `Continent_Countries` (\n  `ContinentID` int(11) NOT NULL,\n  `CountryCode` varchar(4) NOT NULL\n) ENGINE=InnoDB DEFAULT CHARSET=utf8;");
         DB::query("LOCK TABLES `Continent_Countries` WRITE;");
         DB::query("INSERT INTO `Continent_Countries` VALUES (3,'AD'),(5,'AE'),(5,'AF'),(1,'AI'),(3,'AL'),(5,'AM'),(1,'AN'),(4,'AO'),(7,'AQ'),(2,'AR'),(1,'AS'),(3,'AT'),(6,'AU'),(3,'AX'),(5,'AZ'),(1,'BB'),(3,'BA'),(5,'BD'),(3,'BE'),(4,'BF'),(3,'BG'),(5,'BH'),(2,'BO'),(2,'BR'),(5,'BT'),(4,'BW'),(4,'ZW'),(4,'ZM'),(4,'ZA'),(5,'VN'),(2,'VE'),(2,'UY'),(1,'US'),(1,'UM'),(4,'UG'),(3,'UA'),(4,'TZ'),(5,'TW'),(1,'TT'),(3,'TR'),(5,'TR'),(4,'TN'),(5,'TH'),(7,'TF'),(1,'TC'),(5,'SY'),(1,'SV'),(4,'SN'),(3,'SK'),(3,'SI'),(5,'SG'),(3,'SE'),(4,'SD'),(8,'SB'),(5,'SA'),(4,'RW'),(3,'RU'),(3,'RS'),(3,'RO'),(5,'QA'),(2,'PY'),(3,'PT'),(1,'PR'),(3,'PL'),(5,'PK'),(5,'PH'),(8,'PG'),(8,'PF'),(2,'PE'),(1,'PA'),(8,'NZ'),(5,'NP'),(3,'NO'),(3,'NL'),(4,'NG'),(4,'NE'),(4,'NA'),(5,'MY'),(1,'MX'),(4,'MU'),(3,'MT'),(5,'MO'),(5,'MN'),(5,'MM'),(3,'MK'),(3,'ME'),(3,'MD'),(3,'MC'),(4,'MA'),(4,'LY'),(3,'LV'),(3,'LU'),(3,'LT'),(5,'LK'),(1,'LC'),(5,'LB'),(5,'KZ'),(1,'KY'),(5,'KW'),(5,'KR'),(5,'KP'),(5,'KH'),(4,'KE'),(5,'JP'),(5,'JO'),(1,'JM'),(3,'IT'),(3,'IS'),(5,'IR'),(4,'IO'),(5,'IN'),(5,'IL'),(3,'IE'),(5,'ID'),(3,'HU'),(3,'HR'),(1,'HN'),(5,'HK'),(1,'GT'),(3,'GR'),(1,'GP'),(3,'BY'),(1,'CA'),(4,'CM'),(1,'CR'),(3,'CY'),(3,'DK'),(2,'EC'),(3,'ES'),(3,'FR'),(3,'GE'),(3,'CH'),(4,'CI'),(2,'CL'),(5,'CN'),(2,'CO'),(1,'CU'),(3,'CZ'),(3,'DE'),(3,'FI'),(3,'FX'),(4,'GH'),(8,'CX'),(1,'DO'),(4,'DZ'),(3,'EE'),(4,'EG'),(3,'GB');");
         DB::query("UNLOCK TABLES;");
         DB::query("DROP TABLE IF EXISTS `Continent`;");
         DB::query("CREATE TABLE `Continent` (\n  `ID` int(11) NOT NULL AUTO_INCREMENT,\n  `Name` varchar(32) NOT NULL,\n  PRIMARY KEY (`ID`)\n) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;");
         DB::query("LOCK TABLES `Continent` WRITE;");
         DB::query("INSERT INTO `Continent` VALUES (1,'North America'),(2,'South America'),(3,'Europe'),(4,'Africa'),(5,'Asia'),(6,'Australia'),(7,'Antarctica'),(8,'Oceania');");
         DB::query("UNLOCK TABLES;");
     } else {
         echo "Migration Already Ran! <BR>";
     }
     echo "Migration Done <BR>";
 }
 function up()
 {
     echo "Starting Migration Proc ...<BR>";
     //check if migration already had ran ...
     $migration = Migration::get()->filter('Name', $this->title)->first();
     if (!$migration) {
         $marketplace_types = array('Training', 'Public Cloud', 'Appliance', 'Distribution', 'Consultant');
         $factory = new MarketplaceFactory();
         $service = new MarketplaceTypeManager(new SapphireMarketPlaceTypeRepository(), new SapphireSecurityGroupRepository(), SapphireTransactionManager::getInstance());
         foreach ($marketplace_types as $marketplace_type) {
             try {
                 $service->store($factory->buildMarketplaceType($marketplace_type));
             } catch (Exception $ex) {
             }
         }
         DB::query("ALTER TABLE `OpenStackRelease_OpenStackComponents`\n\t\t\tADD UNIQUE INDEX `Release_Component` (`OpenStackReleaseID` ASC, `OpenStackComponentID` ASC);");
         DB::query("ALTER TABLE `CloudServiceOffered_PricingSchemas`\n\t\t\tADD UNIQUE INDEX `CloudServiceOffered_PricingSchemaType` (`CloudServiceOfferedID` ASC, `PricingSchemaTypeID` ASC);");
         $migration = new Migration();
         $migration->Name = $this->title;
         $migration->Description = $this->description;
         $migration->Write();
     }
     echo "Ending  Migration Proc ...<BR>";
 }
 function up()
 {
     echo "Starting Migration Proc ...<BR>";
     //check if migration already had ran ...
     $migration = Migration::get()->filter('Name', $this->title)->First();
     if (!$migration) {
         //if not create migration and run it...
         $migration = new Migration();
         $migration->Name = $this->title;
         $migration->Description = $this->description;
         $migration->Write();
         //run migration proc
         //get migration data from cvs file,
         //this cvs file contains all Orgs that should be splitted on several
         //current affiliations
         $ds = new CvsDataSourceReader("\t");
         $cur_path = Director::baseFolder();
         $ds->Open($cur_path . "/openstack/code/migrations/data/orgs.csv");
         $headers = $ds->getFieldsInfo();
         $split_organizations = array();
         //and stored those ones on a hash
         try {
             while (($row = $ds->getNextRow()) !== FALSE) {
                 $id = $row[$headers["ID"]];
                 $split = $row[$headers["Split"]];
                 $name = $row[$headers["Name"]];
                 if ($split == 'True' || $split == 'SEMICOLON') {
                     $split_organizations[$id] = array("Split" => $split, "Name" => $name);
                 }
             }
         } catch (Exception $e) {
             $status = 0;
         }
         echo sprintf("Multiple Organization Count %d </BR>", count($split_organizations));
         echo 'Procesing Members.... </BR>';
         $count = DB::query("SELECT COUNT(ID) From Member Where OrgID IS NOT NULL;")->value();
         echo sprintf("%d Members to process </BR>", $count);
         $page = 0;
         $page_size = 1000;
         $page_count = ceil($count / $page_size);
         for ($page = 0; $page <= $page_count; $page++) {
             echo sprintf("Procesing Member Page  %d Of %d ...</BR>", $page, $page_count);
             $start_from = $page * $page_size;
             //get current org
             $res = DB::query("SELECT Member.ID AS MemberID, Org.ID AS OrgID, Org.Name AS OrgName , Org.IsStandardizedOrg, Member.JobTitle, Member.Role From Member INNER JOIN Org ON Org.ID=Member.OrgID  Where OrgID IS NOT NULL LIMIT {$start_from}, {$page_size};");
             $multi_org_id = null;
             foreach ($res as $record) {
                 $curOrgID = $record["OrgID"];
                 $curMemberID = $record["MemberID"];
                 $curRole = $record["Role"];
                 $curJobTitle = $record["JobTitle"];
                 //is multiple current affiliations?
                 if (isset($split_organizations[$curOrgID])) {
                     $multi_org_id = $curOrgID;
                     $org_aux = $split_organizations[$curOrgID];
                     $org_name = $org_aux["Name"];
                     $mode = $org_aux["Split"];
                     $affiliations = array();
                     switch ($mode) {
                         case "True":
                             $affiliations = explode(",", $org_name);
                             break;
                         case "SEMICOLON":
                             $affiliations = explode(";", $org_name);
                             break;
                     }
                     foreach ($affiliations as $a) {
                         $a = Convert::raw2sql(trim($a));
                         $org_id = DB::query("SELECT ID From Org WHERE Name = '{$a}' AND ID <> {$curOrgID} ORDER BY ID ASC LIMIT 1")->value();
                         if (is_null($org_id)) {
                             $org_id = DB::query("SELECT ID From Org WHERE  Name Like '%{$a}%' AND ID <> {$curOrgID} ORDER BY ID ASC LIMIT 1")->value();
                         }
                         if (is_null($org_id)) {
                             //create Org
                             $org_id = $this->writeOrg($a);
                         }
                         //create affiliation
                         $this->writeAffiliation(null, null, null, null, true, $curMemberID, $org_id);
                         //check if we have it on history repeated to get the from date
                         $res2 = DB::query("SELECT NewAffiliation,OldAffiliation,Created,LastEdited FROM AffiliationUpdate WHERE MemberID={$curMemberID} AND NewAffiliation=OldAffiliation AND OldAffiliation='{$curOrgID}' ORDER BY Created ASC;");
                         if ($res2) {
                             foreach ($res2 as $record2) {
                                 $this->updateAffiliationStartDate($record2['Created'], $curMemberID, $org_id);
                                 break;
                             }
                         }
                     }
                 } else {
                     //single current affiliation
                     //create affiliation
                     $this->writeAffiliation(null, null, $curJobTitle, $curRole, true, $curMemberID, $curOrgID);
                 }
                 //now build affiliation history ...
                 if (!is_null($multi_org_id)) {
                     $res3 = DB::query("SELECT NewAffiliation,OldAffiliation,Created,LastEdited FROM AffiliationUpdate WHERE MemberID={$curMemberID} AND NewAffiliation<>'{$multi_org_id}' AND OldAffiliation<>'{$multi_org_id}'   ORDER BY Created ASC;");
                 } else {
                     $res3 = DB::query("SELECT NewAffiliation,OldAffiliation,Created,LastEdited FROM AffiliationUpdate WHERE MemberID={$curMemberID} ORDER BY Created ASC;");
                 }
                 foreach ($res3 as $record3) {
                     $old_org = Convert::raw2sql(trim($record3["OldAffiliation"]));
                     $new_org = Convert::raw2sql(trim($record3["NewAffiliation"]));
                     $created = $record3["Created"];
                     $new_org_id = $this->getOrgId($new_org);
                     $old_org_id = $this->getOrgId($old_org);
                     if (is_null($new_org_id)) {
                         continue;
                     }
                     //create affiliation
                     if ($new_org_id == $old_org_id || is_null($old_org_id)) {
                         //check if current
                         $count = DB::query("SELECT COUNT(ID) FROM Affiliation WHERE MemberID={$curMemberID} AND OrganizationID={$new_org_id} AND Current=1;")->value();
                         if ($count > 0) {
                             $this->updateAffiliationStartDate($created, $curMemberID, $new_org_id);
                             continue;
                         }
                         //check if does not not exists already
                         $count = DB::query("SELECT COUNT(ID) FROM Affiliation WHERE MemberID={$curMemberID} AND OrganizationID={$new_org_id}")->value();
                         if ($count > 0) {
                             continue;
                         }
                         //new one
                         $this->writeAffiliation($created, null, null, null, false, $curMemberID, $new_org_id);
                     } else {
                         //try to update old affiliation
                         $this->updateAffiliationEndDate($created, $curMemberID, $old_org_id);
                         //check if current
                         $count = DB::query("SELECT COUNT(ID) FROM Affiliation WHERE MemberID={$curMemberID} AND OrganizationID={$new_org_id} AND Current=1;")->value();
                         if ($count > 0) {
                             $this->updateAffiliationStartDate($created, $curMemberID, $new_org_id);
                             continue;
                         }
                         $this->writeAffiliation($created, null, null, null, false, $curMemberID, $new_org_id);
                     }
                 }
             }
         }
     } else {
         echo "Migration Already Ran! <BR>";
     }
     echo "Migration Done <BR>";
 }