sql >> Base de Datos >  >> RDS >> Mysql

Agregue nuevas columnas a la tabla existente en una migración en Laravel

Si comprueba en el seguimiento del error:

Esto significa que la tabla de usuarios ya existe, por lo que cuando ejecuta sus migraciones está intentando crear una tabla que ya está creada en su base de datos.

Nota: No olvide hacer primero una copia de seguridad de su base de datos

Eliminar tabla de usuarios de la base de datos también elimine las entradas de usuarios de migraciones mesa.

Luego, ejecute el comando de migración de Artisan:

Ahora otra pregunta es:¿Cómo agregar nuevas columnas en mi tabla existente?

Tienes que crear una tabla usando este comando:

php artisan make:migration create_users_table

El resultado lo obtuviste así:Migración creada:2019_04_12_070152_create_users_table

Su estructura de migración es algo así:

public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

Ahora desea agregar nuevas columnas en su tabla de usuarios existentes

php artisan make:migration add_phone_number_to_users_table --table=users

usa el Esquema::tabla() método (ya que está accediendo a una tabla existente, no creando una nueva). Y puede agregar una columna como esta:

public function up()
{
     Schema::table('users', function (Blueprint $table) {
         $table->string('phonenumber')->after('name'); // use this for field after specific column.
     });
}

/**
 * Reverse the migrations.
 *
 * @return void
 */
public function down()
{
    Schema::table('users', function (Blueprint $table) {
        $table->dropColumn('phonenumber');
    });
}

Después, puedes ejecutar tus migraciones:php artesanal migrate

Tus nuevas columnas (phonenumber ) ahora se agregan a su tabla de usuarios existente , que puede ver en su base de datos.

Si todavía tienes alguna duda, mira este video