feat(changelog): implementar funcionalidades de leitura de atualizações

- Adiciona funções para marcar atualizações como lidas
- Implementa a lógica para marcar todas as atualizações como lidas
- Adiciona suporte a logs de atualizações lidas no banco de dados
- Cria funções utilitárias para manipulação de changelog
- Gera changelog a partir de commits do Git
- Salva changelog em formato JSON na pasta pública
perf: adicionar índices de banco de dados para otimização de queries
- Cria 14 índices compostos em tabelas principais (lancamentos, contas, etc)
- Adiciona índice user_id + period em lancamentos, faturas e orçamentos
- Adiciona índices para séries de parcelas e transferências
This commit is contained in:
Felipe Coutinho
2025-12-08 14:56:50 +00:00
parent 7a4a947e3f
commit b7fcba77b7
21 changed files with 5250 additions and 161 deletions

View File

@@ -0,0 +1,14 @@
CREATE INDEX "cartoes_user_id_status_idx" ON "cartoes" USING btree ("user_id","status");--> statement-breakpoint
CREATE INDEX "categorias_user_id_type_idx" ON "categorias" USING btree ("user_id","tipo");--> statement-breakpoint
CREATE INDEX "contas_user_id_status_idx" ON "contas" USING btree ("user_id","status");--> statement-breakpoint
CREATE INDEX "faturas_user_id_period_idx" ON "faturas" USING btree ("user_id","periodo");--> statement-breakpoint
CREATE INDEX "faturas_cartao_id_period_idx" ON "faturas" USING btree ("cartao_id","periodo");--> statement-breakpoint
CREATE INDEX "lancamentos_user_id_period_idx" ON "lancamentos" USING btree ("user_id","periodo");--> statement-breakpoint
CREATE INDEX "lancamentos_user_id_purchase_date_idx" ON "lancamentos" USING btree ("user_id","data_compra");--> statement-breakpoint
CREATE INDEX "lancamentos_series_id_idx" ON "lancamentos" USING btree ("series_id");--> statement-breakpoint
CREATE INDEX "lancamentos_transfer_id_idx" ON "lancamentos" USING btree ("transfer_id");--> statement-breakpoint
CREATE INDEX "lancamentos_user_id_condition_idx" ON "lancamentos" USING btree ("user_id","condicao");--> statement-breakpoint
CREATE INDEX "lancamentos_cartao_id_period_idx" ON "lancamentos" USING btree ("cartao_id","periodo");--> statement-breakpoint
CREATE INDEX "orcamentos_user_id_period_idx" ON "orcamentos" USING btree ("user_id","periodo");--> statement-breakpoint
CREATE INDEX "pagadores_user_id_status_idx" ON "pagadores" USING btree ("user_id","status");--> statement-breakpoint
CREATE INDEX "pagadores_user_id_role_idx" ON "pagadores" USING btree ("user_id","role");