# encoding: utf-8 namespace :migrate do task :i18n => :environment do # p 'Start Bulletin' # bulletins = Bulletin.admin_manager_all # i = 1 # bulletins.each do |bulletin| # p "#{i}/#{bulletins.size} - #{bulletin.id}" # title = I18nVariable.first(:conditions => {:key => 'title', :language_value_id => bulletin.id, :language_value_type => bulletin.class}) # bulletin.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title # subtitle = I18nVariable.first(:conditions => {:key => 'subtitle', :language_value_id => bulletin.id, :language_value_type => bulletin.class}) # bulletin.subtitle_translations = {'en' => subtitle['en'], 'zh_tw' => subtitle['zh_tw']} if subtitle # text = I18nVariable.first(:conditions => {:key => 'text', :language_value_id => bulletin.id, :language_value_type => bulletin.class}) # bulletin.text_translations = {'en' => text['en'], 'zh_tw' => text['zh_tw']} if text # p bulletin.save(:validate => false) # i += 1 # end # p 'End Bulletin' # p '=====================================================' # p 'Start BulletinCategory' # categories = BulletinCategory.admin_manager_all # i = 1 # categories.each do |category| # p "#{i}/#{categories.size} - #{category.id}" # title = I18nVariable.first(:conditions => {:language_value_id => category.id, :language_value_type => category.class}) # category.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title # p category.save(:validate => false) # i += 1 # end # p 'End BulletinCategory' # p '=====================================================' # p 'Start BulletinFile' # files = BulletinFile.all # i = 1 # files.each do |file| # p "#{i}/#{files.size} - #{file.id}" # description = I18nVariable.first(:conditions => {:language_value_id => file.id, :language_value_type => file.class}) # file.description_translations = {'en' => description['en'], 'zh_tw' => description['zh_tw']} if description # title = I18nVariable.first(:conditions => {:language_value_id => file.id, :language_value_type => file.class}) # file.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title # p file.save(:validate => false) # i += 1 # end # p 'End BulletinFile' # p '=====================================================' # p 'Start BulletinLink' # links = BulletinLink.all # i = 1 # links.each do |link| # p "#{i}/#{links.size} - #{link.id}" # title = I18nVariable.first(:conditions => {:language_value_id => link.id, :language_value_type => link.class}) # link.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title # p link.save(:validate => false) # i += 1 # end # p 'End BulletinLink' # p '=====================================================' # p 'Start UnitListForAnc' # units = UnitListForAnc.all # i = 1 # units.each do |unit| # p "#{i}/#{units.size} - #{unit.id}" # title = I18nVariable.first(:conditions => {:language_value_id => unit.id, :language_value_type => unit.class}) # unit.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title # p unit.save(:validate => false) # i += 1 # end # p 'End UnitListForAnc' # p '=====================================================' # p '=====================================================' # p 'Start NewsBulletin' # news_bulletins = NewsBulletin.admin_manager_all # i = 1 # news_bulletins.each do |news_bulletin| # p "#{i}/#{news_bulletins.size} - #{news_bulletin.id}" # title = I18nVariable.first(:conditions => {:key => 'title', :language_value_id => news_bulletin.id, :language_value_type => news_bulletin.class}) # news_bulletin.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title # subtitle = I18nVariable.first(:conditions => {:key => 'subtitle', :language_value_id => news_bulletin.id, :language_value_type => news_bulletin.class}) # news_bulletin.subtitle_translations = {'en' => subtitle['en'], 'zh_tw' => subtitle['zh_tw']} if subtitle # text = I18nVariable.first(:conditions => {:key => 'text', :language_value_id => news_bulletin.id, :language_value_type => news_bulletin.class}) # news_bulletin.text_translations = {'en' => text['en'], 'zh_tw' => text['zh_tw']} if text # p news_bulletin.save(:validate => false) # i += 1 # end # p 'End NewsBulletin' # p '=====================================================' # p 'Start NewsBulletinCategory' # categories = NewsBulletinCategory.admin_manager_all # i = 1 # categories.each do |category| # p "#{i}/#{categories.size} - #{category.id}" # title = I18nVariable.first(:conditions => {:language_value_id => category.id, :language_value_type => category.class}) # category.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title # p category.save(:validate => false) # i += 1 # end # p 'End NewsBulletinCategory' # p '=====================================================' # p 'Start NewsBulletinFile' # files = NewsBulletinFile.all # i = 1 # files.each do |file| # p "#{i}/#{files.size} - #{file.id}" # description = I18nVariable.first(:conditions => {:language_value_id => file.id, :language_value_type => file.class}) # file.description_translations = {'en' => description['en'], 'zh_tw' => description['zh_tw']} if description # title = I18nVariable.first(:conditions => {:language_value_id => file.id, :language_value_type => file.class}) # file.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title # p file.save(:validate => false) # i += 1 # end # p 'End NewsBulletinFile' # p '=====================================================' # p 'Start NewsBulletinLink' # links = NewsBulletinLink.all # i = 1 # links.each do |link| # p "#{i}/#{links.size} - #{link.id}" # title = I18nVariable.first(:conditions => {:language_value_id => link.id, :language_value_type => link.class}) # link.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title # p link.save(:validate => false) # i += 1 # end # p 'End NewsBulletinLink' # p '=====================================================' # p '=====================================================' # p 'Start PageContext' # page_contexts = PageContext.all # i = 1 # page_contexts.each do |page_context| # p "#{i}/#{page_contexts.size} - #{page_context.id}" # context = I18nVariable.first(:conditions => {:language_value_id => page_context.id, :language_value_type => page_context.class}) # page_context.context_translations = {'en' => context['en'], 'zh_tw' => context['zh_tw']} if context # p page_context.save(:validate => false) # i += 1 # end # p 'End PageContext' # p '=====================================================' # p '=====================================================' # p 'Start WebLink' # links = WebLink.all # i = 1 # links.each do |link| # p "#{i}/#{links.size} - #{link.id}" # # the original key was 'name' # title = I18nVariable.first(:conditions => {:key => 'name', :language_value_id => link.id, :language_value_type => link.class}) # link.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title # context = I18nVariable.first(:conditions => {:key => 'context', :language_value_id => link.id, :language_value_type => link.class}) # link.context_translations = {'en' => context['en'], 'zh_tw' => context['zh_tw']} if context # p link.save(:validate => false) # i += 1 # end # p 'End WebLink' # p '=====================================================' # p 'Start WebLinkCategory' # categories = WebLinkCategory.admin_manager_all # i = 1 # categories.each do |category| # p "#{i}/#{categories.size} - #{category.id}" # title = I18nVariable.first(:conditions => {:language_value_id => category.id, :language_value_type => category.class}) # category.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title # p category.save(:validate => false) # i += 1 # end # p 'End WebLinkCategory' # p '=====================================================' # p '=====================================================' # p 'Start Meta' # metas = Meta.all # i = 1 # metas.each do |meta| # p "#{i}/#{metas.size} - #{meta.id}" # title = I18nVariable.first(:conditions => {:language_value_id => meta.id, :language_value_type => meta.class}) # meta.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title # p meta.save(:validate => false) # i += 1 # end # p 'End Meta' # p '=====================================================' # p '=====================================================' # p 'Start Attribute' # attributes = Attribute.all # i = 1 # attributes.each do |attribute| # p "#{i}/#{attributes.size} - #{attribute.id}" # title = I18nVariable.first(:conditions => {:language_value_id => attribute.id, :language_value_type => attribute.class}) # attribute.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title # p attribute.save(:validate => false) # i += 1 # end # p 'End Attribute' # p '=====================================================' # p 'Start AttributeField' # attribute_fields = AttributeField.all # i = 1 # attribute_fields.each do |attribute_field| # p "#{i}/#{attribute_fields.size} - #{attribute_field.id}" # title = I18nVariable.first(:conditions => {:language_value_id => attribute_field.id, :language_value_type => attribute_field.class}) # attribute_field.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title # p attribute_field.save(:validate => false) # i += 1 # end # p 'End AttributeField' # p '=====================================================' # p 'Start Role' # roles = Role.all # i = 1 # roles.each do |role| # p "#{i}/#{roles.size} - #{role.id}" # title = I18nVariable.first(:conditions => {:language_value_id => role.id, :language_value_type => role.class}) # role.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title # p role.save(:validate => false) # i += 1 # end # p 'End Role' # p '=====================================================' # p '=====================================================' # p 'Start AdImage' # ad_images = AdImage.all # i = 1 # ad_images.each do |image| # p "#{i}/#{ad_images.size} - #{image.id}" # # no key is set and title = context, this is due to original error in the code # title = I18nVariable.first(:conditions => {:language_value_id => image.id, :language_value_type => image.class}) # image.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title # image.context_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title # p image.save(:validate => false) # i += 1 # end # p 'End AdImage' # p '=====================================================' # p '=====================================================' # p 'Start Asset' # assets = Asset.all # i = 1 # assets.each do |asset| # p "#{i}/#{assets.size} - #{asset.id}" # title = I18nVariable.first(:conditions => {:key => 'title', :language_value_id => asset.id, :language_value_type => asset.class}) # asset.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title # description = I18nVariable.first(:conditions => {:key => 'description', :language_value_id => asset.id, :language_value_type => asset.class}) # asset.description_translations = {'en' => description['en'], 'zh_tw' => description['zh_tw']} if description # p asset.save(:validate => false) # i += 1 # end # p 'End Asset' # p '=====================================================' # p 'Start AssetCategory' # categories = AssetCategory.all # i = 1 # categories.each do |category| # p "#{i}/#{categories.size} - #{category.id}" # title = I18nVariable.first(:conditions => {:language_value_id => category.id, :language_value_type => category.class}) # category.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title # p category.save(:validate => false) # i += 1 # end # p 'End AssetCategory' # p '=====================================================' # p '=====================================================' # p 'Start Item' # items = Item.all # i = 1 # items.each do |item| # p "#{i}/#{items.size} - #{item.id}" # title = I18nVariable.first(:conditions => {:language_value_id => item.id, :language_value_type => item.class}) # item.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title # p item.save(:validate => false) # i += 1 # end # p 'End Item' # p '=====================================================' # p 'Start Page' # pages = Page.all # i = 1 # pages.each do |item| # p "#{i}/#{pages.size} - #{item.id}" # # the key was originally 'title', changed to 'page_title' to avoit conflict with parent # title = I18nVariable.first(:conditions => {:key => 'title', :language_value_id => item.id, :language_value_type => item.class}) # item.page_title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title # p item.save(:validate => false) # i += 1 # end # p 'End Page' # p '=====================================================' # p 'Start PagePart' # page_parts = PagePart.all # i = 1 # page_parts.each do |part| # p "#{i}/#{page_parts.size} - #{part.id}" # title = I18nVariable.first(:conditions => {:key => 'title', :language_value_id => part.id, :language_value_type => part.class}) # part.page_title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title # content = I18nVariable.first(:conditions => {:key => 'i18n_variable', :language_value_id => part.id, :language_value_type => part.class}) # part.content_translations = {'en' => content['en'], 'zh_tw' => content['zh_tw']} if content # p part.save(:validate => false) # i += 1 # end # p 'End PagePart' # p '=====================================================' # p '=====================================================' p 'Start Site' site = Site.first title = I18nVariable.first(:conditions => {:key => 'title', :language_value_id => site.id, :language_value_type => site.class}) site.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title footer = I18nVariable.first(:conditions => {:key => 'footer', :language_value_id => site.id, :language_value_type => site.class}) site.footer_translations = {'en' => footer['en'], 'zh_tw' => footer['zh_tw']} if footer sub_menu = I18nVariable.first(:conditions => {:key => 'sub_menu', :language_value_id => site.id, :language_value_type => site.class}) site.sub_menu_translations = {'en' => sub_menu['en'], 'zh_tw' => sub_menu['zh_tw']} if sub_menu p site.save(:validate => false) p 'End Site' end end