diff --git a/bin/migrate_translations.rb b/bin/migrate_translations.rb new file mode 100644 index 00000000..bc3c8dc0 --- /dev/null +++ b/bin/migrate_translations.rb @@ -0,0 +1,37 @@ +#db = 'http://127.0.0.1:5984/utools_portal' +require 'pry' +require 'yaml' +require 'json' +require 'net/http' +require 'uri' +require 'rack' +couch_settings = YAML.load(File.read(File.expand_path('./../../config/couchdb.yml', __FILE__))) +db = couch_settings['production']['database'] +host = '127.0.0.1' +port = 5984 +translations = JSON.parse(Net::HTTP.get(URI(File.join( + 'http://localhost:5984/', + db, + '_design/couch_i18n::translation', + '_view/all_documents?reduce=false&include_docs=true' +))))['rows'].map{|t| t['doc']} +translations.each do |t| + next if t['_id'][0,3] == 't::' + new_id = "t::#{t['key']}" + new_json = { + created_at: t['created_at'], + updated_at: t['updated_at'], + translation_value: t['value'], + translated: t['translated'], + ruby_class: t['ruby_class'] + } + #doc_uri = URI(File.join( 'http://localhost:5984/', db, "#{t['_id']}?rev=#{t['_rev']}")) + doc_uri = URI(File.join( 'http://localhost:5984/', db, Rack::Utils.escape(new_id))) + create_request = Net::HTTP::Put.new(doc_uri) + create_request["content-type"] = "application/json" + create_request.body = new_json.to_json + response = Net::HTTP.start(host, port) { |http| http.request(create_request) } + + delete_request = Net::HTTP::Delete.new( URI(File.join( 'http://localhost:5984/', db, "#{t['_id']}?rev=#{t['_rev']}"))) + response = Net::HTTP.start(host, port) { |http| http.request(delete_request) } +end