возвращаемая модель со строчными столбцами - PullRequest
3 голосов
/ 03 февраля 2011

У меня есть программа rails, которая обращается к устаревшей базе данных со столбцами таблицы UPPERCASE.

Я хочу иметь возможность вводить user.firstname, а не user.FIRSTNAME

Как мне сделатьActiveRecord извлекает строчную версию имен этих столбцов, чтобы позволить мне использовать строчные атрибуты в модели?

Ответы [ 2 ]

0 голосов
/ 03 февраля 2011

Вероятно, это лучший способ справиться с этим, если изменение имен столбцов невозможно: https://github.com/reidmix/legacy_mappings

0 голосов
/ 03 февраля 2011

Может быть проще изменить имена столбцов с помощью миграций. В противном случае вам придется изменить используемые вами драгоценные камни, а затем упаковать их в вендор / драгоценные камни, чтобы они сохранялись по мере их деградации.

  1. скрипт / сгенерировать миграцию down_case_table_names_and_columns
  2. написать миграцию
  3. rake db: migrate

Для каждой таблицы:

rename_table :OLD_NAME, :new_name

Для каждого столбца:

rename_column :COLUMN_NAME, :column_name

проблемы

Возможно, вам не придется менять имя таблиц, к вашему сведению - вы можете получить ошибку об изменении имен таблиц. Я никогда не менял имя таблицы, поэтому не знаю, сработает ли это. В термах изменения имен столбцов проблем не будет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...