활성 레코드: 시드 데이터



시드 데이터란 무엇입니까?



시드 데이터는 샘플 데이터입니다. 데이터베이스가 필요한 응용 프로그램을 만들거나 작업할 때 나중에 응용 프로그램과 그 기능을 테스트하는 데 사용할 수 있는 샘플 데이터도 만드는 것이 이상적입니다. 액티브 레코드에서 데이터베이스에 입력할 샘플 데이터를 만드는 과정을 "데이터베이스 시드"라고도 합니다.

시드 데이터를 사용해야 하는 이유는 무엇입니까?



이미 콘솔에서 데이터를 생성할 수 있는데 시드 데이터의 목적이 무엇인지 궁금할 수 있습니다. 다른 개발자와 데이터 및 이 데이터를 생성하는 방법에 대한 지침을 더 쉽게 공유할 수 있도록 시드 데이터 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 명령을 실행할 수 있습니다. 이 명령은 현재 존재하는 모든 데이터를 삭제하므로 주의하여 사용하십시오.

결론



이제 시드 데이터 사용의 중요성과 생성 방법을 이해했으므로 직접 샘플 데이터를 생성해 볼 준비가 되었습니다.

좋은 웹페이지 즐겨찾기