php - modificar - Agregue una nueva columna a la tabla existente en una migración
migrar laravel (6)
Realmente no puedo entender cómo agregar una nueva columna a mi tabla de salida en mi base de datos usando PHP laravel framework.
Intenté editar el archivo de migración para
public function up()
{
Schema::create(''users'', function($table){
$table->integer("paid");
});
}
y en terminal php artisan migrate:install
y migrate
¿Cómo agregar nuevas columnas?
Añadiré la respuesta de mike3875 para futuros lectores que utilicen Laravel 5.1 y posterior.
Para hacer las cosas más rápido, puede usar la bandera "--table" de esta manera:
php artisan make:migration add_paid_to_users --table="users"
Esto agregará el contenido del método up
y down
automáticamente:
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table(''users'', function (Blueprint $table) {
//
});
}
De forma similar, puede usar la opción --create["table_name"]
al crear nuevas migraciones que agregarán más texto repetitivo a sus migraciones. Pequeño punto, pero útil cuando se hacen montones de ellos.
Para crear una migración, puede usar el comando migrate: make en la CLI de Artisan. Use un nombre específico para evitar chocar con los modelos existentes
para Laravel 3:
php artisan migrate:make add_paid_to_users
para Laravel 5+:
php artisan make:migration add_paid_to_users
Luego debe usar el método Schema::table()
(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($table) {
$table->integer(''paid'');
});
}
y no te olvides de agregar la opción de reversión:
public function down()
{
Schema::table(''users'', function($table) {
$table->dropColumn(''paid'');
});
}
Luego puede ejecutar sus migraciones:
php artisan migrate
Todo esto está bien cubierto en la documentación para ambos Laravel 3:
Y para Laravel 4 / Laravel 5:
Editar:
use $table->integer(''paid'')->after(whichever_column);
para agregar este campo después de una columna específica.
Puede agregar nuevas columnas dentro del método inicial de Schema::create
esta manera:
Schema::create(''users'', function($table) {
$table->integer("paied");
$table->string("title");
$table->text("description");
$table->timestamps();
});
Si ya ha creado una tabla, puede agregar columnas adicionales a esa tabla creando una nueva migración y utilizando el método Schema::table
:
Schema::table(''users'', function($table) {
$table->string("title");
$table->text("description");
$table->timestamps();
});
La documentación es bastante minuciosa sobre esto, y no ha cambiado demasiado de la versión 3 a la versión 4 .
Si está utilizando Laravel 5, el comando sería;
php artisan make:migration add_paid_to_users
Todos los comandos para hacer cosas (controladores, modelos, migraciones, etc.) se han movido bajo el comando make:
.
php artisan migrate
sigue siendo el mismo sin embargo.
esto se trabaja en laravel 5.1.
primero, en tu terminal ejecuta este código
php artisan make:migration add_paid_to_users --table=users
después de eso vaya al directorio de su proyecto y expanda la base de datos del directorio - migración y edite el archivo add_paid_to_users.php, agregue este código
public function up()
{
Schema::table(''users'', function (Blueprint $table) {
$table->string(''paid''); //just add this line
});
}
Después de eso regrese a su terminal y ejecute este comando
php artisan migrate
espero que esto ayude.
simplemente puede modificar su archivo de migración existente, por ejemplo, agregar una columna en su tabla, y luego en su terminal escribiendo:
$ php artisan migrate:refresh