Skip to content

Commit

Permalink
Use record id for fixture key id if exists
Browse files Browse the repository at this point in the history
  • Loading branch information
sanak committed Dec 13, 2024
1 parent 21ed2fc commit 658a6ea
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions lib/tasks/extract_fixtures.rake
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,8 @@ task :extract_fixtures => :environment do
File.open(File.join(dir, "#{table_name}.yml"), 'w') do |file|
columns = ActiveRecord::Base.connection.columns(table_name)
column_names = columns.map(&:name)
order_columns = column_names.include?('id') ? 'id' : column_names.join(', ')
has_id_column = column_names.include?('id')
order_columns = has_id_column ? 'id' : column_names.join(', ')
where_clause = table_filters.has_key?(table_name) ? "WHERE #{table_filters[table_name]}" : ''
sql = "SELECT * FROM #{table_name} #{where_clause} ORDER BY #{order_columns}"
data = ActiveRecord::Base.connection.select_all(sql)
Expand All @@ -70,7 +71,8 @@ task :extract_fixtures => :environment do
end
end
end
hash["#{table_name}_#{i.succ!}"] = record
key_id = has_id_column ? sprintf('%03d', record['id']) : i.succ!
hash["#{table_name}_#{key_id}"] = record
hash
}.to_yaml
end
Expand Down

0 comments on commit 658a6ea

Please sign in to comment.