如何在现有表中添加额外的列而不丢失数据
Posted
技术标签:
【中文标题】如何在现有表中添加额外的列而不丢失数据【英文标题】:How can i add an extra column to an existing table which has data without losing it 【发布时间】:2018-05-20 06:48:16 【问题描述】:我正在使用 Laravel 5.5,我想在名为 users
的现有表中添加一个额外的列。
问题是php artisan migrate
没有添加额外的列。
1) 表不为空,有可能吗?
2) 为什么下面的代码块不起作用?
通过运行php artisan make:migration update_users_column --table=users
创建一个文件:
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class UpdateUsersColumn extends Migration
/**
* Run the migrations.
*
* @return void
*/
public function up()
Schema::table('users', function (Blueprint $table)
$table->boolean('email_sent_to_user', true);
);
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
// Schema::table('users', function (Blueprint $table)
// //
// );
运行php artisan migrate
后,migrations
表已更新,但 users
表未更新。
【问题讨论】:
***.com/questions/16791613/… @JunaidMasood 我已经搜索并看到了其他帖子。我不明白为什么上面的代码不起作用这就是我发布问题的原因。 你在迁移表中有这个迁移吗? 【参考方案1】:代码块工作正常。问题在于将文件从本地计算机传输到服务器的过程(权限不正确,因此在我编辑后文件实际上并未上传)。
【讨论】:
以上是关于如何在现有表中添加额外的列而不丢失数据的主要内容,如果未能解决你的问题,请参考以下文章
如何混合 COUNT() 和非 COUNT() 列而不丢失查询中的信息?