실무로 사용할 수 있다! Laravel 기존 열의 순서를 변경하는 방법
라라벨 버전은 6계
mysql은 5.7계.
php는 7.4 계입니다.
>> 프리랜서도 대상! 엔지니어 전직에 추천하는 사이트 5선
마이그레이션을 이미 만들고 테이블을 만들었지만 열 순서를 변경하고 싶을 때가 있다고 생각합니다.
books 테이블
book_id
book_name
category_id
이것을 다음과 같이 하고 싶다.
books 테이블
book_id
category_id
book_name
가장 먼저 생각할 수 있는 것은 change 마이그레이션을 작성해, after로 대응하면 되는 것은 아닐까? 라고 생각할지도 모릅니다만, 잘 되지 않습니다.
그럴 때는 다음 방법을 시도해 봅시다.
우선, 컬럼의 순서를 변경하는 마이그레이션 파일의 작성
php artisan make:migration change_book_name_to_books_table --table=books
다음과 같이 마이그레이션 파일을 편집합니다.
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class ChangeBookNameToBooksTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('books', function (Blueprint $table) {
DB::statement("ALTER TABLE books MODIFY COLUMN book_name varchar(255) NOT NULL AFTER category_id");
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('books', function (Blueprint $table) {
DB::statement("ALTER TABLE books MODIFY COLUMN book_name varchar(255) NOT NULL AFTER book_id");
});
}
}
마이그레이션 실행.
php artisan migrate
이 방법으로 기존 테이블의 열 순서를 변경할 수 있습니다.
DB::statement("ALTER TABLE books MODIFY COLUMN book_name varchar(255) NOT NULL AFTER category_id");
포인트는 상기입니다만, book_name 뒤의
varchar(255) NOT NULL
를 잊지 않고 기재해 주세요.이번은 book_name의 형태는 문자열(string)로 null을 허용하지 않는 컬럼이었으므로, 이렇게 썼습니다.
※마이그레이션 파일에서는 string이지만, mySQL에서는 varchar인 것에 주의.
수치형의 경우는 int라고 합니다.
그 외에도 기사 쓰고 있으므로, 꼭 프로필에서 참조하십시오.
· 마이그레이션
· 쿼리 빌더 등
쓰고 있습니다.
>>Laravel의 마이그레이션이 무섭지 않다【작성·컬럼의 추가·삭제】
>>【Laravel 쿼리 빌더】 복수의 컬럼을 groupBy로 그룹화시킨다
>> 프리랜서도 대상! 엔지니어 전직에 추천하는 사이트 5선
Reference
이 문제에 관하여(실무로 사용할 수 있다! Laravel 기존 열의 순서를 변경하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kamome_susume/items/0abb0534f2f66c36f0e1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)