我不知道如何使用Laravel框架将新列添加到现有的数据库表中。
我试图使用…编辑迁移文件。。。
<?php
public function up()
{
Schema::create('users', function ($table) {
$table->integer("paid");
});
}
在终端,我执行php工匠迁移:安装
和迁移
。
如何添加新列?
通过执行以下命令创建新迁移:make:migration
例子:
php artisan make:migration add_store_id_to_users_table --table=users
在database/migrations文件夹中,您有一个新的迁移文件,类似于:
2018年将门店id添加到用户表中。php(见注释)
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddStoreIdToUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('users', function (Blueprint $table) {
// 1. Create new column
// You probably want to make the new column nullable
$table->integer('store_id')->unsigned()->nullable()->after('password');
// 2. Create foreign key constraints
$table->foreign('store_id')->references('id')->on('stores')->onDelete('SET NULL');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('users', function (Blueprint $table) {
// 1. Drop foreign key constraints
$table->dropForeign(['store_id']);
// 2. Drop the column
$table->dropColumn('store_id');
});
}
}
然后运行命令:
php artisan migrate
如果出于任何原因要撤消上次迁移,请运行以下命令:
php artisan migrate:rollback
您可以在文档中找到有关迁移的更多信息
我将添加到mike3875的答案中,供未来使用Laravel 5.1及以后的读者使用。
为了使事情变得更快,您可以像这样使用标志"--table":
php artisan make:migration add_paid_to_users --table="users"
这将自动添加向上
和向下
方法内容:
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('users', function (Blueprint $table) {
//
});
}
类似地,您可以在创建新迁移时使用--create[“table_name”]
选项,这将为迁移添加更多样板文件。这一点很小,但在做大量工作时很有帮助!
要创建迁移,可以在Artisan CLI上使用migrate:make命令。使用特定名称以避免与现有模型冲突
对于Laravel 3:
php artisan migrate:make add_paid_to_users
对于Laravel 5:
php artisan make:migration add_paid_to_users_table --table=users
然后,您需要使用schma::table()
方法(因为您正在访问现有表,而不是创建新表)。您可以添加这样的列:
public function up()
{
Schema::table('users', function($table) {
$table->integer('paid');
});
}
别忘了添加回滚选项:
public function down()
{
Schema::table('users', function($table) {
$table->dropColumn('paid');
});
}
然后,您可以运行迁移:
php artisan migrate
这是所有涵盖在留档为Laravel 3:
对于Laravel 4/Laravel 5:
编辑:
使用$table-
我想在laravel中现有的表中添加一些新列。 我已经在谷歌上搜索过了,在这些搜索之后,我已经使用命令创建了迁移。 将列添加到用户。php 创建之后,我运行这个命令。 但也犯了同样的错误: 基本表或视图已存在:1050个表“用户”已存在(SQL:create table(int unsigned not null自动递增主键,varchar(255)not null,varchar(255)not
我不知道如何使用Laravel框架将新列添加到我现有的数据库表中。 我尝试使用...编辑迁移文件。 在终端中,我执行和。 如何添加新列?
问题内容: 我不知道如何使用Laravel框架向现有数据库表添加新列。 我试图使用…来编辑迁移文件。 在终端中,我执行和。 如何添加新列? 问题答案: 要创建迁移,您可以在Artisan CLI上使用migration:make命令。使用特定名称以避免与现有模型冲突 对于Laravel 3: 对于Laravel 5+: 然后,您需要使用该方法(在访问现有表而不是创建新表时)。您可以添加如下所示的列
我有一些表,我想在这个表中添加新的列。我想添加默认值为空的字符串列。 我试着这样加上去 或 但我有一个错误
我已经创建了一个迁移文件,并在数据库中创建了表。现在,我想向现有迁移文件添加新列。我要做的是,打开迁移文件并在up()函数中添加列名,添加列名后,运行命令 如何向现有表中添加新列?
我正在表任务中添加新列名标题。但我得到一个错误,该表中不存在此列。谁能帮我解决那个错误。这是我的密码: 然后添加此代码 到创建的新表文件