sql >> Databáze >  >> RDS >> PostgreSQL

Jak přesunu svou stávající aplikaci rails na heroku? (sqlite to postgres)

10 minut přechodu z místního SQLite na Heroku Postgres

- během cesty aktualizuje vašeho místního vývojáře na postgres --

To za předpokladu, že máte vývojovou databázi ve sqlite a chcete přesunout strukturu a data do heroku. Nejprve změníte své místní prostředí na postgres a poté to všechno přesunete nahoru.

proč měnit? Vaše vývojové prostředí by mělo vždy zrcadlit vaše produkční prostředí. Použití Postgres je na heroku výchozí.

Nejprve budete muset nainstalovat a nakonfigurovat Postgres lokálně s uživatelem, který má vaše uživatelské jméno

Potřebný software:postgresql, pgloader, heroku-cli

Kroky

Přejděte z SQLite na Postgres ve svém vývojářském prostředí

  1. nainstalujte heroku / pgloader / postgres a ujistěte se, že na vašem systému běží postgresql
  2. záloha sqlite – zkopírujte development.sql do development_old.sql
  3. přidat gem 'pg' do hlavní části vašeho Gemfile
  4. instalace balíčku
  5. aktualizujte soubor config/database.yml (viz ukázka níže)
  6. rake db:setup
  7. cd [kořen aplikace]
  8. načíst data postgres db - pgloader ./db/development.sqlite3 postgresql:///[name of postgres dev db]
  9. odstraňte gem 'sqlite3'
  10. instalace balíčku
  11. start server - rails server
  12. otestujte návštěvou aplikace na localhost:3000

Nastavit novou aplikaci na heroku

Postupujte podle těchto pokynů od heroku

Přesunout data do heroku

  1. najít informace o heroku db - heroku pg:info
  2. vymazat a resetovat vzdálenou databázi - heroku pg:reset DATABASE_URL --app [name of app]
  3. push místní data do heroku - heroku pg:push [name of postgres dev db] DATABASE_URL --app [name of app]

POZNÁMKA:Pokud má databáze více než 10 000 řádků, budete také muset upgradovat na úroveň hobby-basic na heroku

Upgrade Heroku na Hobby Tier Basic

  1. vytvořit novou úroveň – `heroku addons:create heroku-postgresql:hobby-basic --app [název aplikace]
  2. získejte adresu URL nové databáze - heroku pg:info
  3. zapnout údržbu – heroku maintenance:on --app [name of app]
  4. kopírovat data – heroku pg:copy DATABASE_URL [HEROKU_POSTGRESQL_COLOR_URL] --app [name of app]
  5. propagovat novou databázi - heroku pg:promote [HEROKU_POSTGRESQL_COLOR_URL] --app [name of app]
  6. vypnout údržbu
  7. otestujte návštěvou aplikace heroku

V případě, že narazíte na problémy nebo okrajové případy, zde je několik zdrojů, které vám pomohou.

Zdroje:

  • https://pgloader.io
  • instalační dokumenty postgres
  • instalace nových kolejnic herou
  • informace o heroku cli
  • pomocí heroku cli

database_sample.yml

default: &default
  adapter: postgresql
  encoding: unicode
  host: localhost
  port: 5432
  # For details on connection pooling, see Rails configuration guide
  # http://guides.rubyonrails.org/configuring.html#database-pooling
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  timeout: 5000

development:
  <<: *default
  database: [name of app]_dev

test:
  <<: *default
  database: [name of app]_test

staging:
  <<: *default
  database: [name of app]

production:
  <<: *default
  database: [name of app]


  1. Tabulky vs. databáze:Je čas přejít? Část 2

  2. Dotazovací jazyk Neo4j – Cypher

  3. InMemory DUPLICATE Zmatek v Oracle RAC

  4. Monitorování zabezpečení databáze pro MySQL a MariaDB