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

Как да преместя съществуващото си приложение за релси в heroku? (sqlite към postgres)

10 минути Преместване от локален SQLite към Heroku Postgres

-- актуализира вашия локален разработчик до postgres по пътя --

Това предполага, че имате база данни за разработка в sqlite и искате да преместите структурата и данните в heroku. Първо ще промените вашата локална среда на postgres, след което ще преместите всичко нагоре.

Защо се променя? Винаги трябва вашата среда за разработка да отразява вашата производствена среда. Използването на Postgres е по подразбиране на heroku.

Ще трябва първо да инсталирате и конфигурирате Postgres локално с потребител, който има вашето потребителско име

Необходим софтуер:postgresql, pgloader, heroku-cli

Стъпки

Преместете се от SQLite към Postgres във вашата среда за разработка

  1. инсталирайте heroku / pgloader / postgres и се уверете, че postgresql работи на вашата система
  2. backup sqlite – копирайте development.sql в development_old.sql
  3. добавете gem 'pg' към главната секция на вашия Gemfile
  4. пакетна инсталация
  5. актуализиране на config/database.yml (вижте примера по-долу)
  6. rake db:setup
  7. cd [корен на приложението]
  8. заредете postgres db с данни - pgloader ./db/development.sqlite3 postgresql:///[name of postgres dev db]
  9. премахнете gem 'sqlite3'
  10. пакетна инсталация
  11. стартов сървър - rails server
  12. тествайте, като посетите приложението на localhost:3000

Настройте ново приложение на heroku

Следвайте тези инструкции от heroku

Преместване на данни в heroku

  1. намерете информация за heroku db - heroku pg:info
  2. изтриване и нулиране на отдалечен db - heroku pg:reset DATABASE_URL --app [name of app]
  3. изпратете локални данни към heroku - heroku pg:push [name of postgres dev db] DATABASE_URL --app [name of app]

ЗАБЕЛЕЖКА:ако тази база данни има повече от 10 000 реда, ще трябва също да надстроите до ниво, базирано на хобита, на heroku

Надграждане на Heroku до Hobby Tier Basic

  1. създайте ново ниво - `heroku addons:create heroku-postgresql:hobby-basic --app [име на приложението]
  2. вземете новия URL адрес на базата данни - heroku pg:info
  3. включване на поддръжката - heroku maintenance:on --app [name of app]
  4. копиране на данни - heroku pg:copy DATABASE_URL [HEROKU_POSTGRESQL_COLOR_URL] --app [name of app]
  5. популяризирайте нов db - heroku pg:promote [HEROKU_POSTGRESQL_COLOR_URL] --app [name of app]
  6. изключете поддръжката
  7. тествайте, като посетите приложението heroku

В случай, че срещнете проблеми или крайни случаи, ето някои ресурси за помощ.

Ресурси:

  • https://pgloader.io
  • документи за инсталиране на postgres
  • инсталиране на нови релси на heroku
  • heroku cli информация
  • с помощта на 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL:ВЪНШЕН КЛЮЧ/КАСКАДА НА ИЗТРИВАНЕ

  2. Търсене в пълен текст от PostgreSQL 8.3

  3. Анализ на лог на PostgreSQL с pgBadger

  4. LOWER LIKE срещу iLIKE

  5. Как Tanh() работи в PostgreSQL