---
title: "Comment by Kamran Khan on \"Building BCB CRM: A Lead Management System with Laravel and MySQL\" | Hashnode"
description: "I like that you kept the stage history as its own record instead of just overwriting a status column. One thing worth thinking about as this grows: policies pro"
url: "https://hashnode.com/posts/building-bcb-crm-a-lead-management-system-with-laravel-and-mysql/6ad7376b63ada8ee77f7b74f/comment/6ad8bb98885caa9e179730f6"
---

[Discussion](https://hashnode.com/posts/building-bcb-crm-a-lead-management-system-with-laravel-and-mysql/6ad7376b63ada8ee77f7b74f)

Comment [Building BCB CRM: A Lead Management System with Laravel and MySQL](https://hashnode.com/posts/building-bcb-crm-a-lead-management-system-with-laravel-and-mysql/6ad7376b63ada8ee77f7b74f)

[Kamran Khan](https://hashnode.com/@kamrankhandev)

[Oct 21](https://hashnode.com/posts/building-bcb-crm-a-lead-management-system-with-laravel-and-mysql/6ad7376b63ada8ee77f7b74f/comment/6ad8bb98885caa9e179730f6)

I like that you kept the stage history as its own record instead of just overwriting a status column. One thing worth thinking about as this grows: policies protect who can touch the history, but nothing stops an admin (or a stray seeder) from editing or deleting rows and quietly corrupting the pipeline reports. I've started making history tables append-only at the DB level, a check or trigger that rejects updates and deletes, so the audit trail survives even admin mistakes. Cheap to add now, painful to retrofit once the reports are trusted.

[V. Vaidehi](https://hashnode.com/@vvaidehi)

[Oct 22](https://hashnode.com/posts/building-bcb-crm-a-lead-management-system-with-laravel-and-mysql/6ad7376b63ada8ee77f7b74f/comment/6ad8bb98885caa9e179730f6#reply-6ad9b891476a7f24ac3d4b8a)

Thank you for pointing this out! I actually wasn't aware of the append-only approach before. I'll definitely look into it. I'd also love to hear any other suggestions you might have for improving the project. Really appreciate your feedback!
