Я использовал колбу-sqlalchemy с PostgreSQL.
Теперь я перешел на RDS MySQL,
поэтому я изменил SQLALCHEMY_DATABASE_URI
форма
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgres://**************'
до
app.config['SQLALCHEMY_DATABASE_URI'] = "mysql+pymysql://{username}:{password}@{endpoint}:{port}?charset=utf8"
после этого я инициализирую приложение вот так
from flask import Flask, render_template, request, logging, Response, redirect, flash, jsonify
from flask_cors import CORS
from flask_sqlalchemy import SQLAlchemy
from flask_marshmallow import Marshmallow
app = Flask(__name__)
db = SQLAlchemy(app)
ma = Marshmallow(app)
class User(db.Model):
__tablename__ = 'user'
id = db.Column(db.String(8), primary_key=True)
name = db.Column(db.String, unique=False)
email = db.Column(db.String, unique=False)
def __init__(self,params):
self.id = params['id']
self.name = params['name']
self.email = params['email']
class UserSchema(ma.ModelSchema):
class Meta:
model = User
@app.route('/get_user', methods=['GET'])
def get_user():
userid = request.args['id']
user = User.query.get(userid)
return user
if __name__ == '__main__':
app.run()
Но приложение не может подключиться к серверу.
(Я подтвердил имя пользователя, пароль, конечную точку, порт, правильно и подключен из MySQL Workbench)
Я прочитал этот вопрос.
Переключение с SQLite на MySQL с помощью Flask SQLAlchemy
поэтому я установил pymysql, но он не работал.
Когда мое приложение пыталось подключить БД, отображается это сообщение об ошибке.
кажется, что psycopg2 вызывается, хотя я использую mysql.
Не могли бы вы дать мне совет?
psycopg2.ProgrammingError: invalid dsn: invalid connection option "mysql+pymysql://mysql+pymysql://{username}:{password}{endpoint}:{port}?charset"