Se entendi corretamente, você está desenvolvendo com SQLite , mas implantando no Postgres em Heroku.
Este é o problema. A solução é desenvolver com Postgres localmente também. Melhor com a mesma versão. Existem inúmeras diferenças na implementação do SQL e você continuará encontrando obstáculos assim que usar qualquer coisa além de comandos DML básicos.
Não há nada equivalente em SQLite como este comando DDL do PostgreSQL:
ALTER TABLE orders ALTER cancel TYPE boolean USING CAST(cancel AS boolean);
A implementação SQLite de
ALTER TABLE
é muito limitado. Por documentação:
Para todas as outras alterações no esquema da tabela, há uma receita no manual do SQLite.
Resposta relacionada: