본문 바로가기

개발이야기/ JSON, Ajax, PHP, ASP, JSP

[Lavavel] 라라벨 마이그레이션 users 테이블 또는 뷰가 이미 존재

SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists

laravel base table or view already exists: 1050 table 'users' already exists


해결 방법을 검색해봐도 찾기가 어려워 저는 한참 고생했기 때문에 이 글이 누군가에게 도움이 되길 바랍니다.




최근 라라벨을 공부하기 위해 책을 한 권 샀습니다.


이미지 출처 : https://laravel.kr/


많은 분들께서 이책을 추천해주시더군요


아마 저 처럼 이 책으로 라라벨을 공부하시는 분이 많을꺼라 생각되서


제가 이 책의 예제를 따라하던 중 안되었던 부분을 소개하려고 합니다.




7.2 마이그레이션 실행


실습 내용은 composer update 후


데이터베이스안의 테이블을 전부 삭제 한 뒤


php artisan migrate 로 마이그레이션을 진행하는 부분이었는데요


php artisan migrate


이 명령에서 문제가 발생하였습니다.


이슈 내용은 마이그레이션 도중 users 테이블이 이미 존재하여 에러가 발생하는 증상이었습니다.


[ 이슈 ]

 

SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists

laravel base table or view already exists: 1050 table 'users' already exists




[ 해결 ]


./app/Providers/AppServiceProvider.php


프로바이더 파일안에

use Illuminate\Support\Facades\Schema;

Schema::defaultStringLength(191);

추가 후

다시 composer update


데이터베이스안의 테이블 전부 삭제

php artisan migrate

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;


class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        Schema::defaultStringLength(191);
    }

    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }

}


AppServiceProvider.php