SQLalchemy을 이용하기 위해서는 플라스크를 먼저 생성하고
다음 sqlalchemy 객체를 패싱하는 것이다.
from flask import Flask
app=Flask(__name__)
1. 데이터베이스만들기
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///데이터파일이름.db'
db = SQLAlchemy(app)
한번 실행하면 객체db는 sqlalchemy 와 sqlalchemy.orm에서 가져온 함수와 도움말등을 포함하게 된다.
그런데 자꾸만 오류가 난다.
FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True or False to suppress this warning.
warnings.warn(FSADeprecationWarning(
왜 이런 오류가 났냐하는 것은 대부분의 앱은 알케미의ㅡ 이벤트시스템을 이용하지 않기 때문에 꺼두는 것이 좋을 것이고 이걸 코드로 별도로 작성해야한다는 답변을 참조하자
How do I know if I can disable SQLALCHEMY_TRACK_MODIFICATIONS?
Every time I run my app that uses Flask-SQLAlchemy I get the following warning that the SQLALCHEMY_TRACK_MODIFICATIONS option will be disabled. /home/david/.virtualenvs/flask-sqlalchemy/lib/python...
stackoverflow.com
해서 아래의 코드를 추가로 작성했다.
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
2.테이블만들기
class Mountain(db.Model):
order = db.Column(db.Integer, primary_key=True)
mountain = db.Column(db.String(80), unique=True, nullable=False)
course = db.Column(db.String(120), unique=True, nullable=False)
def __repr__(self):
return '<Mountain %r>' % self.mountain
db.create_all()
값을 입력해보자
mountain1=Mountain(order=1,mountain="우암산",course="어린이공원")
db.session.add(mountain1)
db.session.commit()