Si está enviando a Heroku 1.sql
archivo generado para H2
, existe una gran posibilidad de que entren en conflicto; en su lugar, configure la URL de Heroku en application.conf
como db.default.url
y ejecútelo en modo dev en localhost primero para generar Postres SQL válido. También deberá comentar el db.default.user
y db.default.password
configuración, ya que la URL de Heroku ya contiene esta información.
Si no conoce la URL de la conexión actual, la encontrará en:
https://postgres.heroku.com/ -> YourDBs
-> nombre-bd -> Connection settings
-> JDBC URL
Para conectarse desde localhost (u otra máquina, no en el espacio de Heroku) debe agregar este parámetro a la URL:
&ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory
Gracias a este enfoque, puede probar su aplicación localmente con una conexión establecida a la base de datos remota de Heroku (no se sorprenda, esa combinación será mucho más lenta que trabajar con local app + local DB
o Heroku app + Heroku DB
) de todos modos, para probarlo es mejor que empujar repetidamente pequeñas correcciones a la nube.
También podrá realizar evoluciones desde localhost, sin enviar el código a Heroku, y es un enfoque realmente más corto si tiene problemas en su SQL.
Además, es una buena ocasión para activar el registro SQL en el modo de desarrollo local y buscar consultas SQL redundantes, si eliminará todas las consultas innecesarias y estará satisfecho en localhost, después de implementarlo en Heroku, estará mucho más satisfecho:)
Restablecer
Si va a crear 1.sql
adecuado que lo más probable es que necesite restablecer su base de datos que contiene una estructura no válida (ya que supongo que eso no es un problema todavía, ya que acaba de pasar de local a Heroku). Primero busque un nombre de la base de datos para la aplicación actual (con bash, en la carpeta de la aplicación):
heroku pg
Y luego reinícielo con (¡destruirá todos los datos, así que considere hacer una copia de seguridad primero si no quiere perder sus datos!):
heroku pg:reset HEROKU_DATABASE_SOMEBASE