[python] SQLAlchemy와 Flask 웹 프레임워크 연동 방법

Flask는 Python으로 작성된 웹 프레임워크로서, 빠르고 간단하게 웹 애플리케이션을 개발할 수 있도록 도와줍니다. SQLAlchemy는 Python에서 사용하는 ORM(Object-Relational Mapping) 라이브러리로서, 데이터베이스와의 상호작용을 쉽게 처리할 수 있게 해줍니다.

이번 포스트에서는 SQLAlchemy와 Flask를 함께 사용하는 방법에 대해 알아보겠습니다.

1. Flask 설치

먼저 Flask를 설치해야 합니다. 다음 명령을 사용하여 Flask를 설치할 수 있습니다:

$ pip install flask

2. SQLAlchemy 설치

SQLAlchemy도 함께 설치해야 합니다. 다음 명령을 사용하여 SQLAlchemy를 설치할 수 있습니다:

$ pip install sqlalchemy

3. Flask 애플리케이션 초기화

Flask 애플리케이션을 초기화합니다. 다음과 같은 코드를 작성합니다:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///myapp.db'
db = SQLAlchemy(app)

# 나머지 Flask 애플리케이션 설정 코드...

위 코드에서는 Flask 앱 객체를 생성하고, SQLAlchemy 객체를 생성한 후, 데이터베이스의 URI를 설정합니다. 위 코드는 SQLite 데이터베이스를 사용하도록 설정되어 있습니다.

4. 모델 정의

다음으로 SQLAlchemy 모델을 정의해야 합니다. 예를 들어, User 모델을 다음과 같이 정의합니다:

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50), nullable=False)
    email = db.Column(db.String(50), nullable=False, unique=True)

위 코드에서는 User 클래스에 id, name, email 세 개의 속성을 정의합니다. db.Column 함수를 사용하여 속성의 타입 및 제약 조건을 설정합니다.

5. 데이터베이스 마이그레이션

데이터베이스 마이그레이션은 SQLAlchemy-Migrate 또는 Flask-Migrate를 사용하여 수행할 수 있습니다. 마이그레이션을 위해 다음 명령을 실행합니다:

$ flask db init
$ flask db migrate
$ flask db upgrade

위 명령을 실행하면, 마이그레이션을 위한 초기 설정 작업이 이루어지고, 마이그레이션 스크립트가 생성되며, 마지막으로 데이터베이스가 업그레이드됩니다.

6. 데이터베이스 사용

이제 데이터베이스를 사용할 준비가 되었습니다. 예를 들어, User 모델을 생성하고 데이터베이스에 저장하는 코드는 다음과 같습니다:

user = User(name='John Doe', email='johndoe@example.com')
db.session.add(user)
db.session.commit()

위 코드에서는 User 모델을 생성하고, session 객체를 사용하여 데이터베이스에 추가한 다음, commit 메서드를 호출하여 변경 사항을 저장합니다.

결론

이번 포스트에서는 SQLAlchemy와 Flask 웹 프레임워크를 함께 사용하는 방법을 알아보았습니다. Flask와 SQLAlchemy는 각각의 장점을 살려 웹 애플리케이션을 개발하는 데 도움을 주는 강력한 도구입니다.

더 자세한 내용은 아래의 참고 자료를 참고하시기 바랍니다.

참고 자료:

  1. Flask 공식 문서
  2. SQLAlchemy 공식 문서