Yukihiro "Matz" Matsumoto

Often people, especially computer engineers, focus on the machines. They think, "By doing this, the machine will run fast. By doing this, the machine will run more effectively. By doing this, the machine will something something something." They are focusing on machines. But in fact we need to focus on humans, on how humans care about doing programming or operating the application of the machines. We are the masters. They are the slaves.
Yukihiro "Matz" Matsumoto, Creator of Ruby

Rabu, 29 Oktober 2014

Menggunakan Rake Task Untuk Menghapus Data Dalam Tabel Database Rails

Apabila anda ingin menghapus data yang ada dalam tabel database anda secara keseluruhan, saya akan berbagi tips dalam menghapus data dengan membuat Rake task. Langkah yang pertama kali anda lakukan adalah dengan membuat file dengan nama utilites.rake di dalam folder lib/tasks. Kemudian anda tuliskan kode dibawah ini

namespace :utilities do

  desc "Clear database table"

  task :clear_db => :environment do |t, args|

    ActiveRecord::Base.establish_connection
    ActiveRecord::Base.connection.tables.each do |table|

      #memastikan bahwa tabel yang berisi schema migrations anda tidak dihapus
      next if table == "schema_migrations"

      #uncomment code di bawah baris ini apabila anda menggunakan MySQL dan PostgreSQL
      #ActiveRecord::Base.connection.execute("TRUNCATE #{table}")

      #uncomment code di bawah baris ini apabila anda menggunakan SQLite
      #ActiveRecord::Base.connection.execute("DELETE FROM #{table}")


    end
  end
end

Save filenya, dan kemudian anda dapat menjalankannya dari command line menggunakan syntax rake utilities:clear_db. Selanjutnya semua data/row didalam tabel database anda akan dihapus. Cara ini saya dapatkan dari buku Easy Active Record karangan W. Jason Gilmoire yang dapat anda beli secara digital di Leanpub. Semoga tips ini bermanfaat bagi anda.


Tidak ada komentar:

Posting Komentar