Сброс настроек MySQL по умолчанию программно - PullRequest
0 голосов
/ 05 июля 2011

Можно ли установить значения по умолчанию для столбцов MySQL в CakePHP?У меня есть доступ к значению по умолчанию для пользовательской таблицы:

$fields = $this->User->schema(); 
$defaultValue = $fields['Amount']['default'];

Теперь я хочу изменить это значение по умолчанию на любое конкретное значение, предоставленное администратором. Возможно ли это?

Ответы [ 2 ]

0 голосов
/ 06 июля 2011

Попробуйте изменить схему:

ALTER TABLE dbo.table
ADD CONSTRAINT def_mycolumn DEFAULT Amount FOR mycolumn
0 голосов
/ 05 июля 2011

Вам не следует использовать атрибут столбца default схемы MySQL для хранения значения, которое вы планируете разрешить пользователям изменять.

Возможно, вы рассмотрите какую-то новую DefaultValues таблицу / модель (как одно решение) используется для хранения редактируемого значения по умолчанию для этого столбца Amount и других аналогичных столбцов.Затем вы могли бы условно проверить, имеет ли User экземпляр Amount значение NULL при сохранении, установив его в редактируемое значение по умолчанию, полученное из этой новой таблицы.Это предоставляет вам необходимую функциональность (редактируемые по умолчанию значения по умолчанию для администратора) , а также возможность использовать встроенные в Cake таблицы / модели / формы для управления хранением / извлечением этих значений по умолчанию.

...