Добавить столбец в существующую базу данных? - PullRequest
0 голосов
/ 13 декабря 2011

Я использую рельсы 3.1.3, postgreql9.1 и ruby ​​1.9.3.

Я хотел бы добавить столбец в существующую базу данных, который на самом деле является объединением двух существующих столбцов, а именно;first_name и last_name.

Как можно поступить так?

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

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

Пока у меня есть элементарная страница сотрудника.

У любого читателя есть терпение и желание поделиться некоторыми указателями, рекомендациями или советами о том, как выполнить эту задачу?

Спасибо,

Том.

Ответы [ 3 ]

1 голос
/ 14 декабря 2011

Если вам нужно создать реальное поле в вашей базе данных, вы можете использовать migrations .

Но в этом случае вы можете использовать атрибуты virtiual:

Создайте два метода в вашей модели:

def full_name
   [first_name, last_name].joun(' ')
end

def full_name=(name)
    split = name.split(' ', 2)
    self.first_name = split.first
    self.last_name = split.last
end  

И добавьте к вашему виду:

<p> Full name </p>  
<%= f.text_field :full_name %>
0 голосов
/ 14 декабря 2011

Хотя вы могли бы решить эту проблему, не редактируя структуру БД, как это было предложено, вы можете создать новый столбец БД и, возможно, в будущем потребуется изменить структуру БД.

Попробуйте эту страницу, инструменты администратора для вашегоdb type http://en.wikipedia.org/wiki/PostgreSQL#Database_administration.

Это выглядит как хорошая подгонка.

pgAdmin

"pgAdmin pakage - это бесплатный и открытый инструмент администрирования графического интерфейса пользователя для PostgreSQL, который поддерживается на многих компьютерных платформах".

Рыба для человекаон ест за день.Научите человека ловить рыбу, он ест на всю жизнь.

0 голосов
/ 14 декабря 2011

Разве вы не можете просто объединить имена в своих представлениях?

Нет реальной необходимости дублировать данные БД таким способом.

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