2014-12-16 15 views
6

Próbuję zmienić tabelę i zmienić jego silnik przechowywania na InnoDb. Po uruchomieniu php artisan migrate kończy się bezbłędnie. Jednak kiedy sprawdzam silnik pamięci w Sequel Pro, nic się nie zmienia.Laravel Schema Builder zmiana silnika magazynu

public function up() 
{ 
    Schema::table('tests', function(Blueprint $t) { 
     $t->engine = 'InnoDB'; 
     $t->foreign('group_id')->references('id')->on('test_groups')->onDelete('restrict'); 
    }); 
} 
+1

Nie jestem pewien, ale myślę, że można ją określić tylko podczas tworzenia tabeli, nie później zmienić. – lukasgeiter

+0

Dość pewny, że @lukasgeiter jest tam poprawny. – alexrussell

Odpowiedz

10

Od @alexrussell potwierdziła moje wierzyć, jestem prawie pewien, można jedynie określić silnik składowania podczas tworzenia tabeli z Schema::create().
Jednak zawsze można użyć surowego SQL w ostateczności:

DB::statement('ALTER TABLE tests ENGINE = InnoDB'); 
Powiązane problemy