Nếu tôi hiểu chính xác, bạn đang phát triển với SQLite , nhưng đang triển khai tới Postgres trên Heroku.
Đây là vấn đề. Giải pháp là phát triển với Postgres tại địa phương. Tốt nhất với cùng một phiên bản. Có nhiều điểm khác biệt trong việc triển khai SQL và bạn sẽ tiếp tục gặp trở ngại ngay sau khi bạn sử dụng bất kỳ thứ gì khác ngoài các lệnh DML cơ bản.
Không có gì không có gì tương đương trong SQLite như lệnh PostgreSQL DDL này:
ALTER TABLE orders ALTER cancel TYPE boolean USING CAST(cancel AS boolean);
Việc triển khai SQLite của ALTER TABLE
là rất hạn chế. Theo tài liệu:
Đối với tất cả các thay đổi khác đối với giản đồ bảng, có công thức trong sổ tay SQLite.
Câu trả lời liên quan: