Hãy nói rằng tôi có thể tạo một bảng trong một di chuyển Rails, quy định cụ thể để bỏ qua cột ID:Trong quá trình di chuyển Rails, có thể chỉ ra rằng một cột mới được thêm vào phải là trước hoặc sau một cột hiện có trong bảng?
create_table :categories_posts, :id => false do |t|
t.column :category_id, :integer, :null => false
t.column :post_id, :integer, :null => false
end
Sau đó tôi quyết định tôi muốn thêm một cột ID là khóa chính vì vậy tôi tạo ra một sự chuyển đổi mới:
class ChangeCategoriesToRichJoin < ActiveRecord::Migration
def self.up
add_column :categories_posts, :id, :primary_key
end
def self.down
remove_column :categories_posts, :id
end
end
Nhưng khi tôi nhìn vào bảng sau khi tôi di chuyển, nó trông như thế này:
category_id
post_id
id
id cột ở vị trí cuối cùng trong bảng, trong khi không có rmally một cột id sẽ là đầu tiên.
Có cách nào để thay đổi di chuyển ChangeCategoriesToRichJoin để nhấn mạnh vào cột id đang được tạo TRƯỚC KHI cột category_id trong bảng không?
Hoặc tôi có cần phải bỏ bảng và thêm cột trong định nghĩa "tạo bảng" không?
Đó là sự nghi ngờ của tôi. Cảm ơn về lời xác nhận. –