function requireDefaultRecords()
 {
     parent::requireDefaultRecords();
     // we must check for individual database types here because each deals with schema in a none standard way
     //can we use Table::has_field ???
     $db = DB::getConn();
     if ($db->hasTable("Product_OrderItem")) {
         if ($db instanceof PostgreSQLDatabase) {
             $exist = DB::query("SELECT column_name FROM information_schema.columns WHERE table_name ='Product_OrderItem' AND column_name = 'ProductVariationVersion'")->numRecords();
         } else {
             // default is MySQL - broken for others, each database conn type supported must be checked for!
             $exist = DB::query("SHOW COLUMNS FROM \"Product_OrderItem\" LIKE 'ProductVariationVersion'")->numRecords();
         }
         if ($exist > 0) {
             DB::query("\n\t\t\t\t\tUPDATE \"OrderItem\", \"ProductVariation_OrderItem\"\n\t\t\t\t\t\tSET \"OrderItem\".\"Version\" = \"ProductVariation_OrderItem\".\"ProductVariationVersion\"\n\t\t\t\t\tWHERE \"OrderItem\".\"ID\" = \"ProductVariation_OrderItem\".\"ID\"\n\t\t\t\t");
             DB::query("\n\t\t\t\t\tUPDATE \"OrderItem\", \"ProductVariation_OrderItem\"\n\t\t\t\t\t\tSET \"OrderItem\".\"BuyableID\" = \"ProductVariation_OrderItem\".\"ProductVariationID\"\n\t\t\t\t\tWHERE \"OrderItem\".\"ID\" = \"ProductVariation_OrderItem\".\"ID\"\n\t\t\t\t");
             DB::query("ALTER TABLE \"ProductVariation_OrderItem\" CHANGE COLUMN \"ProductVariationVersion\" \"_obsolete_ProductVariationVersion\" Integer(11)");
             DB::query("ALTER TABLE \"ProductVariation_OrderItem\" CHANGE COLUMN \"ProductVariationID\" \"_obsolete_ProductVariationID\" Integer(11)");
             DB::alteration_message('made ProductVariationVersion and ProductVariationID obsolete in ProductVariation_OrderItem', 'obsolete');
         }
     }
 }