[지금까지 진행율] 12%
[목표]
* APIROUTER를 이용한 라우트함수 관리
* SQLALchemy를 이용해 데이터베이스 제어
* 웹 게시판 질문 목록과 상세 조회 기능 생성
[기초공사]
1. 프로젝트 FastAPI 구조 고민하기 (책에서 알려준 구조)
- main.py = FastAPI의 프로젝트 전체적인 환경을 설정 (현재는 존재하는 파일)- database.py = 이름, 주소, 사용자, 비밀번호 등 데이터베이스 관리
- models.py = ORM을 지원하는 SQLAlchemy 를 사용하여 데이터 베이스 처리하여 모델 클래스 정의
- domain = 질문답변 게시판을 만들기 위하여 API를 구성하는 도메인 디렉토리
- frontend = 스벨트 프레임워크 설치 디렉토리
2. 모델로 데이터 베이스 관리
- 내가 만들 프로젝트는 커뮤니티 게시판이 포함된 홈페이지이다. 책에서 배운 후 나중에 공부하고 수정해나가면서 완성해 갈 것이다.
- ORM을 이용하여 데이터를 처리할 것이다.
- 일관된 코드를 유지할 수 있어 프로그램을 유지, 보수하기가 편리하다.
- 내부에서 안전한 SQL 쿼리를 자동으로 생성해 주므로 개발자가 달라도 통일된 쿼리를 작성할 수 있고 오류 발생률도 줄일 수 있다. (진짜 중요함. 별표 백만개)
3. ORM 라이브러리를 설치한다.
- 파이참 터미널에서 아래와 같이 코드를 넣는다.
- FastAPI 에 ORM을 적용하려면 데이터베이스 설정 필요, website에 database.py 디렉토리 생성하고 코드를 작성한다.
4. 웹 모델 만들기
- 모델에 필요한 속성
- models.py 를 생성하고 아래의 코드를 넣자.
- 데이터베이스 테이블 생성을 위해 alembic을 설치하고, 초기화를 진행한다.
▼
- 리비전 파일 : alembic을 이용하며 테이블을 생성 또는 변경할 때마다 생성되는 작업 파일
- alembic이 사용할 데이터베스의 접속주소를 설정한다.
- 리비전 파일 실행하기
5. DB Browser for SQLite 설치
sqlitebrower Site down, 근데 본인은 네트워크 불량이라고 하면서 다운이 안되서
filehors Site down, 에서 다운 받음
어찌저찌 왔는데, 중간이 기억이 안난다. 일단 GO
0 댓글