[Ruby On Rails] 레일즈 서버 시작 & 초기 세팅 & model 만들기
※ 윈도우는 무조건 관리자 권한으로 열기! (Ubuntu)
초기 세팅
sudo apt-get install postgresql postgresql-contrib postgresql 설치
bundle install 필요한 gem 파일 설치
sudo service postgresql start/restart postgresql 서버 실행
레일즈 시작하기
rails에서 명령어 칠 때는 rails를 앞에 붙여서 시작!
rails s (server) 레일즈 서버 시작
(=> rails는 기본적으로 서버를 열면 Puma라는 웹서버를 이용함)
서버를 켠 상태에서는 현재 터미널을 사용할 수 없음 -> 새 터미널 띄워서 사용
데이터베이스 생성
rails db: create db:migrate db:seed
db: create -> postgres의 rails 명령어를 이용해서 데이터 베이스 생성
db:migrate -> 기존 마이그레이션 파일에 넣어 놓은 것을 migrate해서 데이터베이스에 밀어넣는 작업
db:seed -> 시드 파일에 넣어둔 기존의 더미 데이터들을 데이터베이스로 밀어 넣는 작업
모델 만들기
1) 상품 만들기
rails g(= generate) model Item
modle은 단수로 써줘야 함 (Items X) -> 단수로 쓰면 복수로 생성됨
=> 마이그레이션 파일과 모델에 대한 설정을 담당하는 items.rb 생성
2) 옵션 만들기
rails g model Option item:references name:string stock:integer
migrate/options.rb
t.references => 두 모델 사이에 외래 키(foreign_key) 관계 설정
: option -> item 테이블을 참조(reference)한다 (item_id)
- foreign_key: 외부 테이블의 정보를 끌어오기 위해 사용함
null: falae -> 이 값은 비어있으면 안된다는 뜻 (option에 item Id가 비어있으면 안됨)
※ dependency가 Nullify 관계일 때는 반드시 삭제해줘야 함
rails db:migrate
3) 주문 만들기
rails g model Order user:references receiver_name:string receiver_phone: string zipcode:string address1:string address2:string total:integer
(null : false 옵션 지우기)
rails db:migrate
4) 장바구니 만들기
rails g model LineItem order:references option:references unit_price:integer quantity:integer total:integer
rails db:migrate
=> 현재 심플한 데이터베이스 테이블 생성 / 각 컬럼 속성 지정 + 외래 키 설정 + relation 설정까지 함
(데이터베이스 구축까지는 했으나, 아직 레일즈 어플리케이션에서는 구축 안된 상태)