DD
Postgresql usar sequences
bom dia galera, estou re-escrevendo um sistema para o Adianti e agora encontrei um problema, tenho algumas tabelas que usam sequences para gerar o id, no Adianti não estou conseguindo usar elas, não sei como seria dentro do model.
Basta alterar nos models a constante IDPOLICY para serial:
Nataniel, bom dia,
já estou usando serial no model,
só que a tabela ao ser criada com o id type serial (na verdade serial é um alias para uma sequencia onde o está relacionada ao campo id) funciona certinho, ele adiciona a sequencia.
mas, se quando eu criei a tabela eu não defini como serial e sim usando outra sequencia não atrelada ao campo.
ex: id integer NOT NULL DEFAULT nextval(('seq_id'::text)::regclass),
e por dentro do framework eu não consigo dar o comando
SELECT last_value FROM seq_id
diz que a tabela seq_id não foi definida no model
quando eu dou um insert já com o id (que eu peguei o último e somei um) ele grava na tabela corretamente mas não atualiza a sequencia, o problema ocorre quando em outra rotina que usa a sequencia vai dar duplicate key
acho que a minha única solução é criar as tabelas novamente usando o type como serial e importar os dados.
Pode ter relação com o nome das sequences. Por padrão o nome considerado pelo Adianti é "nometabela_chaveprimaria_seq". Por exemplo, para a tabela cliente e chave primária id teríamos: 'cliente_id_seq'.
Se estiver usando outro padrão, declare a constante SEQUENCE nos seus models com o nome correto: