Неверный формат данных с использованием Redbean PHP и дат — хранится как VARCHAR (255)

Я подключаюсь к MySQL с помощью Redbean PHP, и date и date_deux приходят как varchar(255).
Я предполагаю, что по умолчанию я нахожусь в гибком режиме. Как я могу исправить проблему?

require('rb.php');
R::setup('my connection info',$username, $password);
$book = R::dispense( 'book' );
$book->title = 'Boost development with RedBeanPHP';
$book->author = 'Charles Xavier'; 
$book->date = '2010-07-08';
$book->date_deux = '08/07/2010';
$id = R::store($book);
echo $id;

ОБНОВЛЕНИЕ:
Наверное, я с нетерпением жду правильного способа сделать это до версии 3.0? В документации не ясно, что делать до версии 3.0.


person BuddyJoe    schedule 13.12.2011    source источник


Ответы (1)


В версиях RedBeanPHP старше 3 вы можете использовать оптимизатор: http://www.redbeanphp.com/extra/optimizer Обычно столбцы меняются впоследствии, если это возможно.

Вы должны подключить оптимизатор самостоятельно в качестве слушателя. Поскольку я видел, как люди борются с этим, я удалил эту систему и заменил ее более родным подходом. Теперь вы можете просто назначить дату или дату в формате SQL, и столбец будет создан с использованием правильного типа данных. Однако, если столбец уже использовался для хранения других данных, столбец не изменится (это необходимо для сохранения данных, уже находящихся в столбце).

person Gabor de Mooij    schedule 18.12.2011