2010-10-24 50 views
12

Heroku dường như không cập nhật lược đồ cơ sở dữ liệu của tôi khi tôi triển khai. Dưới đây là chi tiết:heroku không cập nhật lược đồ cơ sở dữ liệu

Đây là những gì là sẽ giống như thế cho lớp User:

create_table "users", :force => true do |t| 
t.string "username" 
t.datetime "created_at" 
t.datetime "updated_at" 
t.string "email" 
t.string "encrypted_password" 
t.string "salt" 
t.string "remember_token" 
t.boolean "admin",    :default => false 

cuối

Dưới đây là thủ tục triển khai của tôi:

git push heroku master 
heroku rake db:migrate 
heroku db:push 

Tất cả mọi thứ dường như đi suôn sẻ ... ngoại trừ việc nếu tôi kiểm tra bảng Người dùng thực sự trong db ...

heroku console User 

... tôi nhận được một phiên bản cũ của tài khoản ...

User(id: integer, username: string, created_at: datetime, updated_at: datetime) 

Bất kỳ ý tưởng những gì tôi đang làm sai? Cảm ơn rất nhiều sự giúp đỡ của bạn!

Simon

+0

Bạn có chắc chắn rằng tất cả các lần di chuyển của bạn nằm dưới sự kiểm soát nguồn? –

Trả lời

24

Bạn có thấy bất kỳ đầu ra nào khi bạn heroku rake db:migrate?

Thử chạy heroku restart sau khi bạn di chuyển để khởi động lại máy chủ web và công nhân DJ. Điều đó không ảnh hưởng đến giao diện điều khiển của bạn, nhưng tôi đã thấy các máy chủ web phục vụ các phiên bản cũ của mã ngay sau khi triển khai, thường không phải là vấn đề nhưng với việc di chuyển đang chờ xử lý có thể.

+0

Cảm ơn tfe, có vẻ như đó là một vấn đề tạm thời. Nó đang làm việc tốt ngay bây giờ. Tôi đoán một khởi động lại sẽ có giải quyết vấn đề quá. – Simon

+3

'heroku restart' làm việc cho tôi, cảm ơn – Eloff

0

Câu trả lời được chấp nhận là đúng. FYI tuy nhiên, bây giờ bạn sử dụng heroku run rake db:migrateheroku rake db:migrate bị phản

1

Bạn có thể muốn thử

Heroku chạy rake db: di chuyển
Heroku khởi động lại

Hope this helps.

-1

Run heroku rake db:migrate Sau đó heroku restart

Làm mới trang web của bạn và nó nên mọi công việc.

Các vấn đề liên quan