gems-uff / sapos

SAPOS main goal is to ease the management of information related to graduate programs such as enrollments, courses, advisement, scholarships, requirements, among others.
http://gems-uff.github.io/sapos/
MIT License
28 stars 14 forks source link

Migrar pks e fks para bigint #361

Closed JoaoFelipe closed 3 years ago

JoaoFelipe commented 3 years ago

A partir do rails 5.1, pks e fks passaram a ser criadas como bigint ao invés de int. Agora, para suportar fks que referenciam tabelas criadas antes do rails 5.1, é necessário especificar type: :integer na migration.

O problema é que essa especificação causa problemas para instâncias do SAPOS criadas após o rails 5.1, já que elas usam Bigint por padrão. O ideal é fazer uma migração que transforme tudo em BigInt para padronizar com o novo formato.

Aparentemente, tem só uma migration que especifica uma fk com type: :integer (que também deve ser a única fk materializada no BD). Talvez seja bom fazer uma migration que ocorra antes dela para fazer a conversão e tirar essa especificação de tipo para garantir a execução. Porém, como alguns BDs já passaram por essa migração com o tipo antigo, também é necessário uma migração posterior para essa coluna.

JoaoFelipe commented 3 years ago

@leomurta Fiz a migration, pode homologar

Imagino que essas mudanças permitam tanto transformar os ids dos bds antigos em bigint quanto rodar a migration da #346 que falhou no BD novo