public function requireDefaultRecords() { parent::requireDefaultRecords(); if (!$this->owner->config()->upgrade_on_build) { return; } // Perform migrations (the legacy field will be left in the DB by the ORM) $class = $this->owner->class; $baseclass = $this->ownerBaseClass; if ($baseclass == $class) { // if(in_array('FeaturedImageExtension', Config::inst()->get($class, 'extensions'))){ $rows = DB::query('SELECT * FROM "' . $baseclass . '"'); $altered = false; foreach ($rows as $page) { if (array_key_exists('FeaturedImageID', $page) && ($imageID = $page['FeaturedImageID'])) { DB::query('INSERT INTO "' . $baseclass . '_FeaturedImages" (' . $class . 'ID, ImageID) VALUES (' . $page['ID'] . ', ' . $page['FeaturedImageID'] . ')'); $altered = true; //$page->FeaturedImages()->add($imageID); //$page->FeaturedImageID = null; // leave as is... // $page->write(); } } // Now drop the legacy field if ($altered) { DB::query('ALTER TABLE "' . $baseclass . '" DROP "FeaturedImageID"'); DB::alteration_message('Migrated FeaturedImages to many_many on ' . $baseclass, 'changed'); } } }