diff options
-rw-r--r-- | lib/tasks/extract_fixtures.rake | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/lib/tasks/extract_fixtures.rake b/lib/tasks/extract_fixtures.rake index abebf2460..65f529315 100644 --- a/lib/tasks/extract_fixtures.rake +++ b/lib/tasks/extract_fixtures.rake @@ -1,22 +1,22 @@ -desc 'Create YAML test fixtures from data in an existing database.
-Defaults to development database. Set RAILS_ENV to override.'
-
-task :extract_fixtures => :environment do
- sql = "SELECT * FROM %s"
- skip_tables = ["schema_info"]
- ActiveRecord::Base.establish_connection
- (ActiveRecord::Base.connection.tables - skip_tables).each do |table_name|
- i = "000"
- File.open("#{Rails.root}/#{table_name}.yml", 'w' ) do |file|
- data = ActiveRecord::Base.connection.select_all(sql % table_name)
- file.write data.inject({}) { |hash, record|
- # cast extracted values
- ActiveRecord::Base.connection.columns(table_name).each { |col|
- record[col.name] = col.type_cast(record[col.name]) if record[col.name]
- }
- hash["#{table_name}_#{i.succ!}"] = record
- hash
- }.to_yaml
- end
- end
-end
+desc 'Create YAML test fixtures from data in an existing database. +Defaults to development database. Set RAILS_ENV to override.' + +task :extract_fixtures => :environment do + sql = "SELECT * FROM %s" + skip_tables = ["schema_info"] + ActiveRecord::Base.establish_connection + (ActiveRecord::Base.connection.tables - skip_tables).each do |table_name| + i = "000" + File.open("#{Rails.root}/#{table_name}.yml", 'w' ) do |file| + data = ActiveRecord::Base.connection.select_all(sql % table_name) + file.write data.inject({}) { |hash, record| + # cast extracted values + ActiveRecord::Base.connection.columns(table_name).each { |col| + record[col.name] = col.type_cast(record[col.name]) if record[col.name] + } + hash["#{table_name}_#{i.succ!}"] = record + hash + }.to_yaml + end + end +end |