def add_source_path(path)
      raise 'path must be a string' unless path.is_a?(String)

      path = File.expand_path(path)
      raise 'cannot add root path' if path == '/'
      path = path[0...-1] if path[-1] == '/'

      unless @source_paths.include?(path)
        @source_paths << path

        if Dir.exist?(path)
          Dir.glob("#{path}/*.sql").each do |source|
            add_sql_def BarkestCore::MsSqlDefinition.new(File.read(source), source, File.mtime(source))
          end
        end
      end

      nil
    end
def add_source_path(path)
      raise 'path must be a string' unless path.is_a?(String)

      path = File.expand_path(path)
      raise 'cannot add root path' if path == '/'
      path = path[0...-1] if path[-1] == '/'

      unless @source_paths.include?(path)
        @source_paths << path

        if Dir.exist?(path)
          Dir.glob("#{path}/*.sql").each do |source|
            add_sql_def BarkestCore::MsSqlDefinition.new(File.read(source), source, File.mtime(source))
          end
        end
      end

      nil
    end
Adds all SQL files found in the specified directory to the sources for this updater.

 The +path+ should contain the SQL files.  If there are subdirectories, you should
 include them individually.

 The source files should specify a timestamp in the first comment.
   -- 2016-12-19 15:45
   -- 2016-12-19
   -- 201612191545
   -- 20161219

 The timestamp will be converted into a 12-digit number, if time is not specified it will be right-padded
 with zeroes to get to the 12-digit number.