Ich versuche, ein Backend mit Flask zu bauen. Ich weiß, wie man sqlite
in Flask anschließt. Aber es scheint, dass die Verbindung mysql
komplizierter ist. Ich versuchtemysql - Wie stellt man sicher, dass die mysql-Datenbank in Flask mit flask-sqlalchemy erfolgreich verbunden ist?
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:[email protected]/test'
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.create_all() # In case user table doesn't exists already. Else remove it.
db.session.add(admin)
db.session.commit() # This is needed to write the changes to database
User.query.all()
User.query.filter_by(username='admin').first()
Das Programm fehlerfrei ausgeführt werden kann. Allerdings verwende ich Navicat
, um zu überprüfen, ob die Tabelle zur Datenbank hinzugefügt wird, fand ich die test
Datenbank ist immer noch leer.
Eigentlich verstehe ich nicht ganz was genau ist eine Datenbankverbindung. Da es scheint, dass ich eine Verbindung in Navicat
erstellen kann, und ich auch die Datenbank im Code verbinden, was sind die Unterschiede zwischen diesen Verbindungen?
Ich frage mich, ob es etwas falsch mit dem SQLALCHEMY_DATABASE_URI
ist, weil ich, dass es gefunden sind mehrere Benutzer
Mit diesen Fragen, ich bin nicht sicher machen könnte, ob ich erfolgreich mit der Datenbank verbunden. Kann jemand helfen?
hey Kumpel, ich bin das gleiche Problem haben, können Sie sich auch bitte. http://stackoverflow.com/questions/42323929/mysql-table-not-created-using-flask-and-pymysql – sabbibJAVA