¤±¡Á¤¯¤ó¤³¤È K.Ktouth ¤Î¤À¤é¤À¤é¤·¤¿Æü¾ï¤ÈÆÍȯŪ¤Ëºî¤ë¥×¥í¥°¥é¥à¤äÆÉ¤ßʪ¤È¤«¤Î»¨Â¿¥µ¥¤¥È
7·î¤«¤érails¤ÎÎý½¬¤ò¥¬¥·¥¬¥·¿Ê¤á¤Æ¤ë¡Ä¡Ä¤Ä¤â¤ê¤Ç¤¹¤¬¡¢Á´Á³·Á¤Ë¤Ê¤ê¤Þ¤»¤ó(¤©
rails¤Ï¶¯ÎϤÀ¤±¤É¡¢¤ä¤Ï¤ê¸Ä¿Í¤Ç(SQL¤È¥»¥Ã¥È¤Ç)ÊÙ¶¯¤·¤Ê¤¬¤é¤À¤È·ë¹½»þ´Ö¤¬¤«¤«¤ë¡Ä¡Ä¤à¤¥¡¢Çº¤Þ¤·¤¤
¤Ç¡¢¤¤¤¯¤Ä¤«¤Î´ØÏ¢¤¬»ØÄꤵ¤ì¤¿¥â¥Ç¥ëA¤ËÂФ·¤Æ¹Ê¤ê¹þ¤ß¤ò¤Ç¤¤ë¤è¤¦¤Ê¥¯¥¨¥ê¤òºîÀ®¡£
¥µ¥Ö¥¯¥¨¥ê¤ò6ÃʤۤÉÁȤ߹ç¤ï¤»¤ë¾å¤Ë¡¢¥â¥Ç¥ëA¤ÎÆÉ¤ß¹þ¤ß¼«ÂÎ :include ¥ª¥×¥·¥ç¥ó¤Ç3¤Ä¤Î´ØÏ¢¥â¥Ç¥ë¤òƱ»þÆÉ¤ß¡£
·ë²Ì¤È¤·¤Æ1²ó¤Î¥¯¥¨¥ê¤ÎŤµ¤¬ÁêÅö¤Ê¤â¤Î¤Ë¡£ÆÉ¤ß¤Å¤é¤¤(¾Ð)
¤È¤ê¤¢¤¨¤º¸¡º÷¤Ç»È¤¦¥µ¥Ö¥¯¥¨¥ê¤ò¥Ó¥å¡¼¤È¤·¤ÆÅÐÏ¿¤·¤¿¤¤¤Î¤À¤±¤É¡Ä¡Ä²¿¤«¥¹¥Þ¡¼¥È¤ÊÊýË¡¤Ï¤Ê¤¤¤«¤È»î¹Ôºø¸í¡£
°ì±þrails¾å¤Ç´ÉÍý¤Ç¤¤ë·Á¤ÇCREATE/DROP VIEW¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£¤«¤Ê¤êÎ϶ȤÀ¤±¤É(¤©
Ä̾ï¤Î¥â¥Ç¥ëÍѤΥơ¼¥Ö¥ëƱÍÍ¡¢MigrationÍѤΥե¡¥¤¥ë¤òºîÀ®¤·¤Æ¤½¤³¤ÇºîÀ®¡¦ºï½ü¤Î¥³¡¼¥É¤òÅÐÏ¿¤¹¤ë»ö¤Ë¡£
¤È¤Ï¤¤¤¨¥Æ¡¼¥Ö¥ë¤È°ã¤Ã¤ÆMigrate¤Ç¤ÎÄêµÁ¼þ¤ê¤Ë¥Ó¥å¡¼ÄêµÁµ¡Ç½¤Ï¤Ê¤¤¤Î¤Ç¡¢execute¤Çľ¤Ëµ½Ò¡£
def self.up
¡¡execute <<-ENDE
¡¡¡¡CREATE VIEW example_view AS
¡¡¡¡¡¡SELECT * FROM examples, taggings, tags WHERE (ÃæÎ¬);
¡¡ENDE
end
def self.down
¡¡execute <<-ENDE
¡¡¡¡DROP VIEW example_view;
¡¡ENDE
end
¤³¤ì¤À¤±¤Ç¡¢rake db:migrate ¤¹¤ë¤È¤¤Á¤ó¤È¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¹¹¿·¤¬¤¦¤Þ¤¯¤¤¤¯»ö¤ò³Îǧ¡£
¤À¤±¤É¡¢¤³¤Î¥Æ¡¼¥Ö¥ë¤ò¥Æ¥¹¥È¤Ç»ÈÍѤ¹¤ë¤È¤¦¤Þ¤¯¤¤¤«¤Ê¤¤¡£
½èÍý¤ò¸«¤Æ¤ë¤È¡¢¤Þ¤º¥Æ¥¹¥ÈÍѤΥǡ¼¥¿¥Ù¡¼¥¹¤òºÇ½é¤ËºîÀ®¤·¤Æ¤ëºÝ¤Ë¾åµ¥³¡¼¥É¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤ÌÏÍÍ¡£
¤É¡¼¤â¡¢db:schema:dump¥¿¥¹¥¯¤ÇÀ¸À®¤µ¤ì¤ë¥¹¥¡¼¥Þ¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¡¢migrate¥Õ¥¡¥¤¥ë¤Ï»È¤Ã¤Æ¤Ê¤¤¤È¤¤¤¦»ö¤é¤·¤¤¡Ä¡Ä
¥¹¥¡¼¥Þ¥Õ¥¡¥¤¥ë(schema.rb)¤òÀ¸À®¤·¤Æ¤¤¤ë¤Î¤ÏAR::SchemaDumper¤È¤¤¤¦¥¯¥é¥¹¤é¤·¤¤¡£
¤½¤Î¥¯¥é¥¹¤ÎÄêµÁ¤µ¤ì¤¿¥³¡¼¥É¤ò¸«¤Æ¤Ó¤Ã¤¯¤ê¡£¥¹¥¡¼¥Þ¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÆâÍÆ¤«¤éµÕ»»¤·¤Æ»»½Ð¤·¤Æ¤Þ¤·¤¿
¤Á¡¢Î϶ȤÀ¡Ä¡Ä
½ÅÍפʤΤϡ¢¤½¤Î½èÍý¤Ç¤Ï¤¢¤¯¤Þ¤Ç¤â¥Æ¡¼¥Ö¥ëÄêµÁ¤À¤±¤ò¼èÆÀ¤·¤Æ¤¤¤ë¤¿¤á¡¢¤½¤ì°Ê³°¤ÎSQL¤Ï¥¹¥¡¼¥Þ¥Õ¥¡¥¤¥ë¤Ë½ñ¤¹þ¤Þ¤ì¤Ê¤¤¤È¸À¤¦»ö¡£
¤³¤Î¤¢¤¿¤ê¤Î½èÍý¤òAR::SchemaDumper¤Ç¼ÂÁõ¤·¤Æ¤¤¤ë¤Î¤Ç¡¢¤½¤Î°ìÉô¤ò¼«Á°¤Î½èÍý¤Ç¾å½ñ¤¤·¤Æ¤ä¤ë»ö¤Ë¡£
require 'active_record/schema_dumper'
class ActiveRecord::SchemaDumper
# ¸µ¤Î¥³¡¼¥É
#¡¡def trailer(stream)
#¡¡¡¡stream.puts 'end'
#¡¡end
#
# ¢
#
¡¡def trailer(stream)
¡¡¡¡if @info['version'].to_i >= (¥Þ¥¤¥°¥ì¡¼¥·¥ç¥óÈÖ¹æ)
¡¡¡¡¡¡stream.puts ' execute <<-ENDE rescue nil'
¡¡¡¡¡¡stream.puts (¥Ó¥å¡¼ºîÀ®SQL)
¡¡¡¡¡¡stream.puts ' ENDE'
¡¡¡¡end
¡¡¡¡stream.puts 'end'
¡¡end
end
¥Þ¥¤¥°¥ì¡¼¥·¥ç¥óÈÖ¹æ¤Ï¡¢Àè¤Û¤Éºî¤Ã¤¿Migration¤ÈƱ¤¸ÈÖ¹æ¤ò»ØÄê¡£¥³¥ì¤¬¤Ê¤¤¤È¥Ð¡¼¥¸¥ç¥ó»ØÄê¤Ç¸Å¤¤¥¹¥¡¼¥ÞÀ¸À®¤·¤¿ºÝ¤Ë¤âºî¤Ã¤Æ¤·¤Þ¤¦¡£
¥Ó¥å¡¼ºîÀ®SQL¤ÏMigration¤Çexecute¤·¤¿¤â¤Î¤ÈƱ¤¸¡£ÄêµÁ¤òÊ£¿ô¤Î¾ì½ê¤Ç½ñ¤¯¤Î¤Ï˾¤Þ¤·¤¯¤Ê¤¤¤Î¤Ç¡¢¼ÂºÝ¤ÎSQL¤ÏMigration¦¤«¤éÃê½Ð¤·¤ÆÊÌ¥Õ¥¡¥¤¥ë¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
¥³¥ì¤â¤«¤Ê¤êÎ϶ȡ£
¥Æ¡¼¥Ö¥ëƱÍÍ¥¹¥¡¼¥Þ¤«¤éÃê½Ð²Äǽ¤À¤È»×¤¦¤Î¤Ç¡¢²Ë¤¬¤¢¤Ã¤¿¤é¤³¤ÎÊÕºî¤êÂØ¤¨¤Æ¤ß¤Þ¤¹¡£
¤Ç¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤òÆÉ¤Þ¤»¤Æ¤ä¤ì¤Ð¤¤¤¤¤ó¤Ç¤¹¤¬¡¢¤Þ¤Àºî¶È¤Ï»Ä¤Ã¤Æ¤Þ¤¹¡£
¼ÂºÝ¤Î¥¹¥¡¼¥Þ¤ÎÀ¸À®¤Ï db:schema:dump ¥¿¥¹¥¯¤Ç¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¥¿¥¹¥¯¤ÎÃæ¤Ç 'active_record/schema_dumper' ¥é¥¤¥Ö¥é¥ê¤òÆÉ¤ß¹þ¤ß¡¢¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤·¤Æ½ÐÎϡġĤȤ¤¤¦½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
¤È¤³¤í¤¬¡£
¥é¥¤¥Ö¥é¥êÆÉ¤ß¹þ¤ß¤«¤é¥¤¥ó¥¹¥¿¥ó¥¹À¸À®¤Þ¤Ç¤Ë³ä¤ê¹þ¤à;ÃϤ¬¤Ê¤¤¡£¤µ¤Æº¤¤Ã¤¿
¡£
¤Þ¤º¡¢¼«Á°¤Î¥¿¥¹¥¯¤ÎÄÉ²Ã¤Ï rails ¤Ç¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¾ì¹ç¡¢"#{RAILS_ROOT}/lib/tasks" °Ê²¼¤Ë³ÈÄ¥»Ò .rake ¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Æ¤ª¤±¤Ð rake ¤¬¼«Æ°¤ÇÆÉ¤ß¹þ¤ó¤Ç¤¯¤ì¤Þ¤¹¡£rails ɸ½à¤Î¤â¤Î¤Î¸å¤Ë¡£
¤µ¤é¤Ë rake ¤ÎƱ̾¥¿¥¹¥¯¤ÎÄɲýèÍý¤Ï¾ï¤Ë¸åÉÕ¤ÎÌÏÍÍ¡£
¤½¤³¤Ç¤³¤ó¤Ê¥¿¥¹¥¯¤ò½ñ¤¤¤Æ¤ß¤Þ¤·¤¿¡£
namespace :db do
¡¡namespace :schema do
¡¡¡¡# ÄɲýèÍý¤Ï¥é¥¤¥Ö¥é¥ê¤òÆÉ¤ß¹þ¤à¤À¤±
¡¡¡¡task :dump => :environment do
¡¡¡¡¡¡require "#{RAILS_ROOT}/lib/(SchemaDumper²þ¤¥é¥¤¥Ö¥é¥ê)"
¡¡¡¡end
¡¡¡¡# ̵ÍýÌðÍý¥¿¥¹¥¯¤Î½çÈÖ¤òÆþ¤ìÂØ¤¨¤ë
¡¡¡¡task(:dump).instance_eval do
¡¡¡¡¡¡@actions[-2], @actions[-1] = @actions[-1], @actions[-2]
¡¡¡¡end
¡¡end
end
SchemaDumper²þ¤¥é¥¤¥Ö¥é¥ê¤Ï¾åµ¤Î¤ä¤Ä¤òµ½Ò¤·¤¿¥é¥¤¥Ö¥é¥ê¤Ç¤¹¡£
require ¤ÏƱ̾¤Î¥é¥¤¥Ö¥é¥ê¤Î¥í¡¼¥É¤Ï¥¹¥¥Ã¥×¤¹¤ë¤Î¤Ç¡¢É¸½à¥¿¥¹¥¯¤ÎÁ°¤Ë³°Éô¥é¥¤¥Ö¥é¥ê¤òÀè¤ËÆÉ¤ó¤Ç¤ª¤¯¤À¤±¤ÇOK¡£
¤È¤Ï¤¤¤¨¡¢Äɲä·¤¿¤À¤±¤Ç¤Ï½çÈÖ¤¬¸åÉդʤΤǡ¢¥¿¥¹¥¯¥¤¥ó¥¹¥¿¥ó¥¹¤ÎÆâÉô¤ò¤¤¤¸¤Ã¤Æ¡¢½èÍý¤Î½çÈÖ¤òÆþ¤ìÂØ¤¨¤Æ¤¤¤Þ¤¹¡£
¥³¥ì¤Ç¤è¤¦¤ä¤¯½ÐÎϤµ¤ì¤ë¥¹¥¡¼¥Þ¥Õ¥¡¥¤¥ë(schema.rb)¤Ë¥Ó¥å¡¼¤ÎÄêµÁ¤¬´Þ¤Þ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
¥Æ¥¹¥È¤Ç¤â¥Ó¥å¡¼¤¬»ÈÍѤǤ¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¤Î¤Ç¡¢¤È¤ê¤¢¤¨¤º´°À®¤Ç¤¹¡£
¡Ä¡Ä¼±¼Ô¤Ê¤é¤â¤Ã¤È¥¹¥Þ¡¼¥È¤Ë¤ä¤ë¤ó¤À¤í¤¦¤Ê¡Ä¡Ä
OVA¡Ø¥Ð¥«¤È¥Æ¥¹¥È¤È¾¤´½Ã ¡Áº×¡Á¡Ù¾å´¬ [Blu-ray]
(¥á¥Ç¥£¥¢¥Õ¥¡¥¯¥È¥ê¡¼)
¿·ÉÊ ¡ï 4,409
Ãæ¸Å ¡ï 3,680
OVA¡Ø¥Ð¥«¤È¥Æ¥¹¥È¤È¾¤´½Ã ¡Áº×¡Á¡Ù²¼´¬ [Blu-ray]
(¥á¥Ç¥£¥¢¥Õ¥¡¥¯¥È¥ê¡¼)
¿·ÉÊ ¡ï 4,438
Ãæ¸Å ¡ï 2,980
À¸Å̲ñÌò°÷¶¦DJCD¡Ö¥¢¥Ë¥áÀ¸Å̲ñÌò°÷¶¦¤¬Á´Éô¤ï¤«¤ë¥é¥¸¥ª¡¢Î¬¤·¤ÆÁ´¥é!...
(¥¥ó¥°¥ì¥³¡¼¥É)
¿·ÉÊ ¡ï 2,253
Ãæ¸Å ¡ï 1,850
WORKING¡ª¡ª 9 ½é²ó¸ÂÄêÆÃÁõÈÇ (SE¥³¥ß¥Ã¥¯¥¹¥×¥ì¥ß¥¢¥à)
(¹âÄÅ ¥«¥ê¥Î)
¿·ÉÊ ¡ï 2,896
Ãæ¸Å ¡ï 2,835
¡ÖÀ¼Í¥¥°¥é¥ó¥×¥ê¡×¸øÇ§!À¼Í¥³¦<¿ý²¦>·èÄêÀï! <J-1¥°¥é¥ó¥×¥ê> V...
(¥ª¥à¥Ë¥Ð¥¹)
¿·ÉÊ ¡ï 3,159
Ãæ¸Å ¡ï 3,099
¥Ç¥Ã¥É¥é¥¤¥¸¥ó¥° 2¡ÚCERO¥ì¡¼¥Æ¥£¥ó¥°¡ÖZ¡×¡Û
(¥«¥×¥³¥ó)
¿·ÉÊ ¡ï 2,740
Ãæ¸Å ¡ï 1,014
¥¹¥×¥ê¥ó¥¿¡¼¥»¥ë ¥³¥ó¥ô¥£¥¯¥·¥ç¥ó
(¥æ¡¼¥Ó¡¼¥¢¥¤ ¥½¥Õ¥È)
¿·ÉÊ ¡ï 2,979
Ãæ¸Å ¡ï 1,397
Xbox 360 250GB
(¥Þ¥¤¥¯¥í¥½¥Õ¥È)
¿·ÉÊ ¡ï 34,980
Ãæ¸Å ¡ï 25,400
³Ø±àÌÛ¼¨Ï¿¡¡£È£É£Ç£È£Ó£Ã£È£Ï£Ï£Ì¡¡£Ï£Æ¡¡£Ô£È£Å¡¡£Ä£Å£Á£Ä¡¡£·¡¡¥ª¥ê¥¸¥Ê¥ë...
(º´Æ£¡¡ÂçÊå)
¿·ÉÊ ¡ï 9,800
Ãæ¸Å ¡ï 4,797
³Ø±àÌÛ¼¨Ï¿¡¡£È£É£Ç£È£Ó£Ã£È£Ï£Ï£Ì¡¡£Ï£Æ¡¡£Ô£È£Å¡¡£Ä£Å£Á£Ä¡¡£Ó£Å£Ã£Ò£Å£Ô¡¡...
(º´Æ£¡¡ÂçÊå)
Ãæ¸Å ¡ï 2,500
¥½¡¼¥É¥¢¡¼¥È¡¦¥ª¥ó¥é¥¤¥ó¡Ò5¡Ó¥Õ¥¡¥ó¥È¥à¡¦¥Ð¥ì¥Ã¥È (ÅÅ·âʸ¸Ë)
(À ãª)
¿·ÉÊ ¡ï 578
Ãæ¸Å ¡ï 692
£Ò£Ð£Ç¡¡£×(¡¦¢Ï¡¦)£Ò£Ì£Ä£¶ ¡½¤í¡¼¤×¤ì¡¦¤ï¡¼¤ë¤É¡½ (Éٻθ«¥Õ¥¡¥ó¥¿...
(µÈ¼¡¡Ìë)
¿·ÉÊ ¡ï 651
Ãæ¸Å ¡ï 1
ËâË¡¾¯½÷¥ê¥ê¥«¥ë¤Ê¤Î¤Ï£Ö£é£Ö£é£ä¡¡(£³¡Ë¸ÂÄêÈÇ (³ÑÀ¥ß¥Ã¥¯¥¹¡¦¥¨¡¼¥¹...
(Æ£¿¿¡¡ÂóºÈ)
¿·ÉÊ ¡ï 1,680
Ãæ¸Å ¡ï 1,338
ËâË¡Àïµ¥ê¥ê¥«¥ë¤Ê¤Î¤Ï£Æ£ï£ò£ã£å¡¡(£³¡Ë¸ÂÄêÈÇ (³ÑÀ¥ß¥Ã¥¯¥¹¡¦¥¨¡¼¥¹...
(Èì²ì ¤æ¤«¤ê)
¿·ÉÊ ¡ï 1,680
Ãæ¸Å ¡ï 418
¥À¥ó¥¸¥ç¥ó¥º¡õ¥É¥é¥´¥ó¥ºÂ裴ÈÇ¥¹¥¿¡¼¥¿¡¼¡¦¥»¥Ã¥È
(¥¸¥§¡¼¥à¥º ¥ï¥¤¥¢¥Ã¥È)
¿·ÉÊ ¡ï 4,980
Ãæ¸Å ¡ï 4,311
¥¢¥ê¥¢¥ó¥í¥Ã¥É¡¦¥µ¥¬¡¦¥ê¥×¥ì¥¤¡Ê£µ¡Ë ·ãÆ®¤Î¥Ô¡¼¥¹¥á¥¤¥«¡¼ (Éٻθ«¥É...
(µÆÃÓ¡¡¤¿¤±¤·¡¿£Æ¡¥£Å¡¥£Á¡¥£Ò¡¥)
¿·ÉÊ ¡ï 693
Ãæ¸Å ¡ï 190
¥¢¥ê¥¢¥ó¥í¥Ã¥É¡¦¥µ¥¬¡¦¥³¥ó¥Á¥§¥ë¥È 1 (Åŷ⥳¥ß¥Ã¥¯¥¹)
(º´¡¹ÌÚ ¤¢¤«¤Í)
¿·ÉÊ ¡ï 599
Ãæ¸Å ¡ï 90
ËÙ¤µ¤ó¤ÈµÜ¼¤¯¤ó(7)(¥¬¥ó¥¬¥ó¥³¥ß¥Ã¥¯¥¹ONLINE)
(HERO)
¿·ÉÊ ¡ï 1,000
Ãæ¸Å ¡ï 747
ÀõÈø¤µ¤ó¤ÈÁÒÅĤ¯¤ó(3)(¥¬¥ó¥¬¥ó¥³¥ß¥Ã¥¯¥¹ONLINE)
(HERO)
¿·ÉÊ ¡ï 690
Ãæ¸Å ¡ï 370
7¤È±³ÅǤ¥ª¥ó¥é¥¤¥ó¡½HERO¸Ä¿ÍºîÉʽ¸¡½(¥¬¥ó¥¬¥ó¥³¥ß¥Ã¥¯¥¹ONLIN...
(HERO)
¿·ÉÊ ¡ï 710
Ãæ¸Å ¡ï 158
ONE PIECE 65 (¥¸¥ã¥ó¥×¥³¥ß¥Ã¥¯¥¹)
(ÈøÅÄ ±É°ìϺ)
NARUTO¡½¥Ê¥ë¥È¡½ 59 (¥¸¥ã¥ó¥×¥³¥ß¥Ã¥¯¥¹)
(´ßËÜ ÀÆ»Ë)
¥ï¥ó¥Ô¡¼¥¹ ³¤Â±ÌµÁÐ(Ä̾ïÈÇ)(½é²óÆÃŵ:¥ª¥ê¥¸¥Ê¥ë¥«¥¹¥¿¥à¥Æ¡¼¥Þ9¼ïDL¥³¡¼¥É¡¢¥½¡¼¥·¥ã¥ë¥²¡¼¥àÀìÍѥ쥢¥Õ¥£¥®¥å¥¢ÍÑ¥³¡¼¥ÉƱº)
(¥Ð¥ó¥À¥¤¥Ê¥à¥³¥²¡¼¥à¥¹)
¥É¥é¥´¥ó¥º¥É¥°¥Þ(¿ôÎ̸ÂÄêÆÃŵ¡Ø¥Ð¥¤¥ª¥Ï¥¶¡¼¥É6¡ÙÂθ³ÈÇÍÑDL¥³¡¼¥ÉƱº)
(¥«¥×¥³¥ó)