Conexão entre heroku e sql cloud via buildpack
22/09/2024
0
Estou desde ontem já tentando isso e preciso de ajuda pra resolver. Desenvolvi o site e testei localmente, consegui realizar a conexão com o cloud sql localmente executando o arquivo de proxy.exe que baixei pra me conectar ao sql cloud.
No heroku, vi q em vez do arquivo, tenho q colocar um buildpack. Fiz isso, mas não consigo me conectar com o banco.
O site está de pé, mas a conexão com o banco não funciona. Parece que tem poucos recursos na internet e alguns se contradizem. Acho q quando entra a parte "heroku" o corredor se estreita.
Minha conexão é basicamente esta:
const pool = mysql.createPool({
socketPath: ''/cloudsql/'' + process.env.CLOUD_SQL_CONNECTION_NAME,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
port: 3306, // PORTA DO PROXY
waitForConnections: true,
connectionLimit: 10,
queueLimit: 0
});
Já tentei host em vez de socketPath, já tentei host com localhost pois vi em algum lugar q a conexão abre e vc pode usar localhost, já coloquei host tb com o msm padrão que vemos no socketPath, nhm funcionou. Tenho tb a variavel de ambiente GSP_CREDENTIALS que guarda o caminho da minha json com as credenciais, que quando eu executava o proxy via comando na maquina local, eu colocava o local desse json, mas agr no heroku nem sei onde enfiar isso. Perguntei o gpt e ele disse q n precisa de colocar em lugar nhm q o buildpack já pega nas variaveis. Duvidei um pouco mas fiz isso, e nada de funcionar tb. Se alguém puder me ajudar agradeço mt.
O erro que pego é este:
Erro ao buscar usuário: Error: connect ENOENT /cloudsql/mysite-715b9:us-central1:***
at PipeConnectWrap.afterConnect [as oncomplete] (node:net:1606:16) {
errno: -2,
code: ''ENOENT'',
syscall: ''connect'',
address: ''/cloudsql/mysite-715b9:us-central1:***'',
fatal: true
No heroku, vi q em vez do arquivo, tenho q colocar um buildpack. Fiz isso, mas não consigo me conectar com o banco.
O site está de pé, mas a conexão com o banco não funciona. Parece que tem poucos recursos na internet e alguns se contradizem. Acho q quando entra a parte "heroku" o corredor se estreita.
Minha conexão é basicamente esta:
const pool = mysql.createPool({
socketPath: ''/cloudsql/'' + process.env.CLOUD_SQL_CONNECTION_NAME,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
port: 3306, // PORTA DO PROXY
waitForConnections: true,
connectionLimit: 10,
queueLimit: 0
});
Já tentei host em vez de socketPath, já tentei host com localhost pois vi em algum lugar q a conexão abre e vc pode usar localhost, já coloquei host tb com o msm padrão que vemos no socketPath, nhm funcionou. Tenho tb a variavel de ambiente GSP_CREDENTIALS que guarda o caminho da minha json com as credenciais, que quando eu executava o proxy via comando na maquina local, eu colocava o local desse json, mas agr no heroku nem sei onde enfiar isso. Perguntei o gpt e ele disse q n precisa de colocar em lugar nhm q o buildpack já pega nas variaveis. Duvidei um pouco mas fiz isso, e nada de funcionar tb. Se alguém puder me ajudar agradeço mt.
O erro que pego é este:
Erro ao buscar usuário: Error: connect ENOENT /cloudsql/mysite-715b9:us-central1:***
at PipeConnectWrap.afterConnect [as oncomplete] (node:net:1606:16) {
errno: -2,
code: ''ENOENT'',
syscall: ''connect'',
address: ''/cloudsql/mysite-715b9:us-central1:***'',
fatal: true
Vinícius
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)