2011-12-13 2 views
0

난 레일 3.1.3, postgreql9.1 및 루비 1.9.3을 사용하고 있습니다.기존 데이터베이스에 열을 추가 하시겠습니까?

기존의 두 개의 기존 컬럼을 실제로 연결하는 컬럼을 기존 데이터베이스에 추가하고 싶습니다. 이름과 성.

어떻게하면됩니까?

전체 이름을 사용하는 이유는 직원을 표시해야 할 때 전체 이름을 표시하고 싶지만 이름이 다른 기능으로 두 부분으로 나뉘어 있어야합니다.

또한이 질문의 일부는 직원의 전체 이름 만 보고서에 표시되기를 원하지만 직원의 전자 메일 및 기본 위치가 표시되고 정보라는 링크가 있어야합니다. 클릭하면 직원 테이블의 모든 속성을 보여주는 직원에 대한 상세한 보고서가 제공됩니다.

지금까지 초보 직원 페이지가 있습니다.

모든 독자는 인내심과 이러한 조언을 전하는 방법에 대한 지침이나 조언을 공유하고자합니다.

감사합니다.

탐.

+0

select first_name || ''|| last_name from fullname ... - 이것은 쿼리의 성과 이름을 연결합니다 ... 쿼리에서 쉽게 재생할 수있을 때 전체 이름을 저장하려는 이유가 무엇입니까? || (파이프 기호)는 포스트 그레스에서 연결하는 빠른 방법입니다 (이것을 사용하여 성과 이름 사이에 공백을 두는 것을 알 수 있습니다).동일한 논리를 사용하여 중간 초기 또는 정렬을 던질 수 있습니다. – Twelfth

답변

1

데이터베이스에 실제 필드를 작성해야하는 경우 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

고맙습니다 tewlfth, zed_oxff, jamesTheprogrammer 및 @demas, 좋은 물건을 많이 내게 주셨습니다 ... 나는 db에 추가하지 않는 인수를 얻고 그 조언을 따를 것입니다. 다시 한번 감사드립니다. – hlogoma

0

당신 수 없습니다 보기에서 이름을 연결 하시겠습니까?

그런 식으로 DB 데이터를 복제 할 필요가 없습니다.

0

제안 된대로 db 구조를 편집하지 않고도이 문제를 해결할 수 있지만 새로운 db col을 만들 수 있으며 나중에 db 구조를 편집해야 할 수 있습니다.

db 유형 http://en.wikipedia.org/wiki/PostgreSQL#Database_administration에 대한 관리 도구를 사용해보십시오.

이 제품은 잘 어울리는 제품입니다.

pgAdmin

는 "pgAdmin의 pakage는 많은 컴퓨터 플랫폼에서 지원됩니다 PostgreSQL을위한 무료 오픈 소스 그래픽 사용자 인터페이스 관리 도구입니다."

물고기는 사람을 위해 하루 먹습니다. 남자에게 생선을 가르치고 일생 동안 먹는다.

관련 문제