Tôi đã làm điều này trong quá trình di chuyển của mình:
add_column :statuses, :hold_reason, :string rescue puts "column already added"
nhưng nó chỉ ra rằng, trong khi điều này hoạt động cho SQLite, nó không hoạt động cho PostgreSQL . Có vẻ như nếu add_column bị nổ tung, ngay cả khi Exception được bắt, giao dịch đã chết và do đó Migration không thể thực hiện thêm bất kỳ công việc nào.
Có bất kỳ cách cụ thể nào không phải DB để kiểm tra xem một cột hoặc bảng đã tồn tại chưa? Không thành công, có cách nào để khối cứu hộ của tôi thực sự hoạt động không?