=== modified file 'bin/pt-online-schema-change'
--- bin/pt-online-schema-change	2013-04-19 23:26:48 +0000
+++ bin/pt-online-schema-change	2013-06-07 00:30:38 +0000
@@ -7750,6 +7750,10 @@
       $tbl = $dsn->{t};  
    }
 
+   if ( $o->get('create-table-like') ) {
+      $o->set('alter-foreign-keys-method', 'none')
+   }
+
    my $alter_fk_method = $o->get('alter-foreign-keys-method') || '';
    if ( $alter_fk_method eq 'drop_swap' ) {
       $o->set('swap-tables',    0);
@@ -9488,7 +9492,14 @@
       # or another table, we can still have a collision. But if there are
       # multiple FKs on this table, it's hard to know which one is causing the
       # trouble. Should we generate random/UUID FK names or something instead?
-      my $sql    = $ddl;
+      my $sql;
+      if ( $o->get('create-table-like') ) {
+         $sql = "CREATE TABLE $table_name LIKE " . $orig_tbl->{tbl} . "\n";
+      }
+      else {
+         $sql = $ddl;
+      }
+
       $sql       =~ s/\ACREATE TABLE .*?\($/CREATE TABLE $quoted (/m;
       $sql       =~ s/^  CONSTRAINT `/  CONSTRAINT `_/gm;
       if ( $o->get('default-engine') ) {
@@ -10554,6 +10565,13 @@
 
 =over
 
+=item --create-table-like
+
+Use the create table like construct to preserve the index of the original table.
+This will skip anything related to foreign keys.
+
+=over
+
 =item auto
 
 Automatically determine which method is best.  The tool uses

