Laravel Migration - Mise À Jour Enum Options

J'essaye d'ajouter un enum option pour une table (sans perdre l'actuel ensemble de données) en utilisant le générateur de schéma.

La seule chose que j'ai vraiment été en mesure de trouver la colonne altération est http://www.flipflops.org/2013/05/25/modify-an-existing-database-column-in-a-laravel-migration/ et je crois que c'était écrit pour Laravel3.

Même si, j'ai essayé d'utiliser la DB::query('ALTER TABLE ...'); commandement, mais il erronées avec call_user_func_array() s'attend à ce paramètre 1 pour être un rappel de classe 'Éclairer\Database\MySqlConnection' n'est pas une méthode "query".

DB::query("ALTER TABLE users CHANGE COLUMN permissions permissions ENUM('admin', 'user', 'candidate')");

J'ai aussi essayé de faire ceci:

Schema::table('users', function ($table) {
    $table->enum('permissions', array('admin', 'user', 'candidate'))->default('user');
});

mais une erreur disant que la colonne existe déjà.

Quelle est la meilleure façon de faire ce que je suis en train de le faire sans perdre toutes les données dans la colonne?

  • je pense que tout est manquant est juste ->modifier();
  • c'était laravel 4.2, donc les choses sont probablement différente maintenant.
InformationsquelleAutor Lisa | 2014-08-11