Tôi gặp lỗi khi cố gắng di chuyển db của mình. Tôi không hoàn toàn nhớ làm thế nào tôi có ở đây, nhưng tôi tin rằng tôi:Rails Lỗi di chuyển DB: mối quan hệ đã tồn tại
- tạo chi nhánh mới, scaffolded 'yêu', db: di cư, chuyển trở lại để làm chủ, và chi nhánh sáp nhập
- tạo một chi nhánh khác, đã làm một số thứ, db: di chuyển và mọi thứ đều hoạt động tốt.
được lấy từ cơ sở dữ liệu postgres của cô ấy để tôi có thể kiểm tra xem mọi thứ có hoạt động với dữ liệu thực tế hay không. sau đó cố gắng db di cư, nhưng đã cho tôi lỗi này:
rake db:migrate == CreateRequests: migrating ================================================= -- create_table(:requests) NOTICE: CREATE TABLE will create implicit sequence "requests_id_seq1" for serial column "requests.id" rake aborted! An error has occurred, this and all later migrations canceled: PG::Error: ERROR: relation "requests" already exists : CREATE TABLE "requests" ("id" serial primary key, "title" character varying(255), "content" text, "category" character varying(255), "status" character varying(255), "requested_track_id" integer, "created_at" timestamp, "updated_at" timestamp)
Bất kỳ ý tưởng?
Thông báo về việc tạo một chuỗi ẩn không phải là lỗi, chỉ là một thông báo (một thông báo thông tin, điều này là bình thường đối với bất kỳ bảng nào sử dụng cột tăng tự động mà bản ghi hoạt động sẽ làm theo mặc định cho cột 'id'.Lỗi là bảng 'requests' đã tồn tại. – qqx
vì vậy tôi sẽ làm gì trong trường hợp tôi nhận được tin nhắn đó? Tôi đã giải quyết nó bằng cách tạo các di chuyển để thả bảng và sau đó tạo lại di chuyển để tạo cùng một bảng. Có cách nào tốt hơn? – kibaekr
Lược đồ cơ sở dữ liệu của bạn sẽ là kết quả thực của tất cả các nhánh, giả sử cùng một môi trường. Cho đến khi bạn hợp nhất các chi nhánh, mã của bạn sẽ không cần thiết hiển thị chuỗi di chuyển thực sự đã xảy ra trên db cơ sở. Và, khi bạn chạy quá trình di chuyển, kiểm tra di chuyển trước sẽ chỉ được thực hiện đối với các lần di chuyển hiện tại, điều này sẽ cho biết xung đột tiềm năng. Tôi muốn đề nghị giữ tất cả các di chuyển trong một nhánh. –