Laravel을 사용한 데이터베이스 마이그레이션 및 채우기: 데이터 구조 변경 관리

WBOY
풀어 주다: 2023-08-13 10:21:04
원래의
1303명이 탐색했습니다.

Laravel을 사용한 데이터베이스 마이그레이션 및 채우기: 데이터 구조 변경 관리

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

웹 애플리케이션을 개발할 때 데이터베이스는 필수적인 부분입니다. 프로젝트가 반복되고 요구 사항이 변경됨에 따라 데이터베이스의 구조도 계속 변경됩니다. 데이터베이스 구조 변경의 관리 및 유지 관리를 용이하게 하기 위해 Laravel은 데이터베이스 마이그레이션과 채우기라는 두 가지 기능을 제공합니다.

데이터베이스 마이그레이션은 코드를 사용하여 데이터베이스 구조 변경을 관리하는 방법입니다. 다시 실행 가능한 마이그레이션 스크립트를 작성하여 테이블, 필드 및 인덱스와 같은 데이터베이스 구조를 생성, 수정 또는 삭제할 수 있습니다. 데이터베이스 채우기는 데이터베이스에 초기 데이터를 추가하는 데 사용되는 방법입니다. 채우기를 사용하면 각 마이그레이션 후에 특정 테스트 데이터를 데이터베이스에 자동으로 삽입할 수 있습니다.

아래에서는 Laravel의 데이터베이스 마이그레이션 및 채우기 기능을 사용하는 방법을 보여주기 위해 간단한 예를 사용합니다.

먼저 터미널을 열고 Laravel 프로젝트의 루트 디렉터리로 이동하세요. 먼저 "users"라는 테이블을 생성하는 마이그레이션을 생성해야 합니다.

php artisan make:migration create_users_table --create=users
로그인 후 복사

위 명령을 실행한 후 Laravel은 database/migrations 디렉터리에 새 마이그레이션 파일을 생성합니다. 파일 이름은 현재 타임스탬프에 create_users_table을 더한 것입니다. 다음으로 생성된 마이그레이션 파일을 열고 up 메서드를 찾아 다음 코드를 입력합니다. database/migrations目录下生成一个新的迁移文件,文件名为当前时间戳加上create_users_table。接下来,我们打开生成的迁移文件,找到up方法,并填充下面的代码:

<?php

use IlluminateDatabaseMigrationsMigration;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateSupportFacadesSchema;

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

    public function down()
    {
        Schema::dropIfExists('users');
    }
}
로그인 후 복사

在上述代码中,我们使用Schema类来创建了一个users表,该表包含了idnameemailpasswordtimestamps五个字段。up方法用于创建表,而down方法用于回滚迁移时删除表。

接下来,我们可以运行以下命令来执行迁移:

php artisan migrate
로그인 후 복사

运行以上命令后,Laravel将会执行迁移文件,创建users表。

接下来,我们可以创建一个填充文件,用于向users表中插入一些初始数据。运行以下命令创建填充文件:

php artisan make:seeder UsersTableSeeder
로그인 후 복사

运行以上命令后,Laravel将会在database/seeds目录下生成一个新的填充文件,文件名为UsersTableSeeder

打开生成的填充文件,找到run方法,并填充下面的代码:

<?php

use IlluminateDatabaseSeeder;
use IlluminateSupportFacadesDB;
use IlluminateSupportFacadesHash;

class UsersTableSeeder extends Seeder
{
    public function run()
    {
        DB::table('users')->insert([
            'name' => 'John Doe',
            'email' => 'john@example.com',
            'password' => Hash::make('password123'),
        ]);
    }
}
로그인 후 복사

在上述代码中,我们使用DB类来插入了一个用户数据,包含了nameemailpassword三个字段。

最后,我们可以通过以下命令来运行填充:

php artisan db:seed --class=UsersTableSeeder
로그인 후 복사

运行以上命令后,Laravel将会执行填充文件,向usersrrreee

위 코드에서는 Schema 클래스를 사용하여 생성합니다. id, name, email, passwordusers 테이블이 포함되어 있습니다. code>timestamps필드 5개. up 메서드는 테이블을 생성하는 데 사용되며, down 메서드는 마이그레이션 롤백 시 테이블을 삭제하는 데 사용됩니다.

다음으로 다음 명령을 실행하여 마이그레이션을 수행할 수 있습니다:

rrreee

위 명령을 실행한 후 Laravel은 마이그레이션 파일을 실행하고 users 테이블을 생성합니다. 🎜🎜다음으로 채우기 파일을 만들어 users 테이블에 일부 초기 데이터를 삽입할 수 있습니다. 채우기 파일을 생성하려면 다음 명령을 실행하세요: 🎜rrreee🎜위 명령을 실행한 후 Laravel은 UsersTableSeeder라는 파일 이름으로 <code>database/seeds 디렉터리에 새 채우기 파일을 생성합니다. 코드>. 🎜🎜생성된 채우기 파일을 열고 run 메서드를 찾아 다음 코드를 입력합니다. 🎜rrreee🎜위 코드에서는 DB 클래스를 사용하여 name, emailpassword의 세 가지 필드를 포함한 사용자 데이터. 🎜🎜마지막으로 다음 명령을 통해 채우기를 실행할 수 있습니다: 🎜rrreee🎜위 명령을 실행한 후 Laravel은 채우기 파일을 실행하고 users 테이블에 초기 데이터를 삽입합니다. 🎜🎜위의 예를 통해 Laravel의 데이터베이스 마이그레이션 및 채우기 기능을 사용하면 데이터베이스 구조의 변경 사항을 쉽게 관리하고 유지할 수 있으며 데이터베이스에 초기 데이터를 자동으로 삽입할 수도 있음을 알 수 있습니다. 이러한 방식으로 우리는 데이터베이스 운영 및 개발 작업을 보다 효율적으로 수행할 수 있습니다. 🎜🎜요약하자면, Laravel의 데이터베이스 마이그레이션 및 채우기 기능은 데이터베이스의 구조적 변경을 관리하는 데 도움이 되고 데이터베이스를 수동으로 운영하는 데 드는 시간과 에너지를 절약할 수 있습니다. 이 글의 소개를 통해 독자들이 데이터베이스 마이그레이션 및 채우기에 Laravel을 사용하는 방법을 보다 명확하게 이해할 수 있기를 바랍니다. 🎜

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!