{
  "id": 4220577,
  "title": "Don't give your agent the production database",
  "url": "https://urgent.news/2026/08/29/dont-give-your-agent-the-production-database",
  "topic": "ai",
  "section": "AI",
  "published": "2026-08-29T15:25:04.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/erdonline/dont-give-your-agent-the-production-database-354j"
  },
  "original_language": "en",
  "account": "Don't give your agent the production database. A recent incident demonstrated how a model can generate invented columns, even when the production database does not contain them. When the agent asked Cursor for a query joining orders to users, sorted by last login, the model used the fabricated column \"last_login_at\" in the JOIN. This failure, known as an invented column, appears plausible and is not easily spotted by the agent. To avoid this issue, the recommended approach is to use an approved version of the schema instead of the production database. This can be done by saving a version in ERD Online, where schema changes are saved as named versions with human review and no database passwords. The agent reads from this approved contract, eliminating stale drift and accountability issues. The tools provided allow the agent to list tables and describe fields on demand, preventing context overload. By reading the approved contract rather than the production database, the agent can avoid inventing columns and the associated risks.",
  "summary": "The second you hit Enter Friday night. You ask Cursor for a query: join orders to users, sort by last login. Three seconds later, an answer arrives with DBA-level confidence: SELECT o . id , o . amount , u . last_login_at FROM biz_order o JOIN sys_user u ON u . id = o . user_id ORDER BY u . last_login_at DESC ; Paste it into your client. Enter: ERROR: column \"last_login_at\" does not exist LINE 2:…",
  "key_points": [
    "Agent should not use production database",
    "Fabricated columns can be generated by models",
    "Approved schema avoids invented columns"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}