Maalesef bunu yapmak için programatik bir yol yoktur. Rake görevleri, rayların kendisinden, lib/görevlerinden veya herhangi bir eklentiden görev dizini ile yüklenebilir.
Bu
değil Raylar kendi içinde en herşeyi yakalamak olmalıdır:
desc "Create a db/schema.rb file that can be portably used against any DB supported by AR"
task :dump => :environment do
require 'active_record/schema_dumper'
File.open(ENV['SCHEMA'] || "#{RAILS_ROOT}/db/schema.rb", "w") do |file|
ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, file)
end
end
Bu lib/görevler/veritabanının hattı 242 üzerinde bulunabilir: db:schema:dump
gelince
find . -name "*.rake" | xargs grep "whatever"
, burada kaynağıdır. raylar 2.2.2 gem tırmık. Rails'in farklı bir sürümü varsa, sadece "namespace :schema
" için arama yapın.
Muhtemelen ActiveRecord::SchemaDumper
kaynağının kaynağını istersiniz, ancak bunun nerede olduğunu bulmakta sorun yaşamanız gerektiğini düşünüyorum. :-)
Oldukça harika bir keşif. – Tilendor
Sadece FYI: Bu yöntemi kullanmadan önce tırmığın yüklendiğinden emin olmalısınız. değilse, sadece "talep" komisyonu "yapın. –
çok mecbur, bayım! – mrstif