플라스크 SQLAlchemy 및 SQLite로 구축 한 사이트가 있으며 MySQL로 전환해야합니다. 나는 자체 데이터베이스를 마이그레이션 한 그것은 MySQL의에서 실행,하지만플라스크 SQLite에서 MySQL로 전환 SQLAlchemy
- MySQL 데이터베이스에 연결하는 방법을 알아낼 수 없습니다 (즉,
SQLALCHEMY_DATABASE_URI
는해야한다 무엇을) 어떤 경우 - 암 불분명 내 기존 SQLAlchemy SQLite 코드는 MySQL에서 작동합니다.
(1)은 (1) 상당히 간단하고 예를 들어 MySQL 데이터베이스 도구에서 적절하게 형식화 된 URL로 사용하는 연결 대화 상자의 내용을 매핑하는 방법을 보여 주어야한다고 생각합니다. (2) 내가 SQLAlchemy의이 추상화 계층을 제공하는 것으로 가정했다 대해 그러나 나는 걱정 그래서 데이터베이스 URI에 대한 적절한 변화 이외의 수정없이 simple SQLAlchemy code such as
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True)
email = db.Column(db.String(120), unique=True)
def __init__(self, username, email):
self.username = username
self.email = email
def __repr__(self):
return '<User %r>' % self.username
admin = User('admin', '[email protected]')
db.session.add(admin)
User.query.all()
User.query.filter_by(username='admin').first()
고원 작업; 그러나 MySQL에서 SQLAlchemy를 사용하기위한 examples I've found은 완전히 다른 API를 사용하는 것 같습니다.
단순히 데이터베이스 URI를 변경하여 MySQL 데이터베이스에서 작동하도록 Flask SQLAlchemy 코드를 마이 그 레이션 할 수 있습니까? 그렇다면 (1) 그 URI는 무엇이되어야합니까?
예, orm의 요점은 차이점을 추상화하여 다른 이유가 무엇인지 생각하지 못하는 것입니다. 그리고 분명히 당신이 연결하는 블로그는 uri가 무엇이어야하는지에 대한 완벽한 예를 가지고 있습니까? –
@DanielRoseman : 예를 들어,'create_engine'의 사용은 제가 본 것이 아닙니다. – orome
그러나 이것은 데이터베이스 간의 차이점과는 아무런 관련이 없으며 Flask가 db 구성을 설정하는 방법과 독립 실행 형 방법을 비교하는 방법입니다. –