aktualisieren
Google Cloud SQL unterstützt nun den direkten Zugriff, So kann jetzt der Dialekt MySQLdb
verwendet werden. Die empfohlene Verbindung über den MySQL-Dialekt wird mit dem URL-Format:
mysql+mysqldb://[email protected]/<dbname>?unix_socket=/cloudsql/<projectid>:<instancename>
mysql+gaerdbms
hat in SQLAlchemy seit Version 1.0
Ich verlasse die ursprüngliche Antwort unten, falls andere noch finden es hilfreich, veraltet.
Für diejenigen, die später diese Frage besuchen (und wollen nicht durch alle Kommentare lesen), SQLAlchemy unterstützt jetzt Google Cloud SQL ab Version 0.7.8 die Verbindungszeichenfolge/Dialekt (siehe: docs):
mysql+gaerdbms:///<dbname>
ZB:
create_engine('mysql+gaerdbms:///mydb', connect_args={"instance":"myinstance"})
ich einvorgeschlagenan den mysql+gaerdmbs://
-Dialekt zur Unterstützung beider Google Cloud SQL-APIs (rdbms_apiproxy
und rdbms_googleapi
) für die Verbindung mit Cloud SQL von einer nicht von Google App Engine stammenden Produktionsinstanz (z. Ihr Entwicklungsarbeitsplatz).Die Änderung wird auch die Verbindungszeichenfolge leicht ändern, indem das Projekt und die Instanz als Teil der Zeichenfolge eingefügt werden und nicht separat über connect_args
übergeben werden müssen.
z.
mysql+gaerdbms:///<dbname>?instance=<project:instance>
Dadurch wird es auch einfacher Cloud SQL mit Flask-SQLAlchemy oder anderer Erweiterung zu verwenden, wo Sie den create_engine()
Anruf nicht explizit.
Wenn Sie Probleme bei der Verbindung mit Google Cloud SQL von Ihrer Entwicklungs-Workstation haben, sollten Sie sich meine Antwort hier ansehen: https://stackoverflow.com/a/14287158/191902.
FYI für jeden anderen, der über diese Antwort stolpert: Diese Methode wird von SQLAlchemy nicht mehr empfohlen; Verwenden Sie stattdessen den MySQLdb-Dialekt: [doc link] (http://docs.sqlalchemy.org/en/latest/dialects/mysql.html?highlight=appengine#module-sqlalchemy.dialects.mysql.gaerdbms) – eaj