활성 레코드 연결로 Sinatra API 백엔드 구축

3228 단어 programmingrubywebdev
이 블로그 게시물에서는 Active Record를 사용하여 데이터베이스의 데이터에 액세스하고 데이터를 유지하는 자체 Sinatra API 백엔드를 단계별로 구축해 보겠습니다.

액티브레코드와 시나트라
ActiveRecord는 Sinatra와 함께 사용하여 HTTP 요청에서 요청하는 데이터를 저장하는 데 사용되는 데이터 테이블 생성을 처리할 수 있습니다.

ActiveRecord는 SQL 데이터베이스 내에서 데이터를 유지하는 데 필요한 객체 생성을 담당하는 MVC(모델-뷰-컨트롤러)의 모델 부분입니다. 약간의 메타프로그래밍 마법을 사용하여 개발자가 메서드를 사용하여 데이터베이스 마이그레이션을 생성할 수 있도록 도와줍니다!

우리는 ActiveRecord로 데이터 테이블과 데이터 모델을 구축한 다음 Sinatra 경로 내에서 데이터베이스에 쿼리할 데이터를 제어합니다.

1단계. 무엇을 만들고 싶은지, 어떤 모습일지 명확한 아이디어를 얻으세요.
"몇 개의 모델을 가질 예정입니까?"와 같은 질문에 답해 보십시오. 조회수는?” 계속 진행하고 시작하기 전에 이는 명확해야 합니다.



2단계. 프로젝트에 필요한 모델을 생성합니다.
얼마나 많은 관계를 맺게 될지 프로젝트를 통해 생각해보세요. 예를 들어 일대일, 일대다 또는 다대다와 같이 테이블이 가질 관계 유형을 이해해야 합니다.





3단계. 마이그레이션을 생성하여 ActiveRecord로 사용자 테이블 생성
다음 명령을 실행하여 각 모델에 대한 마이그레이션을 생성합니다.

bundle exec rake db:create_migration NAME=create_users


결과는 db>migrate 폴더에 있는 타임스탬프 파일이어야 합니다. (각 모델에 대해 한 번에 하나씩 마이그레이션을 수행합니다.)



각 타임스탬프 파일 내에서 테이블 속성(열)과 각 열의 데이터 유형을 나열하는 빈 변경 방법을 찾을 수 있습니다.

속성을 채우면 다음을 얻을 수 있습니다.



3단계. 마이그레이션 실행

마이그레이션은 다음 명령을 사용하여 수행됩니다.

bundle exec rake db:migrate


생성된 스키마는 다음과 같아야 합니다.



4단계. DB에 데이터 시드

seed.rb 파일에서 데이터를 시드하는 방법을 지정해야 합니다.



다음 명령을 사용하십시오.

bundle exec rake db:seed


5단계. 마지막으로 Sinatra의 내장 라우팅 방법을 사용하여 프런트 엔드에서 요청을 가져오는 응답을 설정할 수 있습니다.



그러면 모든 User 인스턴스를 포함하는 User 클래스에서 .all 및 .order 메서드를 호출하여 "jsonified"사용자 목록을 반환합니다.

프런트 엔드에서 React 프런트 엔드를 사용하는 경우 이제 방금 데이터베이스에서 가져온 사용자 데이터를 사용하고 이와 동일한 상태 저장 변수를 설정할 수 있습니다.

거기에서 데이터를 표시하기로 결정한 것은 우리에게 달려 있습니다!

좋은 웹페이지 즐겨찾기