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 doUp() { global $database; if (DBSchema::existsTable($database, "JobPage")) { $res = DB::query("SELECT * FROM JobPage;"); foreach ($res as $record) { $new_job = new Job(); $new_job->ID = (int) $record['ID']; $new_job->Title = $record['Title']; $new_job->Description = $record['Content']; $new_job->Created = $record['Created']; $new_job->LastEdited = $record['LastEdited']; $new_job->PostedDate = $record['JobPostedDate']; $new_job->ExpirationDate = $record['ExpirationDate']; // company name logic $company_name = $record['JobCompany']; $company = Company::get()->filter('Name', $company_name)->first(); $new_job->CompanyID = is_null($company) ? 0 : $company->ID; if ($new_job->CompanyID == 0) { $new_job->CompanyName = $company_name; } $new_job->MoreInfoLink = $record['JobMoreInfoLink']; $new_job->Location = $record['JobLocation']; $new_job->IsFoundationJob = $record['FoundationJob']; $new_job->IsActive = $record['Active']; $new_job->Instructions2Apply = $record['JobInstructions2Apply']; $new_job->LocationType = $record['LocationType']; $new_job->IsCOANeeded = 0; $new_job->TypeID = 0; //registration request $registration_request = JobRegistrationRequest::get()->filter('Title', $new_job->Title)->first(); if (!is_null($registration_request)) { $new_job->RegistrationRequestID = $registration_request->ID; } $new_job->write(); } DBSchema::dropTable($database, "JobPage"); } }