# File lib/database_cleaner/generic/truncation.rb, line 9
        def initialize(opts={})
          if !opts.empty? && !(opts.keys - [:only, :except]).empty?
            raise ArgumentError, "The only valid options are :only and :except. You specified #{opts.keys.join(',')}."
          end
          if opts.has_key?(:only) && opts.has_key?(:except)
            raise ArgumentError, "You may only specify either :only or :either.  Doing both doesn't really make sense does it?"
          end

          @only = opts[:only]
          @tables_to_exclude = (opts[:except] || []).dup
          @tables_to_exclude << migration_storage_name unless migration_storage_name.nil?
        end