CoWithMe

소프트웨어 개발에서 사람의 중요성 플라스크 MySQL연동 방법 복붙 정리

이영훈닷컴 2024. 6. 20. 09:53
728x90
  1. 프로젝트 성공을 위해서는 '사람' 요소가 매우 중요하다는 교훈을 얻었고, 이에 따라 인력 구인/선발 프로세스 컨설팅까지 하게 되었다.
  2. 조직에서 직원 채용 시 중요하다고 생각하는 요소(예: 경력)가 실제로는 중요하지 않을 수 있고, 반대로 별것 아니라고 여겼던 요소가 중요할 수 있다.
  3. 채용 기준과 실제 업무 성과를 분석해보면 기존 기준이 성과와 연관성이 없을 수 있음을 알게 된다.
  4. 오히려 경력이 높을수록 편견을 가질 수 있어 최소한의 경력만 요구하는 것이 나을 수 있다.
  5. 구조화된 인터뷰, 실제 업무 샘플링, 인턴십 등의 방식을 통해 실력을 정확히 가늠하고, 실제 동료들과 함께 인터뷰에 참여하도록 하는 것이 바람직하다.

학습한 내용에서의 발견

  • Flask와 MySQL 연동 시 SQLAlchemy를 사용하면 ORM(Object Relational Mapping)을 통해 데이터베이스 작업을 보다 직관적이고 효율적으로 수행할 수 있다.
  • Flask-Migrate를 사용하면 데이터베이스 마이그레이션을 쉽게 관리할 수 있다.

어려웠던 점

  • Flask와 MySQL의 초기 설정 및 연결 과정에서 환경 변수 설정과 데이터베이스 URI 구성의 이해가 필요했다.
  • SQLAlchemy와 Flask-Migrate의 사용법을 처음 접해서 익숙해지는 데 시간이 걸렸다.

해결 방법

  • Flask 공식 문서와 여러 튜토리얼을 참조하여 단계별로 환경을 설정했다.
  • MySQL 연결을 위해 Flask 앱 구성 파일에 다음과 같이 설정
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://username:password@localhost/dbname'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

 

  • SQLAlchemy와 Flask-Migrate 설치
pip install Flask-SQLAlchemy
pip install Flask-Migrate

 

  • 데이터베이스 모델을 정의하고, 마이그레이션 초기화 및 적용
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://username:password@localhost/dbname'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

db = SQLAlchemy(app)
migrate = Migrate(app, db)

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

    def __repr__(self):
        return f'<User {self.username}>'

if __name__ == "__main__":
    app.run(debug=True)

 

 

728x90