오늘은 migation과 씨름 중인 에러노트입니다.
MAC valet과 homebrew를 통해 라라벨 설치부터 깃허브 연동, VS Code 연결 셋팅까지 모두 마치고 드디어 DB부터 시작중입니다.
수많은 에러들을 만났지만, 이 친구는 앞으로도 자주 만날 것 같아서 써두려고 합니다. 이외의 다른 에러도 있으니 참고 바랍니다 :)
1170 error의 경우, 번역기를 돌렸을 때 다음과 같이 해석됩니다.
[error 내용]
SQLSTATE[42000]: Syntax error or access violation: 1170 BLOB/TEXT column 'u_id' used in key specification without a key length (SQL: alter table `posts` add unique `posts_u_id_unique`(`u_id`))
[해석]
SQLSTATE[42000]: 구문 오류 또는 액세스 위반: 키 길이 없이 키 사양에 사용된 1170 BLOB/TEXT 열 'u_id'(SQL: 테이블 `posts` add unique `posts_u_id_unique`(`u_id`))
아마 text로 쓴 u_id에 unieque를 붙임으로 인해 생긴 오류인가 봅니다. 키 길이가 없다고 하는 것을 보니, text형식에는 붙여선 안되는 것으로 보입니다.
이제 이유를 찾았으니 오류를 해결해봅시다.
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->timestamps();//글작성 시간
$table->string('u_id')->unique();//string으로 수정하니 정상적으로 동작하였다.
$table->text('title');//제목
$table->text('b_content');//내용
});
다음과 같이 문제 되었던 부분을 string으로 변환하였습니다. 과연 동작이 될까요?
MySQL과 Oracle을 공부하긴 했으나 이번에 공부하는 건 자료형이 워낙 다양해서 신기하네요. id(); 처음보고 넘 충격이었던...
아무튼 에러가 요즘 넘쳐나서 해결방법을 제대로 찾는 경우만 올리고 있는데, 애매한 경우는 해결방법이 어느게 맞았던 것인지를 몰라 올리지 못하고 있답니다......ㅎ..
오늘도 봐주셔서 감사합니다. :)