>  기사  >  PHP 프레임워크  >  Laravel을 사용한 데이터 마이그레이션 및 채우기: 데이터베이스 구조를 유연하게 관리

Laravel을 사용한 데이터 마이그레이션 및 채우기: 데이터베이스 구조를 유연하게 관리

PHPz
PHPz원래의
2023-08-26 09:28:451045검색

Laravel을 사용한 데이터 마이그레이션 및 채우기: 데이터베이스 구조를 유연하게 관리

Laravel을 사용하여 데이터 마이그레이션 및 채우기: 유연한 데이터베이스 구조 관리

요약:
Laravel은 데이터 마이그레이션 및 데이터 채우기를 포함하여 데이터베이스 구조를 관리하는 편리한 방법을 제공하는 매우 인기 있는 PHP 프레임워크입니다. 이 문서에서는 Laravel의 마이그레이션 및 채우기 기능을 사용하여 데이터베이스 구조를 유연하게 관리하는 방법을 다룹니다.

1. 데이터 마이그레이션
데이터 마이그레이션은 데이터베이스 구조의 변경 사항을 관리하는 데 사용되는 도구입니다. 이를 통해 PHP 코드를 사용하여 데이터베이스 테이블, 열, 인덱스 및 제약 조건과 같은 요소를 정의하고 수정할 수 있습니다.

Laravel에서는 명령줄 도구인 Artisan을 사용하여 데이터 마이그레이션을 수행합니다. 먼저 새 데이터 마이그레이션 파일을 생성해 보겠습니다.

php artisan make:migration create_users_table

이렇게 하면 database/migrations 디렉터리에 새 마이그레이션 파일이 생성됩니다. 파일을 열면 up 메서드와 down 메서드를 볼 수 있습니다. up 메서드는 수행할 수정 작업을 정의하는 데 사용되고 down 메서드는 이러한 작업을 실행 취소하는 데 사용됩니다. database/migrations目录下创建一个新的迁移文件。打开该文件,您可以看到一个up方法和一个down方法。up方法用于定义要执行的修改操作,down方法用于撤销这些操作。

例如,我们可以在up方法中创建一个名为users的表,并添加一个自增的id列和一个name列:

use IlluminateDatabaseMigrationsMigration;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateSupportFacadesSchema;

class CreateUsersTable extends Migration
{
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->timestamps();
        });
    }
    
    public function down()
    {
        Schema::dropIfExists('users');
    }
}

然后,我们可以使用以下命令来执行迁移:

php artisan migrate

该命令将读取所有未应用的迁移,并依次执行它们。如果您想撤销迁移,可以使用以下命令:

php artisan migrate:rollback

这样可以撤销最近的一次迁移。如果您想撤销所有迁移,可以使用以下命令:

php artisan migrate:reset

二、数据填充
数据填充是用于向数据库中添加预定义数据的工具。它允许您使用PHP代码来生成和填充数据库表的数据。

在Laravel中,数据填充使用命令行工具Artisan来执行。首先,让我们创建一个新的数据填充文件:

php artisan make:seeder UsersTableSeeder

这将在database/seeds目录下创建一个新的填充文件。打开该文件,您可以看到一个run方法。在该方法中,您可以使用Eloquent模型来创建和保存数据库记录。

例如,我们可以在run方法中创建一个名为users的表,并添加一些示例用户:

use IlluminateDatabaseSeeder;
use AppModelsUser;

class UsersTableSeeder extends Seeder
{
    public function run()
    {
        User::create([
            'name' => 'John Doe',
            'email' => 'john@example.com',
            'password' => bcrypt('password')
        ]);
        
        User::create([
            'name' => 'Jane Doe',
            'email' => 'jane@example.com',
            'password' => bcrypt('password')
        ]);
    }
}

然后,我们可以使用以下命令来执行填充:

php artisan db:seed --class=UsersTableSeeder

该命令将执行指定填充类中的run方法,并将示例用户添加到users

예를 들어 up 메소드에서 users라는 테이블을 생성하고 자동 증가 id 열과 name 열:

php artisan db:seed

그런 다음 다음 명령을 사용하여 마이그레이션을 실행할 수 있습니다.

rrreee

이 명령은 적용되지 않은 모든 마이그레이션을 읽고 순서대로 실행합니다. 마이그레이션을 실행 취소하려면 다음 명령을 사용하세요:

rrreee
이렇게 하면 가장 최근의 마이그레이션이 실행 취소됩니다. 모든 마이그레이션을 실행 취소하려면 다음 명령을 사용할 수 있습니다.

rrreee

2. 데이터 채우기

데이터 채우기는 사전 정의된 데이터를 데이터베이스에 추가하는 데 사용되는 도구입니다. 이를 통해 PHP 코드를 사용하여 데이터베이스 테이블에 대한 데이터를 생성하고 채울 수 있습니다. 🎜🎜Laravel에서는 명령줄 도구 Artisan을 사용하여 데이터 채우기가 수행됩니다. 먼저 새 데이터 시드 파일을 생성해 보겠습니다. 🎜rrreee🎜이렇게 하면 database/seeds 디렉터리에 새 시드 파일이 생성됩니다. 파일을 열면 run 메서드를 볼 수 있습니다. 이 방법에서는 Eloquent 모델을 사용하여 데이터베이스 레코드를 생성하고 저장합니다. 🎜🎜예를 들어 run 메소드에서 users라는 테이블을 생성하고 일부 샘플 사용자를 추가할 수 있습니다. 🎜rrreee🎜 그런 다음 다음 명령을 사용하여 Population을 실행할 수 있습니다. : 🎜rrreee🎜이 명령은 지정된 인구 클래스에서 run 메서드를 실행하고 샘플 사용자를 users 테이블에 추가합니다. 🎜🎜데이터를 일괄적으로 채우려면 여러 채우기 클래스를 만들고 다음 명령을 사용하여 모든 채우기를 수행할 수 있습니다. 🎜rrreee🎜이 명령은 채우기 클래스 파일 이름을 기준으로 알파벳 순서로 모든 채우기를 수행합니다. 🎜🎜요약: 🎜Laravel의 데이터 마이그레이션 및 채우기 기능을 사용하면 데이터베이스 구조를 유연하게 관리하고 데이터를 채울 수 있습니다. 데이터 마이그레이션은 버전 제어 및 데이터베이스 구조 추적에 도움이 되며, 데이터 채우기는 데모 데이터 또는 초기화 데이터 생성에 도움이 됩니다. 🎜🎜개발 환경에서 데이터베이스 테이블 구조를 변경하든, 프로덕션 환경에서 데이터를 초기화하든, Laravel의 데이터 마이그레이션 및 채우기 기능은 데이터베이스를 관리하고 유지하는 간단하고 강력한 도구를 제공합니다. 🎜

위 내용은 Laravel을 사용한 데이터 마이그레이션 및 채우기: 데이터베이스 구조를 유연하게 관리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.