laravel에서 필드 유형을 수정하는 방법

PHPz
풀어 주다: 2023-04-19 10:58:13
원래의
1070명이 탐색했습니다.

최근 몇 년 동안 Laravel은 웹 개발 분야의 리더가 되었으며 점점 더 많은 사람들이 이를 사용하여 자신의 프로젝트 개발을 시작하고 있습니다. Laravel은 유연성과 확장성이 뛰어나기 때문입니다. 그러나 데이터베이스를 운영하다 보면 필드 유형, 크기, 기본값 등을 포함하여 테이블의 구조를 수정해야 하는 경우가 많습니다. 이 글에서는 Laravel 5.4에서 필드 유형을 수정하는 방법에 대해 설명합니다.

먼저 Laravel Schema Builder의 기본 사항을 이해해야 합니다. Schema Builder는 데이터베이스 테이블의 구조를 쉽게 생성하고 수정할 수 있는 방법을 제공하는 Laravel의 구성 요소입니다. 여기서는 MySQL을 예로 들어 설명하겠습니다.

"age"라는 필드가 있는 사용자 테이블(users)이 있고 해당 데이터 유형이 정수 유형(INT)이고 이제 이를 문자열 유형(VARCHAR)으로 수정해야 한다고 가정합니다.

1단계: 마이그레이션 파일 만들기

Laravel의 마이그레이션 파일은 데이터베이스 테이블 구조의 "청사진"입니다. 필드 유형 수정을 완료하려면 새 마이그레이션 파일을 생성해야 합니다.

Artisan 명령줄 도구를 사용하여 다음 명령을 입력할 수 있습니다:

php artisan make:migration modify_users_table --table=users
로그인 후 복사

이 명령은 "modify_users_table"이라는 이름의 새 마이그레이션 파일을 생성합니다. 파일을 열고 다음 코드를 사용하여 up 메소드에 마이그레이션 로직을 작성해야 합니다.

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

class ModifyUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->string('age')->change();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->integer('age')->change();
        });
    }
}
로그인 후 복사

이 마이그레이션 파일에서는 Schema::table 메소드를 사용하여 사용자 테이블을 작동합니다. 그런 다음 Blueprint 객체를 사용하여 새 구조의 정의를 생성합니다. 그런 다음 "age" 필드의 유형을 수정하기 위해change() 메소드를 사용합니다. 이 메소드는 Laravel에게 "age" 필드의 데이터 유형을 문자열 유형으로 설정하도록 지시합니다.

동일한 마이그레이션 파일에 여러 필드를 추가하는 경우 여러change() 메서드를 사용하여 데이터 유형을 하나씩 변경할 수 있다는 점은 주목할 가치가 있습니다.

2단계: 마이그레이션 파일 실행

이제 마이그레이션 파일을 작성했으므로 다음 명령을 실행하여 Laravel이 마이그레이션 파일을 기반으로 사용자 테이블의 변경 사항을 처리하도록 할 수 있습니다.

php artisan migrate
로그인 후 복사

이 명령은 아직 실행되지 않은 모든 마이그레이션 파일을 실행하고 마이그레이션 파일 테이블에 기록합니다. 따라서 마이그레이션이 처음이거나 하나만 실행되는 경우 --pretend 옵션을 사용할 필요가 없습니다.

3단계: 확인

마이그레이션이 성공한 후 데이터베이스로 이동하여 사용자 테이블의 구조를 보고 수정한 데이터 유형 필드가 적용되었는지 확인할 수 있습니다. MySQL 서버에서 다음 명령을 사용할 수 있습니다.

DESCRIBE users;
로그인 후 복사

이 명령은 사용자 테이블의 구조와 마이그레이션 파일에서 수정한 데이터 유형의 필드를 표시합니다. 수정이 성공하면 해당 유형이 VARCHAR 유형으로 설정된 것을 확인할 수 있습니다.

+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| id    | int(10)      | NO   | PRI | NULL    | auto_increment |
| name  | varchar(255) | NO   |     | NULL    |                |
| age   | varchar(255) | NO   |     | NULL    |                |
+-------+--------------+------+-----+---------+----------------+
로그인 후 복사

Summary

Laravel에서 필드의 데이터 유형을 변경하는 것은 매우 간단합니다. 새 마이그레이션 파일을 작성하고 Schema Builder의 API를 사용하면 쉽게 수행할 수 있습니다. 테이블 구조의 다른 측면을 변경하려면 마이그레이션 파일을 수정하여 쉽게 변경할 수 있습니다. 간단히 말해서, Laravel은 테이블 구조를 수정하거나 다른 기능을 구현하는 경우 웹 개발에서 실제로 강력한 도구로 이를 구현하는 것을 더 쉽게 만들어줍니다.

위 내용은 laravel에서 필드 유형을 수정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿