php c'est - Ajouter une nouvelle colonne à la table existante dans une migration





laravel quoi (6)


Si vous utilisez Laravel 5, la commande serait;

php artisan make:migration add_paid_to_users

Toutes les commandes pour faire des choses (contrôleurs, modèles, migrations, etc.) ont été déplacées sous la commande make:

php artisan migrate est toujours le même.

Je n'arrive vraiment pas à comprendre comment ajouter une nouvelle colonne à ma table existante dans ma base de données en utilisant le framework PHP laravel.

J'ai essayé d'éditer le fichier de migration

 public function up()
{
    Schema::create('users', function($table){

         $table->integer("paid");


    });
}

et dans le terminal php artisan migrate:install et migrate

Comment ajouter de nouvelles colonnes?




Je vais ajouter à la réponse de mike3875 pour les futurs lecteurs utilisant Laravel 5.1 et suivants.

Pour rendre les choses plus rapides, vous pouvez utiliser le drapeau "--table" comme ceci:

php artisan make:migration add_paid_to_users --table="users"

Cela ajoutera le contenu de la méthode up et down automatiquement:

/**
 * Run the migrations.
 *
 * @return void
 */
public function up()
{
    Schema::table('users', function (Blueprint $table) {
        //
    });
}

De même, vous pouvez utiliser l'option --create["table_name"] lors de la création de nouvelles migrations, ce qui ajoutera plus d'informations à vos migrations. Petit point, mais utile quand on en fait plein!




ces choses sont travaillées sur laravel 5.1.

d'abord, sur votre terminal, exécutez ce code

php artisan make:migration add_paid_to_users --table=users

après cela, allez dans votre répertoire de projet et développez la base de données de l'annuaire - migration et modifier le fichier add_paid_to_users.php, ajoutez ce code

public function up()
{
    Schema::table('users', function (Blueprint $table) {
         $table->string('paid'); //just add this line
    });
}

après cela, revenez à votre terminal et exécutez cette commande

php artisan migrate

espère cette aide.




vous pouvez simplement modifier votre fichier de migration existant, par exemple en ajoutant une colonne dans votre table, puis dans votre terminal en tapant:

$ php artisan migrate:refresh



Pour créer une migration, vous pouvez utiliser la commande migrate: make sur l'interface de ligne de commande Artisan. Utilisez un nom spécifique pour éviter les conflits avec les modèles existants

pour Laravel 3:

php artisan migrate:make add_paid_to_users

pour Laravel 5+:

php artisan make:migration add_paid_to_users

Vous devez ensuite utiliser la méthode Schema::table() (lorsque vous accédez à une table existante sans en créer une nouvelle). Et vous pouvez ajouter une colonne comme ceci:

public function up()
{
    Schema::table('users', function($table) {
        $table->integer('paid');
    });
}

et n'oubliez pas d'ajouter l'option de restauration:

public function down()
{
    Schema::table('users', function($table) {
        $table->dropColumn('paid');
    });
}

Ensuite, vous pouvez exécuter vos migrations:

php artisan migrate

Tout cela est bien couvert dans la documentation pour Laravel 3:

Et pour Laravel 4 / Laravel 5:

Modifier:

use $table->integer('paid')->after(whichever_column); ajouter ce champ après une colonne spécifique.




Si vous souhaitez afficher la requête sans réellement établir de connexion, vous pouvez remplacer la méthode __doRequest de __doRequest pour renvoyer le fichier XML:

class DummySoapClient extends SoapClient {
    function __construct($wsdl, $options) {
        parent::__construct($wsdl, $options);
    }
    function __doRequest($request, $location, $action, $version, $one_way = 0) {
        return $request;
    }
}
$SOAP = new DummySoapClient('http://example.com/?wsdl', array('trace' => true));
echo $SOAP->GetRequestDetail($params);






php laravel laravel-4 laravel-3