require "fileutils"

namespace :activestorage do
  desc "Copy over the migration needed to the application"
  task :install do
    FileUtils.mkdir_p Rails.root.join("storage")
    FileUtils.mkdir_p Rails.root.join("tmp/storage")
    puts "Made storage and tmp/storage directories for development and testing"

    FileUtils.cp  File.expand_path("../../active_storage/storage_services.yml", __FILE__), Rails.root.join("config")
    puts "Copied default configuration to config/storage_services.yml"

    migration_file_path = "db/migrate/#{Time.now.utc.strftime("%Y%m%d%H%M%S")}_active_storage_create_tables.rb"
    FileUtils.cp File.expand_path("../../active_storage/migration.rb", __FILE__), Rails.root.join(migration_file_path)
    puts "Copied migration to #{migration_file_path}"

    puts "Now run rails db:migrate to create the tables for Active Storage"
  end
end

require "fileutils"

namespace :activestorage do
  desc "Copy over the migration needed to the application"
  task :install do
    FileUtils.mkdir_p Rails.root.join("storage")
    FileUtils.mkdir_p Rails.root.join("tmp/storage")
    puts "Made storage and tmp/storage directories for development and testing"

    FileUtils.cp  File.expand_path("../../active_storage/storage_services.yml", __FILE__), Rails.root.join("config")
    puts "Copied default configuration to config/storage_services.yml"

    migration_file_path = "db/migrate/#{Time.now.utc.strftime("%Y%m%d%H%M%S")}_active_storage_create_tables.rb"
    FileUtils.mkdir_p Rails.root.join("db/migrate")
    FileUtils.cp File.expand_path("../../active_storage/migration.rb", __FILE__), Rails.root.join(migration_file_path)
    puts "Copied migration to #{migration_file_path}"

    puts "Now run rails db:migrate to create the tables for Active Storage"
  end
end

Create db/migrate if it doesn't exist
Create db/migrate if it doesn't exist
