[TIL] #3 일기장

ddalkigum·2020년 12월 1일
2

TIL

목록 보기
3/50
post-thumbnail
post-custom-banner

오늘 하루 = 에러... 또 에러 😖

sql 연습

어제 가까스로 django와 mysql 연동에 성공했다.

여러 커맨드를 알게됬고, 오늘은 sql 관련 에러가 너무 많아서
이걸 해결하기 위해 구글링을 열심히 했다

카테코리를 만들고 장고 커맨드를 이용해 카테고리를 채워줬다

채워주고 csv파일을 이용해서 물품을 채워주고

가지고온 데이터로 채워주긴 했지만, 아직 부족한 부분이 많다

migrations중 생긴 일

마이그레이션을 진행하다

django.db.utils.OperationalError: (1060, "Duplicate column name 'user_id'")

이런 에러가 발생해서 이게 뭐지... 중복된다는 내용인데
찾아봐도 어떤식으로 해결해야되는지 나오지 않아서

혹시 db column의 이름을 정해주면 되지 않을까??
싶어서 db이름을 정해줄 수 있는지 찾아봤다

https://docs.djangoproject.com/en/3.1/ref/models/fields/

장고 문서를 찾아봤는데, 이름을 정해줘도 에러가 나길래 다시 찾아보다가

https://stackoverflow.com/questions/32623764/how-to-give-foreign-key-name-in-django

db_column 이름에 관한 글이 있어서 가지고왔다

이름에는 _id 형식으로 이름이 지어주어야 한다고 설명해준다
이름 바꾸고 나니 바로 해결 🐒😁

foreign key 관련 배운 내용 🚀

외래키라고 하는데, 관계형데이터베이스 RDBS << 여기서 꽤나 중요한 친구다

mysql을 연동하고나서, 슈퍼유저를 만들어주고, 변경할 모델이 있어
마이그레이션을 해주고, 다시 유저를 만들려는데

에러가 있엇다, foreign key로 인해 생긴 문제로

Cannot delete or update a parent row

삭제를 할 수 없다는 내용의 에러인데 이런경우

SET foreign_key_checks = 0;
delete from [TABLENAME]
SET foreign_key_checks = 1;

요런식으로 forein-key 체크를 꺼주고 삭제후에 다시 켜주면 된다.

유저 모델 만들기

Django를 이용하던 중에 abstractuser를 그대로 가지고 와서 사용을 해왔었는데
여간 불편한 점이 많아서 이거를 만들어봐야겠다 싶어

요런식으로 만들면서 진행을 햇는데
에러가 ...

(1054, "Unknown column 'users.name' in 'field list'")

django.db.utils.IntegrityError: (1048, "Column 'first_name' cannot be null")

이거 두개를 어떻게 해야하지 ... unknown column이라 해서
혹시나 마이그레이션이 잘못된게 있나 싶어 다시 코드를 적고 해봤지만 안됫고,

first_name 은 찾아볼려했지만, 못찾았는데

createsuperuser

아마 명령어를 입력하면서 진행하는데 있어 first_name이 필요한게 아닌가 싶엇다.
그래서 mysql로 직접 데이터를 넣어봐야겠다 해서 진행했는데 실패...
이건 더 알아봐야겟다

아직 sql을 다루는게 익숙치 않아서 자습서를 보면서 하나씩 천천히 진행했습니다 😁

https://www.w3schools.com/sql/sql_insert.asp

분명 방법은 있기 마련이지, 다시 조금더 해보고 진행해봐야겠다

해결방법

mysql 유저의 column을 일단 쭉 봤습니다.

지우고 나서 찍은거라 현재는 없지만
db에 first_name, last_name이 있어서 진행이 안됬고
mysql에서 직접 지워주고 해결했습니다.

ALTER TABLE [tablename]
DROP COLUMN [columnname]


알고리즘

아침에 알고리즘 문제 풀고
이상하게 알고리즘만 잡으면 시간이 너무 빨리 간다

알고리즘은 지금 백준 문제를 풀고 있고,
단계별로 풀어보기 에서 하나씩 하나씩 풀어보고 있다

자료구조, 알고리즘 푸는 방식을 공부해야겠다 생각했는데
생각 처럼 쉽지 않다.

공부는 어떻게 해야될까...

알고리즘에 관한 얘기인데, 사실 알고리즘 자료구조나
배열, 큐, 이런것에 대해서 어떤 구조로 되있고, 어떻게 진행을 하는지 알겠는데

거의... 겉핥기 정도만 아는 수준인거 같다

문제를 풀면서 처음보는 알고리즘이 있으면 기록해놓고 공부하고 있는데
머리에 전혀 안들어오는 기분이다.

profile
딸기검 -본캐🐒 , 김준형 - 현실 본캐 🐒
post-custom-banner

1개의 댓글

comment-user-thumbnail
2020년 12월 15일

Hello, I enjoy reading all of your article. I like to write a little comment to support you.JOKER123

답글 달기