Как при создание таблицы в read bean PHP не создавать столбец `id`

Суть в том что если я создаю таблицу через read bean php всегда создается столбец id который мне вовсе не нужен, как сделать так чтобы read bean не создавал его автоматически


Ответы (1 шт):

Автор решения: Егор Банин

Redbean создан в расчёте на то, что столбец id обязательно должен присутствовать в таблице связанной с объектами, которые отражаются на базу. Например, в коде класса RedBeanPHP\Repository можно найти метод check, который бросает исключение, если id не определён:

if ( !isset( $bean->id ) ) {
    throw new RedException( 'Bean has incomplete Meta Information id ' );
}

К сожалению, код библиотеки написан так, что вы не можете просто расширить Repository и переопределить эту логику. Если вы уже достаточно хорошо разбираетесь как работает ваша база данных и хотите иметь больше контроля над логикой отображения объектов в бд, то вам надо отказаться от Redbeans.

Обратите внимание, что например для таблиц подсистемы хранения InnoDB в MySQL (MariaDB) первичный ключ создаётся, даже если вы не указываете его явно. Если вы поняли о чём это я, то можете выбросить Redbean. Если впервые слышите, то не спешите отказываться от этой ORM, её ограничения -- цена за простой интерфейс и универсальность.

→ Ссылка