Важной частью разработки приложений на основе базы данных является то, что вы должны думать, что идентификаторы базы данных ваших моделей (проектов, задач и т. Д.) Являются случайными числами. Они ничего не значат.
И с точки зрения пользовательского интерфейса, вы также должны думать о URL, которые ваше приложение использует как случайные строки. То есть ваши конечные пользователи никогда не должны знать или заботиться о том, что URL для данного экрана информации.
Если вы принимаете вышеуказанные передовые методы проектирования, тогда:
Когда создается новый проект, вы должны использовать фильтры или метод "Фабрика", чтобы определить значение для поля "номер_проекта" проекта. Например, для данного пользователя они должны быть последовательными. Но вы также должны решить, что делать, если проект удален пользователем. Вы хотите, чтобы номер проекта был повторно использован?
Другая проблема, на которую вы, похоже, намекаете в вопросе, - это разрешения: должен ли пользователь 1 видеть проекты / задачи / и т. Д. Пользователя 2? Если нет, то используйте драгоценный камень, такой как cancan или аналогичный для управления разрешениями.
Третья возможная проблема - это URL, которые будут использоваться вашим проектом. Стандартный принцип UX - игнорировать форматы URL, как я отмечал выше. Но если вы действительно хотите, вы можете сделать их "красивыми". Есть несколько драгоценных камней, чтобы помочь с этим. См список