如何在 laravel-8 中重命名数据库中现有的 table 名称?
How to rename a existing table name inside database in laravel-8?
我开发了一个 api 负责在我的数据库中存储用户详细信息,table 名称是 users_containers
,它将包含一些用户数据,现在我想重命名它table 在不丢失任何数据的情况下命名为 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();
});
}
要更改 table 名称,您可以这样做:
Schema::rename('users_containers', 'users_data');
进行新的迁移:
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
我开发了一个 api 负责在我的数据库中存储用户详细信息,table 名称是 users_containers
,它将包含一些用户数据,现在我想重命名它table 在不丢失任何数据的情况下命名为 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();
});
}
要更改 table 名称,您可以这样做:
Schema::rename('users_containers', 'users_data');
进行新的迁移:
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