Aggiornamento
Google Cloud SQL ora supporta l'accesso diretto, quindi è ora possibile utilizzare il dialetto MySQLdb
. La connessione raccomandata tramite il dialetto mysql utilizza il formato URL:
mysql+mysqldb://[email protected]/<dbname>?unix_socket=/cloudsql/<projectid>:<instancename>
mysql+gaerdbms
è stato deprecato in SQLAlchemy a partire dalla versione 1.0
Lascio la risposta originale al di sotto nel caso in cui gli altri a trovare ancora utile.
Per chi visita questa domanda dopo (e non vogliono leggere tutti i commenti), SQLAlchemy ora supporta Google Cloud SQL a partire dalla versione 0.7.8 utilizzando la stringa di connessione/dialetto (vedi: docs):
mysql+gaerdbms:///<dbname>
esempio:
create_engine('mysql+gaerdbms:///mydb', connect_args={"instance":"myinstance"})
ho proposto un 012.371.575,694 milaal dialetto mysql+gaerdmbs://
per supportare entrambe le API di Google Cloud SQL (rdbms_apiproxy
e rdbms_googleapi
) per la connessione a Cloud SQL da un'istanza di produzione di app non di Google (ad es. la tua workstation di sviluppo).La modifica modificherà anche leggermente la stringa di connessione includendo il progetto e l'istanza come parte della stringa e non richiederà di essere passata separatamente tramite connect_args
.
E.g.
mysql+gaerdbms:///<dbname>?instance=<project:instance>
Questo renderà anche più facile da usare Cloud SQL con la boccetta-SQLAlchemy o altra estensione in cui non si fanno in modo esplicito la chiamata create_engine()
.
Se si verificano problemi di connessione a Google Cloud SQL dalla workstation di sviluppo, è possibile dare un'occhiata alla mia risposta qui: https://stackoverflow.com/a/14287158/191902.
fonte
2012-06-05 16:07:24
FYI per tutti gli altri che si imbattono in questa risposta: questo metodo non è più raccomandato da SQLAlchemy; usa invece il dialetto MySQLdb: [doc link] (http://docs.sqlalchemy.org/en/latest/dialects/mysql.html?highlight=appengine#module-sqlalchemy.dialects.mysql.gaerdbms) – eaj