【问题标题】:How to rename a existing table name inside database in laravel-8?如何在 laravel-8 中重命名数据库中的现有表名?
【发布时间】:2021-10-18 06:34:55
【问题描述】:

我开发了一个api,负责在我的数据库中存储用户详细信息,表名是users_containers,它将包含一些用户数据现在我想将该表名重命名为users_data而不丢失任何数据,如何实现这个目标...

Migration table

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateUsersTable extends Migration
{
    
    public function up()
    {
        Schema::create('users_containers', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('email')->unique();
            $table->timestamp('email_verified_at')->nullable();
          
        });
    }

【问题讨论】:

  • 您可以使用 asnwers 中提供的所有方法。确保您也更改了模型中的protected $table="new_name"

标签: laravel laravel-8 laravel-migrations


【解决方案1】:

要更改表名,您可以这样做:

Schema::rename('users_containers', 'users_data');

【讨论】:

  • 它没有迁移,它没有显示任何迁移
  • @DevopsTraining 不要编辑您用于创建表的迁移。创建一个新的迁移(您可以使用 artisan 来执行此操作:php artisan make:migration rename_users_containers_table)。
【解决方案2】:

进行新的迁移:

php artisan make:migration rename_usercontainers_table

然后添加此代码:

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class RenameUsersContainersTable extends Migration
{
    
    public function up()
    {
        Schema::rename('users_containers', 'users_data');
    }
}
?>

然后尝试运行迁移命令: php artisan migrate

【讨论】:

    猜你喜欢
    • 2017-12-23
    • 2021-11-16
    • 2010-10-22
    • 2018-03-19
    • 2013-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多