Я прочитал больше о UUID и, поскольку они позволяют использовать уникальные идентификаторы для всего приложения, я смог использовать стиль «наследования» базы данных.
Я использовал свой собственный префикс в начале каждого имени таблицы, чтобы избежать зарезервированногоСтолкновение имен таблиц, таких как объект.Вы можете использовать любой вид префикса, например: my_, и использовать его как: my_object.Все таблицы должны использовать префиксы в этом примере.
Поэтому я создал таблицу Objects.Имеет поле id с типом Binary (36).Cake распознает его как поле UUID.Затем я использовал 1: 1 для идентификации отношений и унаследовал от него другие таблицы, которые я хотел взаимодействовать с другими.
Таким образом, я создал идентификационную связь 1: 1 с таблицей комментариев, видео, изображений, чтобы таблица имела идентифицирующий внешний ключ, являющийся также первичным ключом.
Затем я создал таблицу сопоставлений, в которой я использовал два неидентифицирующих отношения 1: 1 без первичного ключа.Это означает, что это было действительно отношение HABTM к себе.
Теперь это позволяет мне «наследовать» другие таблицы из таблицы объектов, например, таблицу новостей с снова идентифицирующим отношением 1: 1.Тогда можно было связать комментарии или что-либо другое, имеющее отношение идентификации 1: 1 к объекту, к таблице новостей с помощью таблицы сопоставлений.
Я надеюсь, что это поможет другим, кто размышляет над подобным решением.а также.