Php Laravel-将字段添加到表中
我使用的是Laravel5.6,我来自Symfony开发和ORM 向表中添加字段的方法是什么?我想在用户表中添加一些字段。因此,我创建了一个迁移:Php Laravel-将字段添加到表中,php,laravel,Php,Laravel,我使用的是Laravel5.6,我来自Symfony开发和ORM 向表中添加字段的方法是什么?我想在用户表中添加一些字段。因此,我创建了一个迁移: php artisan make:migration add_data_users --table=users 我在迁移中添加了字段。但当我尝试迁移时,出现了以下错误: 基本表或视图已存在:1050表“权限”已存在 此表已迁移,但迁移似乎重建了所有模式?!。在Symfony中,我只向实体添加字段,在这里,我必须创建迁移吗?那么,如何只应用新的迁移呢
php artisan make:migration add_data_users --table=users
我在迁移中添加了字段。但当我尝试迁移时,出现了以下错误:
基本表或视图已存在:1050表“权限”已存在
此表已迁移,但迁移似乎重建了所有模式?!。在Symfony中,我只向实体添加字段,在这里,我必须创建迁移吗?那么,如何只应用新的迁移呢?我试图将迁移的名称添加到命令中,但没有成功
编辑
似乎我有两次迁移涉及权限表,请仔细查看您的迁移,我删除了第二个迁移文件,并且成功了。您应该创建新的迁移,如:
php artisan make:migration update_users_table
UpdateUsersTable.php//您的新迁移
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class UpdateUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->string('name', 36)->nullable()->default(null);
});
}
php artisan make:migration添加_data_用户并将此代码放入方法`Schema::table'users',函数蓝图$table{$table->string'data'->在'password'之后;}`您有一些迁移问题。您的迁移表怎么样?看起来它试图在权限表仍然存在时再次对其运行迁移。这与您添加的新迁移文件无关。命令看起来不错;在我的迁移表中,我有关于权限表2018_06_09_213829_create_permission_表的迁移。该表已被迁移,因为该表已创建,并且我将其放在迁移表中,批处理=1@VincentDecaux您是在开发环境中还是在生产环境中?在开发环境中。这就是我所做的,但是我不能只迁移上次创建的迁移?如果你读了这个问题,这显然不是问题所在。迁移是正确的,但有另一个迁移抛出错误。还要注意,在down方法中删除一个表是非常糟糕的,因为在up方法中只添加了一列。down方法应该只删除该列,而不是整个表。@VincentDecaux:请尝试为特定表运行迁移,因此请检查我的表中的备注answer@AddWebSolutionPvtLtd如果运行php artisan migrate但出现问题,则表明您在工作流中的某个地方出错。运行一次迁移是一种绕过,不能解决问题。它只是创建了一个更加困难的工作流。修复错误,而不是绕过它。我同意@DouwedeHaan,我认为我只需要运行php artisan migrate,因为我的其他表已经迁移了。我只是不明白为什么它会尝试运行以前的迁移。
php artisan migrate --path=database/migrations/test/