활성 레코드: 시드 데이터
3000 단어 beginnerswebdevrubyprogramming
시드 데이터란 무엇입니까?
시드 데이터는 샘플 데이터입니다. 데이터베이스가 필요한 응용 프로그램을 만들거나 작업할 때 나중에 응용 프로그램과 그 기능을 테스트하는 데 사용할 수 있는 샘플 데이터도 만드는 것이 이상적입니다. 액티브 레코드에서 데이터베이스에 입력할 샘플 데이터를 만드는 과정을 "데이터베이스 시드"라고도 합니다.
시드 데이터를 사용해야 하는 이유는 무엇입니까?
이미 콘솔에서 데이터를 생성할 수 있는데 시드 데이터의 목적이 무엇인지 궁금할 수 있습니다. 다른 개발자와 데이터 및 이 데이터를 생성하는 방법에 대한 지침을 더 쉽게 공유할 수 있도록 시드 데이터 Ruby 파일을 생성하는 것이 좋습니다. 이 파일은 개발 데이터베이스가 삭제되는 인스턴스가 있는 경우에도 유용할 수 있습니다.
어떻게 시드 데이터를 생성할 수 있습니까?
시드 데이터를 생성할 수 있는 몇 가지 간단한 단계가 있습니다. 먼저 db 폴더에 seed.rb라는 Ruby 파일을 생성해야 합니다. 다음으로 활성 레코드 방법을 사용하여 새 데이터를 만들 수 있습니다. 다음 예에서는 이미 생성된 식품 테이블에 들어갈 새 식품 항목을 추가합니다. 데이터를 생성할 때 정보를 제공하려는 테이블의 열 이름을 포함해야 합니다. 아래 예에서 추가하는 첫 번째 음식 항목의 이름은 멕시코 피자입니다. 음식 테이블의 이름 열에 추가하려면 create 메서드에
name: "Mexican Pizza"
를 추가해야 합니다.#db/seeds.rb
Food.create(name: "Mexican Pizza", price: "$4.49", calories: "540 cal");
Food.create(name: "Grilled Cheese Burrito", price: "$4.29", calories: "720 cal");
Food.create(name: "Nachos BellGrande", price: "$4.69", calories: "730 cal");
데이터 생성에 필요한 코드를 작성한 후 터미널에서 bundle exec rake db:seed를 실행할 수 있습니다. 이 명령을 실행한 후에는 터미널에 출력이 없기 때문에 터미널에서 rake console을 실행하여 터미널의 콘솔로 들어갈 수 있습니다. 테이블에 추가된 모든 새 음식 항목을 반환하려면 콘솔에 Food.all을 입력하면 됩니다. 첫 번째 음식 항목을 보려면 콘솔에 Food.first를 입력하면 됩니다. 두 번째 식품 항목을 보려면 Food.second 등을 입력하면 됩니다. 특정 항목의 특정 속성을 보려면 Food.first.name 또는 Food.second.price를 입력하면 됩니다.
더 많은 데이터를 만드는 방법?
안 돼! 중요한 데이터를 추가하는 것을 잊었습니다! 원본 데이터를 생성한 후 새로운 데이터를 생성/추가하려면 seed.rb 파일에서 위의 예제에서 했던 것과 유사하게 Active Record 방식을 사용할 수 있습니다.
#db/seeds.rb
Food.create(name: "Mexican Pizza", price: "$4.49", calories: "540 cal");
Food.create(name: "Grilled Cheese Burrito", price: "$4.29", calories: "720 cal");
Food.create(name: "Nachos BellGrande", price: "$4.69", calories: "730 cal");
#new data
Food.create(name: "Chicken Quesadilla", price: "$4.39", calories: "520 cal");
Food.create(name: "MTN DEW Baja Blast", price: "$2.19", calories: "280 cal");
seed.rb 파일에 데이터를 추가한 후 키보드의 Ctrl + c 키를 사용하여 콘솔을 종료하고 터미널에서 bundle exec rake db:seed 명령을 사용하여 seed.rb 파일을 다시 실행해야 합니다. 그런 다음 터미널에 rake console을 입력하여 새 데이터를 테스트하기 위해 콘솔에 다시 들어갈 수 있습니다. 콘솔에 들어간 후 Food.all을 입력하여 추가한 새 항목을 포함하여 나열된 모든 항목을 볼 수 있습니다. 모든 기존 테이블에서 데이터를 제거하고 seed 파일을 다시 실행하려면 콘솔을 종료한 후 터미널에서 bundle exec rake db:seed:replant 명령을 실행할 수 있습니다. 이 명령은 현재 존재하는 모든 데이터를 삭제하므로 주의하여 사용하십시오.
결론
이제 시드 데이터 사용의 중요성과 생성 방법을 이해했으므로 직접 샘플 데이터를 생성해 볼 준비가 되었습니다.
Reference
이 문제에 관하여(활성 레코드: 시드 데이터), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kirthinandi/active-record-seed-data-4pp7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)