У меня есть сайт, который я создал с помощью Flask SQLAlchemy и SQLite, и мне нужно переключиться на MySQL. Я сам переместил базу данных и запущен в MySQL, но
- Невозможно выяснить, как подключиться к базе данных MySQL (то есть, что должно быть
SQLALCHEMY_DATABASE_URI
) и - Неясно, будет ли какой-либо из моего существующего SQLite-кода SQLAlchemy работать с MySQL.
Я подозреваю, что (1) довольно прост, и просто вопрос о том, как отображать, например, содержимое диалогового окна подключения, которое я использую в своем инструменте базы данных MySQL, для соответствующего отформатированного URL. Но я беспокоюсь о (2), я предположил, что SQLAlchemy предоставил уровень абстракции, чтобы простой код SQLAlchemy, например
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()
wold работать без каких-либо изменений, кроме соответствующего изменения в URI базы данных; но примеры, которые я нашел для использования SQLAlchemy с MySQL, похоже, используют совершенно другой API.
Могу ли я (2) перенести свой код SQLAlchemy Flask для работы с базой данных MySQL, просто изменив URI базы данных и если да (1), что должен делать этот URI?