text('images')->nullable()을 추가합니다. .. "그게 다야."/> text('images')->nullable()을 추가합니다. .. "그게 다야.">
laravel에서 테이블 구조를 변경하는 방법: 1. 마이그레이션 파일을 생성합니다. 2. "php artisan make:migration..." 명령을 실행합니다. 3. "$table->text('images')->를 추가합니다. ;nullable( )..." 그게 전부입니다.
이 기사의 운영 환경: Windows 7 시스템, Laravel 버전 5.7, Dell G3 컴퓨터.
laravel에서 테이블 구조를 변경하는 방법은 무엇입니까?
larava 마이그레이션을 사용하여 데이터베이스 테이블 구조 수정
저는 SQL 파일을 사용하여 데이터베이스 테이블 구조의 변경 사항을 저장하고 추적해 왔습니다. 그러나 SQL 파일을 사용하면 다음과 같은 단점이 있습니다.
어떤 SQL 파일이 실행되었고 어떤 파일이 실행되지 않았는지 판단하는 것은 불가능합니다. sql 파일 이름 접두사로 날짜가 추가되지만, 여러 사람이 개발하고 온라인 데이터 테이블 구조가 오랫동안 업데이트되지 않으면 머리를 긁적여야 하는 경우가 많습니다
SQL 파일을 실행하는 것이 물리적인 작업입니다 . 12개가 넘는 SQL 변경 파일에 직면했을 때 하나씩 실행하는 것은 매우 피곤한 작업입니다.
여러 개발 및 프로덕션 환경을 동기화하는 것은 여전히 시간이 많이 걸리고 힘든 작업입니다. 예를 들어 PC 개발 머신에 수정을 가해 노트북 개발 환경과 동기화해야 한다면 생각하기가 불편하다.
이러한 문제는 일련의 마이그레이션을 실행하는 것보다 훨씬 덜 즐겁습니다.
새 필드 추가
예를 들어 기사 테이블에 이미지 필드를 추가하고 싶습니다.
먼저 마이그레이션 파일을 생성해야 합니다.
php artisan make:migration add_images_to_articles_table --table=articles
명령을 실행하면
Created Migration: 2018_03_21_225819_add_images_to_articles_table
파일이 해당 데이터베이스/migrations/ 디렉터리에 자동으로 생성됩니다
database/migrations/2018_03_21_225819_add_images_to_articles_table.php
파일 이름이 날짜와 시간이 앞에 붙습니다.
public function up() { Schema::table('articles', function (Blueprint $table) { $table->text('images'); }); }
공식 문서에 따라 이미지 필드를 추가하고 변경 사항을 저장하세요.
php artisan migrate
명령을 실행하고
Migrating: 2018_03_21_225819_add_images_to_articles_table Migrated: 2018_03_21_225819_add_images_to_articles_table
를 출력합니다. 그런 다음 데이터 테이블 마이그레이션을 확인하면 추가 레코드 행을 찾을 수 있습니다.
그런 다음 변경 사항을 프로덕션 환경에 동기화합니다. 유일한 차이점은 프로덕션 서버가 명령 실행 여부를 확인하도록 요청한다는 것입니다.
************************************** * Application In Production! * ************************************** Do you really wish to run this command? (yes/no) [no]: > yes Migrating: 2018_03_21_225819_add_images_to_articles_table Migrated: 2018_03_21_225819_add_images_to_articles_table
필드 수정
이것은 급하게 출시되지 않으며 500개의 오류가 발생합니다
SQLSTATE[HY000]: General error: 1364 Field 'images' doesn't have a default value
문제를 해결하려면 새 마이그레이션 파일을 만들고
$table->text('images')->nullable()->change();
를 추가한 후 온라인으로 다시 마이그레이션을 실행하기만 하면 됩니다.
관련 추천: 최신 5개의 Laravel 비디오 튜토리얼
위 내용은 laravel에서 테이블 구조를 변경하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!