Sha256: fc580487feadb8c6311090d2fc99a9cc010ba3818552a0e594f5d6c55eb046ce
Contents?: true
Size: 1.41 KB
Versions: 2
Compression:
Stored size: 1.41 KB
Contents
# frozen_string_literal: true # Add your own tasks in files placed in lib/tasks ending in .rake, # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. require_relative 'config/application' Rails.application.load_tasks # Аcknowledgments: # Generate Rails test fixtures yaml from database dump | Yi Zeng’s Blog https://yizeng.me/2017/07/16/generate-rails-test-fixtures-yaml-from-database-dump/ namespace :db do desc 'Convert development DB to Rails test fixtures' task to_fixtures: :environment do TABLES_TO_SKIP = %w[ar_internal_metadata delayed_jobs schema_info schema_migrations].freeze begin ActiveRecord::Base.establish_connection ActiveRecord::Base.connection.tables.each do |table_name| next if TABLES_TO_SKIP.include?(table_name) conter = '000' file_path = "#{Rails.root}/../fixtures/#{table_name}.yml" File.open(file_path, 'w') do |file| rows = ActiveRecord::Base.connection.select_all("SELECT * FROM #{table_name}") data = rows.each_with_object({}) do |record, hash| suffix = record['id'].blank? ? conter.succ! : record['id'] hash["#{table_name.singularize}_#{suffix}"] = record end puts "Writing table '#{table_name}' to '#{file_path}'" file.write(data.to_yaml) end end ensure ActiveRecord::Base.connection&.close end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
acts_as_graph_diagram-0.1.1 | test/dummy/Rakefile |
acts_as_graph_diagram-0.1.0 | test/dummy/Rakefile |