Как руководить AI при построении вашего слоя данных
AI великолепен в проектировании схемы и написании запросов — если вы дадите ему ограничения, под которые проектировать. Не говорите «сделай базу данных». Опишите предметную область, связи и ваши незыблемые требования.
Сильный запрос выглядит так:
Design a PostgreSQL schema for a task-management app.
Entities and relationships:
- A user can own many projects.
- A project has many tasks.
- A task belongs to one project, has a status
(todo / doing / done), and an optional due date.
Requirements:
- Use UUID primary keys and created_at timestamps.
- Enforce relationships with foreign keys.
- Add indexes for the columns we'll filter on.
- Give me the schema as SQL, plus a forward migration file.
- Explain any trade-offs you made.
Затем проверьте результат по чек-листу из этой главы: честные типы, наличие внешних ключей и ограничений, разумные индексы, отсутствие дублированных данных. Когда вы запрашиваете запросы, явно требуйте параметризованные запросы, чтобы пользовательский ввод никогда не конкатенировался в SQL. А для любой миграции, которая что-то удаляет или переименовывает, попросите AI явно это обозначить, чтобы вы могли сначала сделать резервную копию.
База данных — это та часть вашего приложения, где ошибки труднее всего отменить: данные, однажды повреждённые или потерянные, не всегда возвращаются. Именно поэтому эти основы стоит знать: не для того, чтобы вы могли писать каждую строку самостоятельно, а для того, чтобы вы могли уверенно руководить AI и ловить опасные ходы до того, как они попадут в продакшен.