Допустим, у нас так:
Album Photo
+----+-----------------+ +----+-------------------+
| id | name | | id | album_id | number |
+----+-----------------+ +----+----------+--------+
| 1 | outsession'16 | | 1 | 2 | 1 |
| 2 | new year'17 | | 2 | 2 | 2 |
| 3 | man'ka's deanon | | 3 | 1 | 1 |
+----+-----------------+ | 4 | 3 | 1 |
^ | 5 | 1 | 2 |
| | 6 | 3 | 2 |
| | 7 | 2 | 3 |
| +----+-------------------+
| |
+-------------------------------+
Зачем Photo.number? Например, хотим урлы /albums/:album_id/:photo_number
(/albums/1/1, /albums/1/2, /albums/2/1, /albums/2/2, …, ну ты понел)
Внимание, вопрос: как нам обеспечить вставку записей в Photo со строго последовательными и неизменяемыми (фотки можно удалять) number?
Да, у нас «хуйлоад», тыща бнвачеров ломится заливать фоточки в альбом с деаноном маньки. Без использования очередей. Только наш любимый язычок и постгрес. Триггеры можно, но нежелательно — хуёво поддерживаются, неочевидные, нет интеграции в ORM, и т.д.
Только давайте для начала предоставим слово маньке. Он тут рассказывал, какой он специалист по RDBMS и постгресу в частности. Ну а когда манька соснёт и нелепо сольётся, выслушаем комарика.
```
The Hardware Hacker: Adventures in Making and Breaking Hardware by by Andrew 'bunnie' Huang
http://dump.lexs.blasux.ru/files/bepalab/The.Hardware.Hacker.Adventures.in.Making.and.Breaking.Hardware.Early.Access.pdf
Книжка про то как автор dive into Shenzhen ecosystem. Много лулзов и картинок.
http://dump.lexs.blasux.ru/files/tozinum/2016-12-21-233251_644x525_scrot.png