418342 ภาคปลาย 2552/การบ้าน 1
ในการบ้านนี้คุณจะอ่านข้อมูลจาก Freebase แล้วนำมาสร้างฐานข้อมูลอย่างๆ ง่ายๆ พร้อมกับทำหน้าเว็บให้สามารถค้นหาข้อมูลเหล่านี้ได้
เริ่มต้น
หา database dump ของหัวข้อที่คุณสนใจจาก [1] ให้เลือกไฟล์ .tsv จากในนั้นมาหนึ่งไฟล์ ไฟล์ที่คุณเลือกควรจะมี
- ฟีลด์ (คอลัมน์) อย่างน้อย 5 ฟีลด์
- เรคอร์ด (แถว) อย่างน้อย 500 แถว
สร้างแอพพลิเคชัน
สร้างแอพพลิเคชันในลักษณะเดียวกันกับ ปฏิบัติการที่ 5 โดยทำตามขั้นตอนนี้
- สร้าง scaffold ของโมเดลของหัวข้อที่คุณเลือก ยกตัวอย่างเช่น ถ้าผมเลือกหัวข้อเกี่ยวกับภาษาโปรแกรม (computer/programming_language.tsv) ผมอาจจะสร้าง scaffold ดังต่อไปนี้
> ruby script/generate scaffold programming_language name:string language_paradigms:string ...
- สร้าง migration สำหรับเพิ่มข้อมูลเข้าฐานข้อมูล เช่น
> ruby script/generate migration add_programming_languages
- copy ไฟล์ .tsv ที่คุณโหลดมาไปใส่ใน directory db/migrate
- เติม migration ที่คุณเพิ่งสร้าง ให้ฟังก์ชัน up ทำการอ่านไฟล์ .tsv ที่คุณโหลดมา และฟังก์ชัน down ทำการลบเรคอร์ดทุกตัวออกให้หมด กล่าวคือไฟล์ migration ที่สร้างอาจจะมีหน้าตาเป็นอย่างนี้
<geshi lang="rails"> class AddProgrammingLanguages < ActiveRecord::Migration
def self.up ... (เติมโค้ดส่วนนี้เอาเอง) end
def self.down ProgrammingLanguage.destroy_all end
end </geshi>