인프런 커뮤니티 질문&답변

bigseoul님의 프로필 이미지
bigseoul

작성한 질문수

실리콘밸리 엔지니어가 가르치는 파이썬 장고 웹프로그래밍

Django Model에 대한 소개

database is locked.

작성

·

2.1K

1

sqliteBrowser 사용하는 수업에서 db.sqlite3를 열려고 하니, database is locked 라는 메시지가 뜹니다.

그래서 ChatGPT나 Bard... Googling을 이용해봤지만, 저에게 해당될만한 내용이 없네요.

혹시 몰라 재부팅도 해봤습니다.

 

이거 DB부분만 지웠다가 다시 까는 방법이 있을까요?

(makemigrations, migrate 부분)

답변 3

1

bigseoul님의 프로필 이미지
bigseoul
질문자

문제를 해결했습니다. WSL로 이 수업을 듣는 분을 위해 여기에 해결 방법을 공유해 놓을게요.

문제 현상은 WSL 안에 있는 sqlite db파일을 windows용 sqlitebrowser로는 열 수 없다는 것입니다.

원인은 개발아재들이 설왕설래하는데 뭔소리인지 모르겠네요 ㅋ;

아래 링크를 참고하세요.

https://github.com/sqlitebrowser/sqlitebrowser/issues/2142

해결방법은 WSLg를 설치하거나 VScode에 sqlite viewer를 설치하면 됩니다.

WSLg를 쓴다면 WSL에 sqlitebrowser를 설치해줘야 합니다.

그 다음 리눅스 브라우저로 DB파일을 열면 됩니다.

아래는 설치 방법입니다.

https://github.com/microsoft/wslg

https://www.youtube.com/watch?v=2p_kFXdSzAM

SqliteBrower를 설치할 때 충돌 또는 의존성(디펜던시) 문제가 발생할 수 있습니다.

환경마다 애러 메시지가 다를 수 있으니, Bard에게 물어보세요.

미쿡엔지니어님의 프로필 이미지
미쿡엔지니어
지식공유자

수고하셨습니다! 제가 도움을 드릴 수 없는 부분이라 아쉽네요.

대부분은 기술들이 실리콘 밸리에서 개발되고, 다들 맥을 쓰는 지라, 기회 되실 때 구입하시면 좋을 듯 합니다. 저도 한 20년전 한국에서 윈도우만 쓰던 기억이 있는데, 개발자가 되실려면, 리눅스나 맥을 사용하시는게 정신 건강에 좋습니다.

0

맥에서도 같은 문제가 발생했고,

mv mydata.db temp.db cp temp.db mydata.db 이 방법으로 해결했습니다.

0

미쿡엔지니어님의 프로필 이미지
미쿡엔지니어
지식공유자

안녕하세요,

제생각에는 프로그램이 뭔가 쓰는 중에 열려서 그런거 같은데요,

https://stackoverflow.com/questions/151026/how-do-i-unlock-a-sqlite-database

혹시 여기 대답이 도움이 될까요? 재부팅 하셨다고 하셨으니 프로세스 문제는 아닌거 같고, 가장 쉬운 것은 이 방법인거 같네요.

mv mydata.db temp.db
cp temp.db mydata.db

기존의 데이타 베이스를 다른 이름으로 바꾸셨다가 다시 복원시켜보세요.

아니면 스택 오버플로우에서 대답이 될 만한것 하나씩 해보시면 될 듯합니다.

 

마지막으로 DB파일을 지우시고 장고를 시작하면 새롭게 DB가 생길겁니다. 그 후에 python manage.py migrate 하시면 기존에 만드신 스키마가 다시 생길겁니다.

bigseoul님의 프로필 이미지
bigseoul
질문자

답글 주셔서 감사합니다.

 

해당 프로젝트를 윈도우로 카피한 뒤 열면 열리네요. ㅎ;

윈도우 환경에서 만든 더미파일을 WSL(Miniconda)환경으로 옮긴 뒤 실행해도 마찬가지네요 ㅎㅎ

WSL 이나 Miniconda 가상환경에서 뭔가 문제가 생기나 보네요.
(공부하기 참 힘드네요. 맥을 사야하나요 ㅎㅎ)

bigseoul님의 프로필 이미지
bigseoul

작성한 질문수

질문하기