pynecone 개발 – 데이터베이스

pynecone을 처음 실행하면 홈 디렉터리에 pynecone.db 파일이 생성됩니다.


pynecone.db 파일은 기본적으로 홈 디렉터리의 pyconfig.py 구성 파일에 연결되어 있으므로 간단한 데이터베이스를 사용할 때
pynecone.db 파일을 사용할 수 있습니다.

간단한 데이터베이스만 필요하므로 pynecone.db 파일을 사용하고 싶습니다.

데이터베이스 연결

pynecone에서 데이터베이스 관리를 위해 SQLAlchemy를 사용합니다.

SQLAlchemy는 Python에서 사용되는 ORM(Object Relational Mapping)을 지원하는 도구로, Python 구문만으로 데이터베이스를 처리할 수 있도록 도와줍니다.

1. 데이터베이스 테이블 생성

테이블을 생성하려면 pynecone의 Model 모듈을 사용하십시오.

테이블에 포함할 열과 해당 데이터 유형을 입력합니다.

(회의록 데이터를 관리하기 위해 테이블을 만들었습니다.)

class Meeting(pc.Model, table=True) :
    department: str     # 주최부서
    date: str           # 일시
    location: str       # 장소
    taskname: str       # 과제명
    title: str          # 제목
    content: str        # 내용

테이블 생성 후 pynecone을 실행하면 별도의 작업 없이 연결된 db 파일에 자동으로 테이블이 생성된다.

2. 데이터베이스 테이블 데이터 입력

테이블의 내용을 입력하는 방법에는 두 가지가 있습니다.

ORM을 이용하여 파이썬 문법으로 입력하는 방법과 질의문을 직접 입력하는 방법이다.

두 방법 모두 pynecone의 세션을 사용합니다.

1) 쿼리문을 이용한 데이터 입력

from sqlalchemy import text

# Meeting 테이블의 각각 컬럼에 컬럼과 같은 이름의 데이터를 넣어주는 코드입니다.
with pc.session() as session :
  session.execute(text("INSERT INTO Meeting VALUES ('department', 'date', 'location', 'taskname', 'title', 'content'"))
  session.commit()

sqlalchemy의 텍스트를 가져와서 세션에 직접 넣는 방식이다.

2) 파이썬 문법을 이용한 데이터 입력

# Meeting 테이블의 각각 컬럼에 컬럼과 같은 이름의 데이터를 넣어주는 코드입니다.
with pc.session() as session :
  meeting = Meeting(
    department="department",
    date="date",
    location="location",
    taskname="taskname",
    title="title",
    content="content"
  )
  
  session.add(meeting)
  session.commit()

이 코드는 1)의 코드와 동일하게 작동합니다.

회의 테이블이 있는 회의 변수를 선언한 후 세션에 회의 변수를 추가합니다.