RBAC и Oracle
RBAC и Oracle
Есть база данных Oracle 11g(так как миграция бд не проходила нормально из yii2(в базе создавались имена таблиц и имена столбцов в нижнем регистре и Oracle на это реагирует плохо), пришлось создать таблицы в ручном режиме и назвать все в верхнем регистре). Однако когда пытаешься подключиться из RBAC, то опять же проблема с верхним регистром, так как в yii все переменные в нижнем регистре (пробовал задать в oracle имя столбцов в нижнем регистре, тогда все работает, однако тогда oracle не дает создавать первичные ключи и связи). Так как перевести все переменные в верхний регистр весьма затратно по времени, возник вопрос есть ли возможность как-то решить данную проблему по другому (RBAC устанавливал через composer "yii2-admin"). Использование oracle обязательно.
Re: RBAC и Oracle
Известный "косяк" ActiveRecord, жёсткое соответствие столбцов свойствам модели.
Можно расширить ActiveRecord и делать в нём преобразование регистра. Но если ты не знаешь этот класс досконально, вылавливание и исправление всех нюансов займёт приличное время. Без автоматических тестов, я бы такому "переделанному коду" не доверял, рискованно.
Я бы на твоём месте переименовал свойства, пусть это займёт много времени, зато проще и надёжнее.
Если же будешь переделывать AR, то советую присмотреться ко всем обращениям к схеме:
и в этом месте как раз преобразовывать регистр в ту или другую сторону при необходимости.
Можно расширить ActiveRecord и делать в нём преобразование регистра. Но если ты не знаешь этот класс досконально, вылавливание и исправление всех нюансов займёт приличное время. Без автоматических тестов, я бы такому "переделанному коду" не доверял, рискованно.
Я бы на твоём месте переименовал свойства, пусть это займёт много времени, зато проще и надёжнее.
Если же будешь переделывать AR, то советую присмотреться ко всем обращениям к схеме:
Код: Выделить всё
static::getTableSchema()->columns
Re: RBAC и Oracle
А нет ли какого-нибудь расширения оптимизированного под Oracle?
Re: RBAC и Oracle
Под твой случай, я бы поставил на то, что нет расширения. Но попробуй поискать )
Re: RBAC и Oracle
Может в PHPStorm есть возможность рендеринга кода (возможность отслеживания переменных)?
Re: RBAC и Oracle
Обычно "отслеживание переменных" называется отладкой.
Re: RBAC и Oracle
Вопрос не как называется, а вопрос в том смогу ли я в PHPStorm, проверить где используется переменная (в каких моделях, представлениях, контроллерах)
Re: RBAC и Oracle
Поиск использования? Конечно, должен быть. Что мешает проверить?
Re: RBAC и Oracle
Практически все перевел в верхний регистр, однако не могу разобраться с назначениями:
Когда ставлю параметр $id = 2, то все отрабатывает хорошо, однако когда оставляю его по умолчанию, то не схватывает id записи, то есть основная менюшка выбора грузиться, а когда хочу посмотреть конкретного выдает id не указан, но никак не могу найти откуда он схватывает данный параметр. Все остальные пункты меню работаю
Код: Выделить всё
* Displays a single Assignment model.
* @param integer $id
* @return mixed
*/
public function actionView($id =2)
{
$model = $this->findModel($id);
return $this->render('view', [
'model' => $model,
'idField' => $this->idField,
'usernameField' => $this->usernameField,
'fullnameField' => $this->fullnameField,
]);
}
Re: RBAC и Oracle
Из GET-параметров запроса.id не указан, но никак не могу найти откуда он схватывает данный параметр
В документацию лень заглядывать? )
http://stuff.cebe.cc/yii2docs-ru/guide- ... parameters
Re: RBAC и Oracle
Не в этом суть вопроса, суть в том что я не могу понять где этот запрос формируеться
Re: RBAC и Oracle
Гм. GET-запрос формируется браузером, когда ты нажимаешь на ссылку.