## `econtent_extraction_association` This would be an association table including (final association table has these fields): - doc_id - extraction_id - position - created_at This table can be used to find the latest `extraction_id` for a Doc, which can provide extracted content, hashes, and timestamps. With the association table approach, you can run experimental extractions without touching the production pipeline at all. We can implement a rollback if a particular extraction method was not satisfactory. **Benefits**: - No circular foreign key constraints to worry about - You can easily change which extraction is "current" without updating the doc - You could even extend it to support multiple "current" extractions (maybe one for title extraction, one for content extraction) - Deleting old extraction results becomes straightforward - just make sure they're not referenced in this table first