bmersereau makes Mike's database prove who owns every record
A proposed schema change would force every project, document, chat, and workflow to point at a real, valid user account - enforced by the database itself, not just trusted by the app.
Right now, ownership across nearly the whole product - projects and their subfolders, documents, chats, the review tables, and workflows - is stored as loose text with nothing checking that the owner actually exists. bmersereau's change retypes those columns and wires each one to the real account table, so the database refuses to store a record whose owner isn't a genuine user. It's written to land all at once or not at all, with a pre-flight check to catch bad data first and a rollback script if it needs undoing.
One deliberate call worth noting: deleting an account won't wipe workflows that person shared with others. Those get orphaned but preserved, on the logic that a shared workflow can outlive whoever built it. Everything else follows standard cleanup rules.
Spotted something wrong? Or know the PR text has fresher detail than the writeup above?