Saya sedang mengerjakan aplikasi web Ruby on Rails 3 di Heroku. Bagaimana saya mengosongkan basis data?
sumber
Saya sedang mengerjakan aplikasi web Ruby on Rails 3 di Heroku. Bagaimana saya mengosongkan basis data?
Untuk menjatuhkan basis data, jika Anda menggunakan SHARED_DATABASE_URL
:
$ heroku pg:reset DATABASE_URL
Sekarang untuk membuat ulang basis data tanpa apa-apa di dalamnya:
$ heroku run rake db:migrate
Untuk mengisi basis data dengan data seed Anda:
$ heroku run rake db:seed
---ATAU---
Anda dapat menggabungkan dua yang terakhir ( migrasi & benih ) menjadi satu tindakan dengan menjalankan ini:
$ heroku run rake db:setup
Sunting 2014-04-18: rake db:setup
tidak berfungsi dengan Rails 4, gagal dengan a Couldn't create database error
.
Sunting 2014-10-09: Anda dapat menggunakan rake db:setup
dengan Rails 4. Itu memberi Anda Couldn't create database
kesalahan (karena database sudah dibuat menggunakan heroku pg:reset
perintah). Tetapi juga memuat skema database Anda dan benih Anda setelah pesan kesalahan.
Anda dapat melakukan ini dengan hampir semua perintah rake, tetapi ada beberapa pengecualian. Misalnya, db:reset
tidak berfungsi melalui heroku run rake
. Anda harus menggunakannya pg:reset
sebagai gantinya.
Informasi lebih lanjut dapat ditemukan di dokumentasi Heroku:
SHARED_DATABASE_URL is deprecated, please use SHARED_DATABASE
heroku pg:reset DATABASE
heroku pg:reset DATABASE --confirm appname
Heroku telah menghentikan
--db
opsi sekarang, jadi sekarang gunakan:Agak membingungkan karena Anda menggunakan teks literal
SHARED_DATABASE
tetapi di mana saya telah menulis{the name of your app}
menggantikan nama aplikasi Anda. Misalnya, jika aplikasi Anda disebut my_great_app maka Anda menggunakan:sumber
SHARED_DATABASE
Untuk menjatuhkan basis data:
Untuk membuat ulang basis data:
Untuk menyemai basis data:
**Langkah terakhir
sumber
heroku run rake db:migrate
tidak lagi membuat ulang basis dataArus, yaitu. 2017 cara untuk melakukan ini adalah:
https://devcenter.heroku.com/articles/heroku-postgresql#pg-reset
sumber
heroku run rake db:migrate db:seed
Sekarang perintahnya adalah
dengan cara ini Anda dapat menentukan db aplikasi yang ingin Anda atur ulang. Maka Anda bisa lari
atau mengarahkan untuk kedua perintah di atas
Dan sekarang langkah terakhir untuk me-restart aplikasi Anda
sumber
Saya menghubungi dukungan Heroku, dan mereka mengonfirmasi bahwa itu adalah bug dengan permata terbaru (saya menggunakan heroku-2.26.2)
Turunkan peringkat dengan perintah berikut:
Jika Anda sudah menginstal banyak permata, Anda mungkin dihadapkan pada:
Hapus instalan # 2 dan jalankan kembali perintah. Kegembiraan!
sumber
The lengkap Jawabannya adalah (untuk pengguna dengan multi-db):
heroku pg: info - yang keluaran
heroku pg: reset HEROKU_POSTGRESQL_RED --confirm app_name
Informasi lebih lanjut ditemukan di: https://devcenter.heroku.com/articles/heroku-postgresql
sumber
Sekarang berbeda dengan heroku. Coba: heroku pg: reset DATABASE --confirm
sumber
Hari ini perintahnya
tidak bekerja untuk rencana bersama, saya memutuskan menggunakan
sumber
Login ke DB Anda menggunakan
heroku pg:psql
dan ketik perintah berikut:sumber
Sekarang juga dimungkinkan untuk mereset basis data melalui antarmuka web mereka.
Pergi ke dashboard.heroku.com pilih aplikasi Anda dan kemudian Anda akan menemukan database di bawah kategori add-ons, klik di atasnya dan kemudian Anda dapat mengatur ulang database.
sumber
Periksa versi heroku Anda. Saya baru saja memperbarui tambang ke 2.29.0, sebagai berikut:
Sekarang Anda dapat menjalankan:
Kemudian buat database Anda dan seed itu dalam satu perintah:
Sekarang restart dan coba aplikasi Anda:
sumber
Inilah yang bekerja untuk saya.
1.clear db.
Setelah menjalankan itu, Anda harus mengetikkan nama aplikasi lagi untuk mengonfirmasi.
2.migrate db untuk menciptakan kembali.
3. tambahkan data seed ke db.
sumber
Jika Anda lebih suka menggunakan situs Web Heroku:
sumber
Dengan asumsi Anda ingin mengatur ulang database PostgreSQL Anda dan mengaturnya kembali, gunakan:
untuk mendaftar aplikasi Anda di Heroku. Temukan nama aplikasi Anda saat ini (
application_name
). Lalu lariuntuk mendapatkan nama basis data Anda. Contohnya bisa
Akhirnya, diberikan
application_name
dandatabase_url
, Anda harus larisumber
Jika Anda masuk dari konsol, ini akan melakukan pekerjaan di heroku toolbelt terbaru,
heroku pg: reset --confirm-nama basis data
sumber
Saya selalu melakukan ini dengan one-liner 'heroku pg: reset DATABASE'.
sumber
Solusi terbaik untuk masalah Anda adalah
tidak diperlukan, tetapi terminal selalu meminta saya melakukan perintah itu.
Setelah perintah itu Anda akan memiliki db murni, tanpa struktur dan barang-barang, setelah itu Anda dapat menjalankan
atau
sumber