From 32136b855f29cb70ea015c2da56473f485b7aa78 Mon Sep 17 00:00:00 2001 From: Pranay Nanda Date: Wed, 5 Jun 2019 17:12:49 +0530 Subject: [PATCH 01/10] Changed connection driver for ease of use. The current code does not work if tried to implement as is. There are bugs as described in the first comment of this StackOverflow question. https://stackoverflow.com/a/53784015/5056741 --- cloud-sql/postgres/sqlalchemy/main.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/cloud-sql/postgres/sqlalchemy/main.py b/cloud-sql/postgres/sqlalchemy/main.py index 0f262476d3f..6a7a66153f4 100644 --- a/cloud-sql/postgres/sqlalchemy/main.py +++ b/cloud-sql/postgres/sqlalchemy/main.py @@ -36,15 +36,13 @@ # managing a pool of connections to your database db = sqlalchemy.create_engine( # Equivalent URL: - # postgres+pg8000://:@/?unix_socket=/cloudsql/ + # postgres+pg8000://:@/?host=/cloudsql/ sqlalchemy.engine.url.URL( - drivername='postgres+pg8000', + drivername='postgresql+psycopg2', username=db_user, password=db_pass, - database=db_name, - query={ - 'unix_sock': '/cloudsql/{}'.format(cloud_sql_connection_name) - } + host=cloud_sql_connection_name, + database=db_name ), # ... Specify additional properties here. # [START_EXCLUDE] From 91d1ef1726f98023fc75189773d4dffa2c2623c2 Mon Sep 17 00:00:00 2001 From: Pranay Nanda Date: Wed, 5 Jun 2019 17:21:12 +0530 Subject: [PATCH 02/10] Updated driver in requirements file as well --- cloud-sql/postgres/sqlalchemy/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cloud-sql/postgres/sqlalchemy/requirements.txt b/cloud-sql/postgres/sqlalchemy/requirements.txt index cb393e0dfa1..cc17b80d0ed 100644 --- a/cloud-sql/postgres/sqlalchemy/requirements.txt +++ b/cloud-sql/postgres/sqlalchemy/requirements.txt @@ -1,3 +1,3 @@ Flask==1.0.2 SQLAlchemy==1.2.17 -pg8000==1.13.1 +psycopg2==2.8.2 From 3ce4ef1ebc0716ca6e7351f548be02ae005b7f76 Mon Sep 17 00:00:00 2001 From: Pranay Nanda Date: Wed, 24 Jul 2019 02:34:25 +0530 Subject: [PATCH 03/10] Removed trailing whitespace --- cloud-sql/postgres/sqlalchemy/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cloud-sql/postgres/sqlalchemy/main.py b/cloud-sql/postgres/sqlalchemy/main.py index 0ef23df2dd7..680c87cc256 100644 --- a/cloud-sql/postgres/sqlalchemy/main.py +++ b/cloud-sql/postgres/sqlalchemy/main.py @@ -42,7 +42,7 @@ username=db_user, password=db_pass, host=cloud_sql_connection_name, - database=db_name + database=db_name ), # ... Specify additional properties here. # [START_EXCLUDE] From 8fcf39cf50c2ad0dc2758022b5fb3573eb4826a0 Mon Sep 17 00:00:00 2001 From: Pranay Nanda Date: Wed, 24 Jul 2019 03:09:00 +0530 Subject: [PATCH 04/10] Updated versions as per suggestion --- cloud-sql/postgres/sqlalchemy/requirements.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cloud-sql/postgres/sqlalchemy/requirements.txt b/cloud-sql/postgres/sqlalchemy/requirements.txt index cc17b80d0ed..526c55174eb 100644 --- a/cloud-sql/postgres/sqlalchemy/requirements.txt +++ b/cloud-sql/postgres/sqlalchemy/requirements.txt @@ -1,3 +1,3 @@ -Flask==1.0.2 -SQLAlchemy==1.2.17 -psycopg2==2.8.2 +Flask==1.1.1 +SQLAlchemy==1.3.6 +psycopg2==2.8.3 From e86d51871cb14e71e1d5eba8cd2bc8a8980de259 Mon Sep 17 00:00:00 2001 From: Pranay Nanda Date: Wed, 24 Jul 2019 04:33:30 +0530 Subject: [PATCH 05/10] Updated to use pg8000 --- cloud-sql/postgres/sqlalchemy/main.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cloud-sql/postgres/sqlalchemy/main.py b/cloud-sql/postgres/sqlalchemy/main.py index 680c87cc256..eedafb1e122 100644 --- a/cloud-sql/postgres/sqlalchemy/main.py +++ b/cloud-sql/postgres/sqlalchemy/main.py @@ -38,11 +38,12 @@ # Equivalent URL: # postgres+psycopg2://:@/?unix_socket=/cloudsql//.s.PGSQL.5432 sqlalchemy.engine.url.URL( - drivername='postgresql+psycopg2', + drivername='postgresql+pg8000', username=db_user, password=db_pass, host=cloud_sql_connection_name, - database=db_name + database=db_name, + query={'unix_sock': '/cloudsql/{}/.s.PGSQL.5432'.format(cloud_sql_connection_name)}), ), # ... Specify additional properties here. # [START_EXCLUDE] From fb45efa0889be4418de43e52da7eaa96436b4d9d Mon Sep 17 00:00:00 2001 From: Pranay Nanda Date: Wed, 24 Jul 2019 04:40:48 +0530 Subject: [PATCH 06/10] Updated formatting. --- cloud-sql/postgres/sqlalchemy/main.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cloud-sql/postgres/sqlalchemy/main.py b/cloud-sql/postgres/sqlalchemy/main.py index eedafb1e122..592e2b2f3a7 100644 --- a/cloud-sql/postgres/sqlalchemy/main.py +++ b/cloud-sql/postgres/sqlalchemy/main.py @@ -43,8 +43,11 @@ password=db_pass, host=cloud_sql_connection_name, database=db_name, - query={'unix_sock': '/cloudsql/{}/.s.PGSQL.5432'.format(cloud_sql_connection_name)}), - ), + query={ + 'unix_sock': + '/cloudsql/{}/.s.PGSQL.5432'.format( + cloud_sql_connection_name) + }), # ... Specify additional properties here. # [START_EXCLUDE] From 73a3b6fa200120c26283283b93cefd816bf38d4a Mon Sep 17 00:00:00 2001 From: Pranay Nanda Date: Wed, 24 Jul 2019 04:42:15 +0530 Subject: [PATCH 07/10] Removed host parameter after adding correct query --- cloud-sql/postgres/sqlalchemy/main.py | 1 - 1 file changed, 1 deletion(-) diff --git a/cloud-sql/postgres/sqlalchemy/main.py b/cloud-sql/postgres/sqlalchemy/main.py index 592e2b2f3a7..d84f4c73677 100644 --- a/cloud-sql/postgres/sqlalchemy/main.py +++ b/cloud-sql/postgres/sqlalchemy/main.py @@ -41,7 +41,6 @@ drivername='postgresql+pg8000', username=db_user, password=db_pass, - host=cloud_sql_connection_name, database=db_name, query={ 'unix_sock': From ec4c33f159c3d6cf07728615a0eb3b3dc4cb1bd6 Mon Sep 17 00:00:00 2001 From: Pranay Nanda Date: Wed, 24 Jul 2019 04:46:02 +0530 Subject: [PATCH 08/10] Updated to use pg8000 --- cloud-sql/postgres/sqlalchemy/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cloud-sql/postgres/sqlalchemy/requirements.txt b/cloud-sql/postgres/sqlalchemy/requirements.txt index 526c55174eb..c8687013294 100644 --- a/cloud-sql/postgres/sqlalchemy/requirements.txt +++ b/cloud-sql/postgres/sqlalchemy/requirements.txt @@ -1,3 +1,3 @@ Flask==1.1.1 SQLAlchemy==1.3.6 -psycopg2==2.8.3 +pg8000==1.13.2 From ad977dc523645da439b46ebe72ac9c7a68f8cf06 Mon Sep 17 00:00:00 2001 From: Pranay Nanda Date: Wed, 24 Jul 2019 04:48:17 +0530 Subject: [PATCH 09/10] Fixed indentation --- cloud-sql/postgres/sqlalchemy/main.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cloud-sql/postgres/sqlalchemy/main.py b/cloud-sql/postgres/sqlalchemy/main.py index d84f4c73677..06c2a490461 100644 --- a/cloud-sql/postgres/sqlalchemy/main.py +++ b/cloud-sql/postgres/sqlalchemy/main.py @@ -46,7 +46,8 @@ 'unix_sock': '/cloudsql/{}/.s.PGSQL.5432'.format( cloud_sql_connection_name) - }), + } + ), # ... Specify additional properties here. # [START_EXCLUDE] From 481894a436a3bec6c586644be8b93d4784e02274 Mon Sep 17 00:00:00 2001 From: Kurtis Van Gent Date: Wed, 24 Jul 2019 08:33:19 -0700 Subject: [PATCH 10/10] Fix comment in both samples. --- cloud-sql/mysql/sqlalchemy/main.py | 2 +- cloud-sql/postgres/sqlalchemy/main.py | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/cloud-sql/mysql/sqlalchemy/main.py b/cloud-sql/mysql/sqlalchemy/main.py index 036d0719edb..b44c62820ab 100644 --- a/cloud-sql/mysql/sqlalchemy/main.py +++ b/cloud-sql/mysql/sqlalchemy/main.py @@ -36,7 +36,7 @@ # managing a pool of connections to your database db = sqlalchemy.create_engine( # Equivalent URL: - # mysql+pymysql://:@/?unix_sock=/cloudsql/ + # mysql+pymysql://:@/?unix_socket=/cloudsql/ sqlalchemy.engine.url.URL( drivername='mysql+pymysql', username=db_user, diff --git a/cloud-sql/postgres/sqlalchemy/main.py b/cloud-sql/postgres/sqlalchemy/main.py index 06c2a490461..6c791ffba2f 100644 --- a/cloud-sql/postgres/sqlalchemy/main.py +++ b/cloud-sql/postgres/sqlalchemy/main.py @@ -36,16 +36,15 @@ # managing a pool of connections to your database db = sqlalchemy.create_engine( # Equivalent URL: - # postgres+psycopg2://:@/?unix_socket=/cloudsql//.s.PGSQL.5432 + # postgres+pg8000://:@/?unix_sock=/cloudsql//.s.PGSQL.5432 sqlalchemy.engine.url.URL( - drivername='postgresql+pg8000', + drivername='postgres+pg8000', username=db_user, password=db_pass, database=db_name, query={ - 'unix_sock': - '/cloudsql/{}/.s.PGSQL.5432'.format( - cloud_sql_connection_name) + 'unix_sock': '/cloudsql/{}/.s.PGSQL.5432'.format( + cloud_sql_connection_name) } ), # ... Specify additional properties here.