PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Làm cách nào để chuyển ứng dụng ray hiện có của tôi lên heroku? (sqlite đến postgres)

10 phút di chuyển từ Local SQLite sang Heroku Postgres

- cập nhật nhà phát triển địa phương của bạn lên postgres trong quá trình thực hiện -

Điều này giả sử bạn có một cơ sở dữ liệu phát triển trong sqlite và bạn muốn di chuyển cấu trúc và dữ liệu sang heroku. Trước tiên, bạn sẽ thay đổi môi trường cục bộ của mình thành postgres, sau đó chuyển nó lên.

Tại sao thay đổi? Bạn phải luôn có môi trường phát triển phản ánh môi trường sản xuất của bạn. Sử dụng Postgres là mặc định trên heroku.

Trước tiên, bạn cần cài đặt và định cấu hình Postgres cục bộ với người dùng có tên người dùng của bạn

Phần mềm cần thiết:postgresql, pgloader, heroku-cli

Các bước

Di chuyển từ SQLite sang Postgres trên môi trường nhà phát triển của bạn

  1. cài đặt heroku / pgloader / postgres và đảm bảo rằng postgresql đang chạy trên hệ thống của bạn
  2. sao lưu sqlite - sao chép development.sql sang development_old.sql
  3. thêm gem 'pg' vào phần chính của Gemfile của bạn
  4. gói cài đặt
  5. cập nhật config / database.yml (xem mẫu bên dưới)
  6. rake db:setup
  7. cd [gốc ứng dụng]
  8. tải postgres db với dữ liệu - pgloader ./db/development.sqlite3 postgresql:///[name of postgres dev db]
  9. loại bỏ gem 'sqlite3'
  10. gói cài đặt
  11. máy chủ khởi động - rails server
  12. kiểm tra bằng cách truy cập ứng dụng tại localhost:3000

Thiết lập ứng dụng mới trên heroku

Làm theo các hướng dẫn sau từ heroku

Di chuyển dữ liệu sang heroku

  1. tìm thông tin về heroku db - heroku pg:info
  2. xóa và đặt lại db từ xa - heroku pg:reset DATABASE_URL --app [name of app]
  3. đẩy dữ liệu cục bộ vào heroku - heroku pg:push [name of postgres dev db] DATABASE_URL --app [name of app]

LƯU Ý:nếu cơ sở dữ liệu đó có hơn 10 nghìn hàng, bạn cũng sẽ cần nâng cấp lên cấp cơ bản theo sở thích trên heroku

Nâng cấp Heroku lên Cấp Sở thích Cơ bản

  1. tạo tầng mới - `heroku addons:create heroku-postgresql:Sở thích-cơ bản --app [tên ứng dụng]
  2. lấy url cơ sở dữ liệu mới - heroku pg:info
  3. bật bảo trì - heroku maintenance:on --app [name of app]
  4. sao chép dữ liệu - heroku pg:copy DATABASE_URL [HEROKU_POSTGRESQL_COLOR_URL] --app [name of app]
  5. quảng cáo db mới - heroku pg:promote [HEROKU_POSTGRESQL_COLOR_URL] --app [name of app]
  6. tắt bảo trì
  7. kiểm tra bằng cách truy cập ứng dụng heroku

Trong trường hợp bạn gặp phải sự cố hoặc các trường hợp khó khăn, đây là một số tài nguyên để trợ giúp.

Tài nguyên:

  • https://pgloader.io
  • tài liệu cài đặt postgres
  • cài đặt đường ray mới của heroku
  • thông tin cli heroku
  • sử dụng cli heroku

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. Làm thế nào để đánh giá hiệu suất PostgreSQL

  2. Quyền thu hồi PostgreSQL từ bảng pg_catalog

  3. Nhiều trình tạo trình tự Hibernate cho một thực thể với PostgreSQL

  4. Thêm tháng vào một ngày trong PostgreSQL

  5. PostgreSQL tương đương với Oracle thu thập số lượng lớn