Skip to content

Commit

Permalink
#5710 ongoing model creation and basic dump/restore
Browse files Browse the repository at this point in the history
  • Loading branch information
Kartones committed Sep 28, 2015
1 parent d1874d2 commit 6dc5e91
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 7 deletions.
18 changes: 18 additions & 0 deletions app/models/carto/visualization/backup.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# encoding: UTF-8

require 'active_record'

module Carto
module Visualization
class Backup < ActiveRecord::Base

# @param String username
# @param Uuid visualization
# @param String export_vizjson
# @param DateTime created_at (Self-generated)

validates :username, :visualization, :export_vizjson, presence: true

end
end
end
16 changes: 9 additions & 7 deletions lib/tasks/viz_maintenance.rake
Original file line number Diff line number Diff line change
Expand Up @@ -64,12 +64,10 @@ namespace :cartodb do

# TODO: this and following task should go in a separate class, but as for initial tests leave here

desc "Exports visualization metadata to the output"
task :export_user_visualization, [:vis_id, :export_file] => :environment do |_, args|
desc "Exports/Backups a visualization"
task :export_user_visualization, [:vis_id] => :environment do |_, args|
require_relative "../../app/controllers/carto/api/visualization_vizjson_adapter"

raise "Export destination file '#{args[:export_file]}' already exists" if File.file?(args[:export_file])

visualization = Carto::Visualization.where(id: args[:vis_id]).first
raise "Visualization with id #{args[:vis_id]} not found" unless visualization

Expand All @@ -89,9 +87,13 @@ namespace :cartodb do
.to_export_poro(1)
.to_json

file = File.open(args[:export_file], "w")
file.write(data)
file.close
backup_entry = Carto::Visualization::Backup.new(
username: visualization.user.username,
visualization: visualization.id,
export_vizjson: ::JSON.dump(data)
)

backup_entry.save

puts "Export complete"
end
Expand Down

0 comments on commit 6dc5e91

Please sign in to comment.