PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Грешки в еволюцията на Heroku

Ако изпращате до Heroku 1.sql файл, генериран за H2 , има голям шанс те да се сблъскат, вместо това задайте URL адреса на Heroku в application.conf като db.default.url и го стартирайте първо в режим на разработчик на localhost, за да генерирате валиден Postres SQL. Също така ще трябва да коментирате db.default.user и db.default.password настройки, тъй като URL адресът на Heroku вече съдържа тази информация.

Ако не знаете URL адреса на текущата връзка, ще го намерите на:

https://postgres.heroku.com/ -> YourDBs -> име на db -> Connection settings -> JDBC URL

За да се свържете от localhost (или друга машина, която не е в пространството на Heroku), трябва да добавите този параметър към URL адреса:

&ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory

Благодарение на този подход можете да тествате приложението си локално с установена връзка с отдалечената DB на Heroku, (не се изненадвайте - тази комбинация ще бъде много по-бавна от работата с local app + local DB или Heroku app + Heroku DB ) така или иначе за тестване е по-добре, отколкото многократно натискане на малки корекции в облака.

Също така ще можете да извършвате еволюции от localhost - без да натискате кода към Heroku и това е наистина по-кратък подход, ако имате проблеми във вашия SQL.

Освен това е добър повод да включите регистрирането на SQL в режим на локален разработчик и да търсите излишни SQL заявки, ако премахнете всички ненужни заявки и ще бъдете доволни на localhost, след внедряване на Heroku, ще бъдете много по-доволни:)

Нулиране

Ако ще създадете правилен 1.sql файл, отколкото най-вероятно ще трябва да нулирате вашата БД, съдържаща невалидна структура (тъй като предполагам, че това все още не е проблем, тъй като просто преминавате от локално към Heroku). Първо намерете име на DB за текущото приложение (с bash, в папката на приложението):

heroku pg

И след това го нулирайте с (това ще унищожи всички данни, така че първо помислете за архивиране, ако не искате да загубите данните си!):

heroku pg:reset HEROKU_DATABASE_SOMEBASE


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. gem install pg не работи на OSX Lion

  2. PostgreSQL как да свържете стойността на интервала '2 дни'

  3. PostgreSQL:Време за създаване на таблица

  4. Как мога да слея колоните от две таблици в един изход?

  5. Паралелен unnest() и ред на сортиране в PostgreSQL