Model
Last updated
Last updated
| 종류 | 설명 | 예 | |--------|--------| | 모델 클래스|첫 글자 대문자,단수형|Book| |모델 클래스 파일 이름| 첫글자 소문자, 단수형 | book.rb| |테이블|첫글자 소문자, 복수형| books| |테스트 스크립트|xxxx_test.rb(첫글자 소문자,단수형)|book_test.rb|
마이그레이션 : 테이블 레이아웃을 생성 또는 변경하기 위한 구조.
rails dbconsole
or rails db
을 사용하면 config/database.yml에 정의된 정보를 기반으로 데이터베이스 클라이언트를 실행할 수 있다.
.tables
: 테이블 목록표시 .schema books
: books테이블의 구조확인 select*from books;
: books테이블내용확인
이때 이쁘게 보고싶다면
.headers on
.mode columns
를 해주면 된다.
.exit
or .quit
: 데이터베이스 클라이언트 종료
1. Primary Key로 검색을 한다. (find
)
find(keys)
keys:주 키(배열로 지정할 수도 있다.)
2. 임의의 필드로 검색(find_by
)
:검색 조건으로 가장 처음 검색되는 레코드를 추출한다. find_by key: value [, ... ]
find_by
가 리턴하는 데이터는 항상 하나이다. 그러므로 테이블 조건에 맞는 레코드가 하나만 있을때만 사용한다.
3. 지정한 필드 데이터를 배열 추출(pluck(column, ... )
)
: 여러개의 필드를 지정해서 추출하는 것이 가능해졌다.
ex)
Book.where(publish: '제이펍').pluck(:title, :price)
4. 데이터 존재확인(exists?
)
: 데이터를 추출하지 않고 지정된 데이터가 있는지 없는지 정도만 확인하고 싶을때.
5. Named Scope(이름있는 스코프)
scope name , -> {exp}
: 특정한 조건식 또는 정렬식을 미리 모델쪽에 이름을 붙여 저장해두고, 후에 이용하고 싶을때 이름을 호출해서 사용한다.
ex)
scope :top10, -> {newer.limit(10)}