Logo Rails Bling
Logo Inverted Logo
  • Blog Setup
    • How I Go
    • How I Go Again
    • My Git Hooks
  • Clojure Thoughts
    • Clojourner in a Foreign Land
  • Decentralized Git
    • Give Up Github
    • Put the D in DVCS
  • Development Process
    • How to Agile
  • Local Development Setup
    • Upgrade to El Capitan
    • Upgrade to Catalina
    • Catalina Fresh Install
  • Ruby Thoughts
    • Fix Nokogiri Warning
  • RubyGems
    • Current List
    • Repair Old Gem (Part 1)
    • Repair Bundler (Part 2)
    • Upgrade RSpec (Part 3)
    • Upgrade Autotest (Part 4)
    • Rakefile & RuboCop LTS (Part 5)
Hero Image
Why Should You Use flag_shih_tzu

What is it? See the what is it post. Why should you use it? No migrations needed for new boolean attributes Avoids ALTER TABLE when adding a new boolean field to a model, which can be important for very large tables Only the one integer column needs to be indexed The index is actually meaningful, unlike a boolean column index Bitwise operations are fast, indexes are even faster, and you can use either one Adds scopes to easily access collections of records with specific fields Chained scopes to combine sql for different bit fields for maximum performance Provides condition builder methods for each bit field so you can construct your own custom SQL with the correct bit field values for the list.

December 7, 2015 Read
Hero Image
Maintaining flag_shih_tzu

Bit Fields for Active Record What is a bit field? https://en.wikipedia.org/wiki/Bit_field What is a bitwise operation? https://en.wikipedia.org/wiki/Bitwise_operation flag_shih_tzu supports both :bit_operator and :in_list query modes, but only :in_list can will utilize a database index. What does it look like? class Lead < ActiveRecord::Base include FlagShihTzu has_flags 1 => :warm_up_email_sent, 2 => :follow_up_call_made, 3 => :final_email_sent, 4 => :appointment_scheduled, 5 => :not_interested, # You can specify use any integer column to use for flags!

August 6, 2013 Read
Navigation
  • About
  • Skills
  • Experience
  • Projects
Contact me:
  • peter.boling a@t gmail.com
  • +1-925-252-5351

Toha Theme Logo Toha (tweaked by @pboling)
© 2024 Peter Boling
CC BY-SA 4.0
Powered by Hugo Logo