Introduction
Introduction Statistics Contact Development Disclaimer Help
refactored report, cumulated report, cleaned up project, added more specs (cach…
Log
Files
Refs
README
---
commit 4ea06fa8c51adbfc7989f1710780890bb98cb184
parent 400b8c6b4167aa2e93683aa7ff34d0758c5292b5
Author: marcoow <[email protected]>
Date: Thu, 27 Nov 2008 04:11:55 +0800
refactored report, cumulated report, cleaned up project, added more specs (cach…
Signed-off-by: Marco Otte-Witte <[email protected]>
Diffstat:
D License.txt | 21 ---------------------
D Manifest.txt | 0
D PostInstall.txt | 7 -------
D README.markdown | 47 -----------------------------…
A README.rdoc | 35 +++++++++++++++++++++++++++++…
D README.txt | 47 -----------------------------…
M Rakefile | 26 +++++++++++++++++++++-----
D config/hoe.rb | 74 -----------------------------…
D config/requirements.rb | 15 ---------------
A generators/reports_as_sparkline_mi… | 11 +++++++++++
A generators/reports_as_sparkline_mi… | 71 +++++++++++++++++++++++++++…
M init.rb | 12 ++++++++----
A install.rb | 1 +
A lib/kvlr/reports_as_sparkline.rb | 53 ++++++++++++++++++++++++++++++
A lib/kvlr/reports_as_sparkline/asse… | 21 +++++++++++++++++++++
A lib/kvlr/reports_as_sparkline/cumu… | 25 +++++++++++++++++++++++++
A lib/kvlr/reports_as_sparkline/repo… | 50 +++++++++++++++++++++++++++…
A lib/kvlr/reports_as_sparkline/repo… | 22 ++++++++++++++++++++++
D lib/reports_as_sparkline.rb | 33 -----------------------------…
D lib/reports_as_sparkline/report.rb | 182 -----------------------------…
D lib/reports_as_sparkline/report_ca… | 0
D lib/reports_as_sparkline/version.rb | 9 ---------
D lib/reports_as_sparkline/view_help… | 10 ----------
D script/console | 11 -----------
D script/destroy | 14 --------------
D script/generate | 14 --------------
D script/txt2html | 82 -----------------------------…
D setup.rb | 1585 -----------------------------…
M spec/boot.rb | 42 ++++++++++++++++-------------…
M spec/db/database.yml | 13 +++----------
A spec/db/reports_as_sparkline.sqlit… | 0
M spec/db/schema.rb | 21 ++++++++++++---------
D spec/fixtures/users.yml | 3 ---
A spec/log/spec.log | 5374 +++++++++++++++++++++++++++++…
A spec/models/report_method_spec.rb | 31 +++++++++++++++++++++++++++++…
A spec/other/class_methods_spec.rb | 29 +++++++++++++++++++++++++++++
A spec/other/cumulated_report_spec.rb | 44 +++++++++++++++++++++++++++++…
A spec/other/report_cache_spec.rb | 27 +++++++++++++++++++++++++++
A spec/other/report_spec.rb | 61 +++++++++++++++++++++++++++++…
D spec/reports_as_sparkline_spec.rb | 99 -----------------------------…
D spec/spec.opts | 2 --
M spec/spec_helper.rb | 62 ++++++-----------------------…
D tasks/deployment.rake | 35 -----------------------------…
D tasks/environment.rake | 7 -------
A tasks/reports_as_sparkline_tasks.r… | 4 ++++
D tasks/rspec.rake | 21 ---------------------
D tasks/website.rake | 17 -----------------
R History.txt -> uninstall.rb | 0
48 files changed, 5936 insertions(+), 2434 deletions(-)
---
diff --git a/License.txt b/License.txt
@@ -1,20 +0,0 @@
-Copyright (c) 2008 Martin Kavalar
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-\ No newline at end of file
diff --git a/Manifest.txt b/Manifest.txt
diff --git a/PostInstall.txt b/PostInstall.txt
@@ -1,7 +0,0 @@
-
-For more information on reports_as_sparkline, see http://reports_as_sparkline.…
-
-NOTE: Change this information in PostInstall.txt
-You can also delete it if you don't want it.
-
-
diff --git a/README.markdown b/README.markdown
@@ -1,46 +0,0 @@
-= reports_as_sparkline
-
-* http://github.com/mk/reports_as_sparkline
-
-== DESCRIPTION:
-
-FIX (describe your package)
-
-== FEATURES/PROBLEMS:
-
-* FIX (list of features or problems)
-
-== SYNOPSIS:
-
- FIX (code sample of usage)
-
-== REQUIREMENTS:
-
-* edge rails
-
-== INSTALL:
-
-* sudo gem install reports_as_sparkline
-
-== LICENSE:
-
-Copyright (c) 2008 Martin Kavalar
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-\ No newline at end of file
diff --git a/README.rdoc b/README.rdoc
@@ -0,0 +1,35 @@
+## ReportsAsSparkline
+
+This plugin shall allow you to generate sparklines and do reporting from your …
+
+### Example
+
+This shows the first basic usage. Consider the following user model, including…
+
+ class User < ActiveRecord::Base
+ report_as_sparkline :registrations
+ report_as_sparkline :activations, :date_column => :activated_at
+ report_as_sparkline :total_users, :cumulate => :registrations
+ end
+
+Using *report_as_sparkline* like this will add the following class methods to …
+
+ # Generates a sparkline from the google chart api
+ # so you see the registrations per day
+ User.registrations_graph
+
+ # Gets an array of the data to use in numerical display
+ User.registrations_report
+
+### Implemented features
+* cumulate option that depends on other report
+
+### Pending points
+
+* Create a model to cache results and reuse
+* Implement data ranges in arguments
+* Limit number of data points to maximum that the google chart api allows
+* Make graph styling configurable
+
+
+&copy; 2008 Martin Kavalar, Marco Otte-Witte (http://simplabs.com/#projects), …
diff --git a/README.txt b/README.txt
@@ -1,46 +0,0 @@
-= reports_as_sparkline
-
-* http://github.com/mk/reports_as_sparkline
-
-== DESCRIPTION:
-
-FIX (describe your package)
-
-== FEATURES/PROBLEMS:
-
-* FIX (list of features or problems)
-
-== SYNOPSIS:
-
- FIX (code sample of usage)
-
-== REQUIREMENTS:
-
-* edge rails
-
-== INSTALL:
-
-* sudo gem install reports_as_sparkline
-
-== LICENSE:
-
-Copyright (c) 2008 Martin Kavalar
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-\ No newline at end of file
diff --git a/Rakefile b/Rakefile
@@ -1,4 +1,21 @@
-require 'config/requirements'
-require 'config/hoe' # setup Hoe + all gem configuration
-
-Dir['tasks/**/*.rake'].each { |rake| load rake }
-\ No newline at end of file
+require 'rake'
+require 'rake/rdoctask'
+require 'spec/rake/spectask'
+
+desc 'Default: run specs.'
+task :default => :spec
+
+desc 'Run the specs'
+Spec::Rake::SpecTask.new(:spec) do |t|
+ t.spec_opts = ['-cfs']
+ t.spec_files = FileList['spec/**/*_spec.rb']
+end
+
+desc 'Generate documentation for the reports_as_sparkline plugin.'
+Rake::RDocTask.new(:rdoc) do |rdoc|
+ rdoc.rdoc_dir = 'rdoc'
+ rdoc.title = 'reports_as_sparkline'
+ rdoc.options << '--line-numbers' << '--inline-source'
+ rdoc.rdoc_files.include('README.rdoc')
+ rdoc.rdoc_files.include('lib/**/*.rb')
+end
diff --git a/config/hoe.rb b/config/hoe.rb
@@ -1,73 +0,0 @@
-require 'reports_as_sparkline/version'
-
-AUTHOR = 'FIXME full name' # can also be an array of Authors
-EMAIL = "FIXME email"
-DESCRIPTION = "description of gem"
-GEM_NAME = 'reports_as_sparkline' # what ppl will type to install your gem
-RUBYFORGE_PROJECT = 'reports_as_sparkline' # The unix name for your project
-HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org"
-DOWNLOAD_PATH = "http://rubyforge.org/projects/#{RUBYFORGE_PROJECT}"
-EXTRA_DEPENDENCIES = [
-# ['activesupport', '>= 1.3.1']
-] # An array of rubygem dependencies [name, version]
-
-@config_file = "~/.rubyforge/user-config.yml"
-@config = nil
-RUBYFORGE_USERNAME = "unknown"
-def rubyforge_username
- unless @config
- begin
- @config = YAML.load(File.read(File.expand_path(@config_file)))
- rescue
- puts <<-EOS
-ERROR: No rubyforge config file found: #{@config_file}
-Run 'rubyforge setup' to prepare your env for access to Rubyforge
- - See http://newgem.rubyforge.org/rubyforge.html for more details
- EOS
- exit
- end
- end
- RUBYFORGE_USERNAME.replace @config["username"]
-end
-
-
-REV = nil
-# UNCOMMENT IF REQUIRED:
-# REV = YAML.load(`svn info`)['Revision']
-VERS = ReportsAsSparkline::VERSION::STRING + (REV ? ".#{REV}" : "")
-RDOC_OPTS = ['--quiet', '--title', 'reports_as_sparkline documentation',
- "--opname", "index.html",
- "--line-numbers",
- "--main", "README",
- "--inline-source"]
-
-class Hoe
- def extra_deps
- @extra_deps.reject! { |x| Array(x).first == 'hoe' }
- @extra_deps
- end
-end
-
-# Generate all the Rake tasks
-# Run 'rake -T' to see list of generated tasks (from gem root directory)
-$hoe = Hoe.new(GEM_NAME, VERS) do |p|
- p.developer(AUTHOR, EMAIL)
- p.description = DESCRIPTION
- p.summary = DESCRIPTION
- p.url = HOMEPATH
- p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT
- p.test_globs = ["test/**/test_*.rb"]
- p.clean_globs |= ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store'] #An arra…
-
- # == Optional
- p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
- #p.extra_deps = EXTRA_DEPENDENCIES
-
- #p.spec_extras = {} # A hash of extra values to set in the gemspec.
- end
-
-CHANGES = $hoe.paragraphs_of('History.txt', 0..1).join("\\n\\n")
-PATH = (RUBYFORGE_PROJECT == GEM_NAME) ? RUBYFORGE_PROJECT : "#{RUBYFORGE_P…
-$hoe.remote_rdoc_dir = File.join(PATH.gsub(/^#{RUBYFORGE_PROJECT}\/?/,''), 'rd…
-$hoe.rsync_args = '-av --delete --ignore-errors'
-$hoe.spec.post_install_message = File.open(File.dirname(__FILE__) + "/../PostI…
-\ No newline at end of file
diff --git a/config/requirements.rb b/config/requirements.rb
@@ -1,15 +0,0 @@
-require 'fileutils'
-include FileUtils
-
-require 'rubygems'
-%w[rake hoe newgem rubigen].each do |req_gem|
- begin
- require req_gem
- rescue LoadError
- puts "This Rakefile requires the '#{req_gem}' RubyGem."
- puts "Installation: gem install #{req_gem} -y"
- exit
- end
-end
-
-$:.unshift(File.join(File.dirname(__FILE__), %w[.. lib]))
diff --git a/generators/reports_as_sparkline_migration/reports_as_sparkline_mig…
@@ -0,0 +1,11 @@
+# Generates the migration that adds the caching table
+class ReportsAsSparklineMigrationGenerator < Rails::Generator::NamedBase
+
+ # Creates the generator's manifest
+ def manifest
+ record do |m|
+ m.migration_template 'migration.erb', 'db/migrate'
+ end
+ end
+
+end
diff --git a/generators/reports_as_sparkline_migration/templates/migration.erb …
@@ -0,0 +1,71 @@
+class <%= class_name %> < ActiveRecord::Migration
+
+ def self.up
+ create_table :containers, :force => true do |t|
+ t.string :name, :null => false, :limit => 250
+ t.timestamps
+ end
+ add_index :containers, :name, :unique => true
+
+ create_table :contents, :force => true do |t|
+ t.string :name, :null => false, :limit => 250
+ t.string :title, :limit => 250
+ t.string :slug, :limit => 250
+ t.integer :parent_id
+ t.integer :container_id
+ t.timestamps
+ end
+ add_index :contents, :container_id
+ add_index :contents, :name
+ add_index :contents, :slug
+ add_index :contents, [:container_id, :slug], :unique => true
+
+ create_table :sections, :force => true do |t|
+ t.string :name, :null => false, :limit => 250
+ t.text :body
+ t.integer :content_id, :null => false
+ t.timestamps
+ end
+ add_index :sections, :content_id
+ add_index :sections, :name
+ add_index :sections, [:content_id, :name], :unique => true
+
+ create_table :tags, :force => true do |t|
+ t.string :name, :null => false, :limit => 100
+ t.string :slug, :null => false, :limit => 100
+ t.timestamps
+ end
+ add_index :tags, :name
+ add_index :tags, :slug
+
+ create_table :contents_tags, :force => true, :id => false do |t|
+ t.integer :content_id, :null => false
+ t.integer :tag_id, :null => false
+ end
+ add_index :contents_tags, :content_id
+ add_index :contents_tags, :tag_id
+ add_index :contents_tags, [:tag_id, :content_id]
+ end
+
+ def self.down
+ remove_index :containers, :name
+ remove_index :contents, :container_id
+ remove_index :contents, :name
+ remove_index :contents, :slug
+ remove_index :contents, [:container_id, :slug]
+ remove_index :sections, :content_id
+ remove_index :sections, :name
+ remove_index :tags, :name
+ remove_index :tags, :slug
+ remove_index :contents_tags, :content_id
+ remove_index :contents_tags, :tag_id
+ remove_index :contents_tags, :tag_id, :content_id
+
+ drop_table :containers
+ drop_table :contents
+ drop_table :sections
+ drop_table :tags
+ drop_table :contents_tags
+ end
+
+end
diff --git a/init.rb b/init.rb
@@ -1,3 +1,8 @@
-# Include hook code here
-require 'reports_as_sparkline'
-require 'asset_tag_helper'
-\ No newline at end of file
+require 'kvlr/reports_as_sparkline'
+
+ActiveRecord::Base.class_eval do
+ include Kvlr::ReportsAsSparkline
+end
+ActionView::Base.class_eval do
+ include Kvlr::ReportsAsSparkline::AssetTagHelper
+end
diff --git a/install.rb b/install.rb
@@ -0,0 +1 @@
+puts IO.read(File.join(File.dirname(__FILE__), 'README.rdoc'))
diff --git a/lib/kvlr/reports_as_sparkline.rb b/lib/kvlr/reports_as_sparkline.rb
@@ -0,0 +1,53 @@
+module Kvlr #:nodoc:
+
+ module ReportsAsSparkline #:nodoc:
+
+ def self.included(base) #:nodoc:
+ base.extend ClassMethods
+ end
+
+ class InvalidGroupExpception < Exception
+ end
+
+ class InvalidOperationExpception < Exception
+ end
+
+ module ClassMethods
+
+ #
+ # Examples:
+ #
+ # class Game < ActiveRecord::Base
+ # report_as_sparkline :games_per_day
+ # report_as_sparkline :games_played_total, :cumulate => :games_played
+ # end
+ # class User < ActiveRecord::Base
+ # report_as_sparkline :registrations, :operation => :count
+ # report_as_sparkline :activations, :date_column => :activated_at, :op…
+ # report_as_sparkline :total_users_report, :cumulate => :registrations
+ # end
+ # class Rake < ActiveRecord::Base
+ # report_as_sparkline :rake, :operation => :sum
+ # end
+ def report_as_sparkline(name, options = {})
+ if options[:cumulate]
+ report = Kvlr::ReportsAsSparkline::CumulatedReport.new(self, options…
+ else
+ report = Kvlr::ReportsAsSparkline::Report.new(self, name, options)
+ end
+ (class << self; self; end).instance_eval do
+ define_method "#{name.to_s}_report".to_sym do |*args|
+ raise ArgumentError if args.size > 1
+ if args.size == 1
+ raise ArgumentError unless args.first.is_a?(Hash)
+ end
+ report.run(args.first || {})
+ end
+ end
+ end
+
+ end
+
+ end
+
+end
diff --git a/lib/kvlr/reports_as_sparkline/asset_tag_helper.rb b/lib/kvlr/repor…
@@ -0,0 +1,21 @@
+module Kvlr #:nodoc:
+
+ module ReportsAsSparkline #:nodoc:
+
+ # View helper that provides sparkline methods
+ module AssetTagHelper
+
+ # Renders a sparkline with the given data.
+ def sparkline_tag(data, options = {})
+ options.reverse_merge!({:width => 300, :height => 34, :color => '0077C…
+ data.collect! { |element| element[1].to_i }
+ image_tag(
+ "http://chart.apis.google.com/chart?cht=ls&chs=#{options[:width]}x#{…
+ )
+ end
+
+ end
+
+ end
+
+end
diff --git a/lib/kvlr/reports_as_sparkline/cumulated_report.rb b/lib/kvlr/repor…
@@ -0,0 +1,25 @@
+module Kvlr #:nodoc:
+
+ module ReportsAsSparkline #:nodoc:
+
+ class CumulatedReport < Report
+
+ def run(options)
+ CumulatedReport.cumulate!(super)
+ end
+
+ protected
+
+ def self.cumulate!(data)
+ acc = 0
+ data.collect do |element|
+ acc += element[1].to_i
+ [element[0], acc]
+ end
+ end
+
+ end
+
+ end
+
+end
diff --git a/lib/kvlr/reports_as_sparkline/report.rb b/lib/kvlr/reports_as_spar…
@@ -0,0 +1,50 @@
+module Kvlr #:nodoc:
+
+ module ReportsAsSparkline #:nodoc:
+
+ class Report
+
+ def initialize(klass, name, options = {})
+ @klass = klass
+ @name = name
+ @options = {
+ :limit => options[:limit] || 100,
+ :aggregation => options[:aggregation] || :count,
+ :grouping => options[:grouping] || :day,
+ :date_column_name => (options[:date_column_name] || 'created_at').t…
+ :value_column_name => (options[:value_column_name] || 'id').to_s,
+ :conditions => options[:conditions] || ['']
+ }.merge(options)
+ end
+
+ def run(options = {})
+ options = @options.merge(options)
+ conditions = [options[:conditions][0], *options[:conditions][1..-1]]
+ @klass.send(options[:aggregation],
+ options[:value_column_name],
+ :conditions => conditions,
+ :group => group_sql(options[:grouping], options[:date_column_name]),
+ :order => "#{options[:date_column_name]} DESC"
+ )
+ end
+
+ private
+
+ def group_sql(grouping, date_column_name)
+ return case grouping
+ when :day
+ "DATE(#{date_column_name})"
+ when :week
+ "YEAR(#{date_column_name}) + YEARWEEK(#{date_column_name})"
+ when :month
+ "YEAR(#{date_column_name}) + MONTH(#{date_column_name})"
+ when :hour
+ "DATE(#{date_column_name}) + HOUR(#{date_column_name})"
+ end
+ end
+
+ end
+
+ end
+
+end
diff --git a/lib/kvlr/reports_as_sparkline/report_cache.rb b/lib/kvlr/reports_a…
@@ -0,0 +1,22 @@
+module Kvlr #:nodoc:
+
+ module ReportsAsSparkline #:nodoc:
+
+ class ReportCache < ActiveRecord::Base
+
+ def self.cached(klass, name, range, &block)
+ raise ArgumentError.new('A block must be given') unless block_given?
+ unless result = self.find(
+ :all,
+ :conditions => { :model_name => klass.to_s, :report_name => name.to_…
+ )
+ result = yield
+ end
+ result
+ end
+
+ end
+
+ end
+
+end
diff --git a/lib/reports_as_sparkline.rb b/lib/reports_as_sparkline.rb
@@ -1,33 +0,0 @@
-require 'active_support'
-require 'active_record'
-#require 'action_view'
-#require 'action_controller'
-
-module ReportsAsSparkline
- class << self
- # shortcut for <tt>enable_actionpack; enable_activerecord</tt>
- def enable
- enable_actionpack
- enable_activerecord
- end
-
- # mixes in ReportsAsSparkline::ViewHelpers in ActionView::Base
- def enable_actionpack
- #return if ActionView::Base.instance_methods.include? 'sparkline_tag'
- #require 'reports_as_sparkline/view_helpers'
- #ActionView::Base.class_eval { include ViewHelpers }
- end
-
- def enable_activerecord
- return if false
- require 'reports_as_sparkline/report'
- ActiveRecord::Base.send(:include, ReportsAsSparkline)
- end
- end
-end
-
-if defined?(ActiveRecord)
- ReportsAsSparkline.enable
-else
- raise "Could not find ActiveRecord"
-end
diff --git a/lib/reports_as_sparkline/report.rb b/lib/reports_as_sparkline/repo…
@@ -1,182 +0,0 @@
-module ReportsAsSparkline #:nodoc:
- def self.included(base)
- base.extend ClassMethods
- end
-
- class ReportCache < ActiveRecord::Base
- end
-
- class InvalidGroupExpception < Exception
- end
-
- class InvalidOperationExpception < Exception
- end
-
- class ReportingGroup
- @@ranges = [:month, :week, :day, :hour]
-
- attr_reader :group
-
- def initialize(range)
- raise ReportsAsSparkline::InvalidGroupExpception unless @@ranges.include…
- @group = range.to_sym
- end
-
- def group_sql(attribute)
- attribute = attribute.to_s
- raise "No date_column given" if attribute.blank?
- case @group
- when :day
- group_by = "DATE(#{attribute})"
- when :week
- group_by = "YEARWEEK(#{attribute})"
- when :month
- group_by = "YEAR(#{attribute}) * 100 + MONTH(#{attribute})"
- when :hour
- group_by = "DATE(#{attribute}) + HOUR(#{attribute})"
- end
- group_by
- end
-
- def latest_datetime
- case @group
-
- when :day, :week, :month
- return 1.send(@group).ago.to_date.to_datetime
- when :hour
- return 1.day.ago.to_date.to_datetime
- end
- end
-
- def self.default
- :day
- end
- end
-
- class ReportingOperation
- @@operations = [:count, :sum]
-
- attr_reader :operation
-
- def initialize(op)
- raise ReportsAsSparkline::InvalidOperationExpception unless @@operations…
- @operation = op.to_sym
- end
-
- def self.default
- :count
- end
- end
-
-
- class Report
-
- @@default_statement_options = {:limit => 100, :operation => ReportingOpera…
- attr_reader :name, :operation, :date_column, :value_column, :graph_options…
-
- def initialize(name, options)
- @name = name.to_sym
- @value_column = (options[:value_column] || @name).to_sym
- @statement_options = @@default_statement_options.merge options
-
- @reporting_group = ReportingGroup.new(@statement_options[:group])
- @reporting_operation = ReportingOperation.new(@statement_options[:operat…
- end
-
- def report(klass, options)
- statement_options = options.merge(@statement_options)
- reporting_group = statement_options[:group] != @reporting_group.group ? …
- reporting_operation = statement_options[:operation] != @reporting_operat…
-
- conditions = ["model_name = ? AND report_name = ? AND report_range = ?",…
- newest_report = ReportCache.find(:first, :select => "start, value", :con…
- newest_value = reporting_group.latest_datetime
- if newest_report.nil? or newest_report.start < newest_value
- value_statement = nil
- case reporting_operation.operation
- when :sum
- value_statement = "SUM(#{@value_column})"
- when :count
- value_statement = "COUNT(1)"
- end
- raise if value_statement.nil?
-
- where = ["#{reporting_group.group_sql(statement_options[:date_column])…
- where << "#{reporting_group.group_sql(statement_options[:date_column])…
- where = where.join(" AND ")
-
- query = "INSERT INTO #{ReportCache.table_name} (model_name, report_na…
- (
- SELECT \"#{klass.to_s}\", \"#{name}\", \"#{reporting_group.group.t…
- #{reporting_group.group_sql(statement_options[:date_column])} AS…
- #{value_statement} AS value
- FROM #{klass.table_name}
- WHERE #{where}
- GROUP BY start
- );"
- ActiveRecord::Base.connection.execute query
- end
- data = ReportCache.find(:all, :select => "start, value", :conditions => …
- data.collect! {|report| [report.start, report.value] }
- data.reverse
- end
-
- # def generate_report(klass, options)
- #
- #
- # case reporting_operation.operation
- # when :sum
- # return klass.sum @value_column, :group => @reporting_group.group_sql…
- # when :count
- # return klass.count :group => @reporting_group.group_sql(@statement_o…
- # end
- # end
- end
-
-
- class CumulateReport < ReportsAsSparkline::Report
-
- def report(klass, options)
- CumulateReport.cumulate!(super(klass, options))
- end
-
- protected
- def self.cumulate!(data)
- last_item = 0
- data.collect{ |element|
- last_item += element[1].to_i
- [element[0], last_item]
- }
- end
-
- end
-
- module ClassMethods
- #
- # Examples:
- #
- # class Game < ActiveRecord::Base
- # report_as_sparkline :games_per_day
- # report :games_played_total, :cumulate => :games_played
- # end
- # class User < ActiveRecord::Base
- # report_as_sparkline :registrations, :operation => :count
- # report_as_sparkline :activations, :date_column => :activated_at, :oper…
- # report_as_sparkline :total_users_report, :cumulate => :registrations
- # end
- # class Rake < ActiveRecord::Base
- # report_as_sparkline :rake, :operation => :sum
- # end
- def report_as_sparkline(name, options = {})
- report = options[:cumulate] ? ReportsAsSparkline::CumulateReport.new(opt…
- (class << self; self; end).instance_eval {
- define_method "#{name.to_s}_report".to_sym do |*args|
- raise ArgumentError if args.size > 1
- options = args.first || {}
- raise ArgumentError unless options.is_a?(Hash)
- report.report(self, options)
- end
- }
- end
- end
-end
diff --git a/lib/reports_as_sparkline/report_cache.rb b/lib/reports_as_sparklin…
diff --git a/lib/reports_as_sparkline/version.rb b/lib/reports_as_sparkline/ver…
@@ -1,9 +0,0 @@
-module ReportsAsSparkline #:nodoc:
- module VERSION #:nodoc:
- MAJOR = 0
- MINOR = 0
- TINY = 1
-
- STRING = [MAJOR, MINOR, TINY].join('.')
- end
-end
diff --git a/lib/reports_as_sparkline/view_helpers.rb b/lib/reports_as_sparklin…
@@ -1,9 +0,0 @@
-module ReportsAsSparkline #:nodoc:
- module ViewHelper
- def sparkline_tag(data, options = {})
- options.reverse_merge!({:width => 300, :height => 34, :color => '0077CC'…
- data.collect! { |element| element[1].to_i }
- "<img src=\"http://chart.apis.google.com/chart?cht=ls&chs=#{options[:wid…
- end
- end
-end
-\ No newline at end of file
diff --git a/script/console b/script/console
@@ -1,10 +0,0 @@
-#!/usr/bin/env ruby
-# File: script/console
-irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
-
-libs = " -r irb/completion"
-# Perhaps use a console_lib to store any extra methods I may want available in…
-# libs << " -r #{File.dirname(__FILE__) + '/../lib/console_lib/console_logger.…
-libs << " -r #{File.dirname(__FILE__) + '/../lib/reports_as_sparkline.rb'}"
-puts "Loading reports_as_sparkline gem"
-exec "#{irb} #{libs} --simple-prompt"
-\ No newline at end of file
diff --git a/script/destroy b/script/destroy
@@ -1,14 +0,0 @@
-#!/usr/bin/env ruby
-APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
-
-begin
- require 'rubigen'
-rescue LoadError
- require 'rubygems'
- require 'rubigen'
-end
-require 'rubigen/scripts/destroy'
-
-ARGV.shift if ['--help', '-h'].include?(ARGV[0])
-RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test…
-RubiGen::Scripts::Destroy.new.run(ARGV)
diff --git a/script/generate b/script/generate
@@ -1,14 +0,0 @@
-#!/usr/bin/env ruby
-APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
-
-begin
- require 'rubigen'
-rescue LoadError
- require 'rubygems'
- require 'rubigen'
-end
-require 'rubigen/scripts/generate'
-
-ARGV.shift if ['--help', '-h'].include?(ARGV[0])
-RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test…
-RubiGen::Scripts::Generate.new.run(ARGV)
diff --git a/script/txt2html b/script/txt2html
@@ -1,82 +0,0 @@
-#!/usr/bin/env ruby
-
-GEM_NAME = 'reports_as_sparkline' # what ppl will type to install your gem
-RUBYFORGE_PROJECT = 'reports_as_sparkline'
-
-require 'rubygems'
-begin
- require 'newgem'
- require 'rubyforge'
-rescue LoadError
- puts "\n\nGenerating the website requires the newgem RubyGem"
- puts "Install: gem install newgem\n\n"
- exit(1)
-end
-require 'redcloth'
-require 'syntax/convertors/html'
-require 'erb'
-require File.dirname(__FILE__) + "/../lib/#{GEM_NAME}/version.rb"
-
-version = ReportsAsSparkline::VERSION::STRING
-download = "http://rubyforge.org/projects/#{RUBYFORGE_PROJECT}"
-
-def rubyforge_project_id
- RubyForge.new.autoconfig["group_ids"][RUBYFORGE_PROJECT]
-end
-
-class Fixnum
- def ordinal
- # teens
- return 'th' if (10..19).include?(self % 100)
- # others
- case self % 10
- when 1: return 'st'
- when 2: return 'nd'
- when 3: return 'rd'
- else return 'th'
- end
- end
-end
-
-class Time
- def pretty
- return "#{mday}#{mday.ordinal} #{strftime('%B')} #{year}"
- end
-end
-
-def convert_syntax(syntax, source)
- return Syntax::Convertors::HTML.for_syntax(syntax).convert(source).gsub(%r!^…
-end
-
-if ARGV.length >= 1
- src, template = ARGV
- template ||= File.join(File.dirname(__FILE__), '/../website/template.html.er…
-else
- puts("Usage: #{File.split($0).last} source.txt [template.html.erb] > output.…
- exit!
-end
-
-template = ERB.new(File.open(template).read)
-
-title = nil
-body = nil
-File.open(src) do |fsrc|
- title_text = fsrc.readline
- body_text_template = fsrc.read
- body_text = ERB.new(body_text_template).result(binding)
- syntax_items = []
- body_text.gsub!(%r!<(pre|code)[^>]*?syntax=['"]([^'"]+)[^>]*>(.*?)</\1>!m){
- ident = syntax_items.length
- element, syntax, source = $1, $2, $3
- syntax_items << "<#{element} class='syntax'>#{convert_syntax(syntax, sourc…
- "syntax-temp-#{ident}"
- }
- title = RedCloth.new(title_text).to_html.gsub(%r!<.*?>!,'').strip
- body = RedCloth.new(body_text).to_html
- body.gsub!(%r!(?:<pre><code>)?syntax-temp-(\d+)(?:</code></pre>)?!){ syntax_…
-end
-stat = File.stat(src)
-created = stat.ctime
-modified = stat.mtime
-
-$stdout << template.result(binding)
diff --git a/setup.rb b/setup.rb
@@ -1,1585 +0,0 @@
-#
-# setup.rb
-#
-# Copyright (c) 2000-2005 Minero Aoki
-#
-# This program is free software.
-# You can distribute/modify this program under the terms of
-# the GNU LGPL, Lesser General Public License version 2.1.
-#
-
-unless Enumerable.method_defined?(:map) # Ruby 1.4.6
- module Enumerable
- alias map collect
- end
-end
-
-unless File.respond_to?(:read) # Ruby 1.6
- def File.read(fname)
- open(fname) {|f|
- return f.read
- }
- end
-end
-
-unless Errno.const_defined?(:ENOTEMPTY) # Windows?
- module Errno
- class ENOTEMPTY
- # We do not raise this exception, implementation is not needed.
- end
- end
-end
-
-def File.binread(fname)
- open(fname, 'rb') {|f|
- return f.read
- }
-end
-
-# for corrupted Windows' stat(2)
-def File.dir?(path)
- File.directory?((path[-1,1] == '/') ? path : path + '/')
-end
-
-
-class ConfigTable
-
- include Enumerable
-
- def initialize(rbconfig)
- @rbconfig = rbconfig
- @items = []
- @table = {}
- # options
- @install_prefix = nil
- @config_opt = nil
- @verbose = true
- @no_harm = false
- end
-
- attr_accessor :install_prefix
- attr_accessor :config_opt
-
- attr_writer :verbose
-
- def verbose?
- @verbose
- end
-
- attr_writer :no_harm
-
- def no_harm?
- @no_harm
- end
-
- def [](key)
- lookup(key).resolve(self)
- end
-
- def []=(key, val)
- lookup(key).set val
- end
-
- def names
- @items.map {|i| i.name }
- end
-
- def each(&block)
- @items.each(&block)
- end
-
- def key?(name)
- @table.key?(name)
- end
-
- def lookup(name)
- @table[name] or setup_rb_error "no such config item: #{name}"
- end
-
- def add(item)
- @items.push item
- @table[item.name] = item
- end
-
- def remove(name)
- item = lookup(name)
- @items.delete_if {|i| i.name == name }
- @table.delete_if {|name, i| i.name == name }
- item
- end
-
- def load_script(path, inst = nil)
- if File.file?(path)
- MetaConfigEnvironment.new(self, inst).instance_eval File.read(path), path
- end
- end
-
- def savefile
- '.config'
- end
-
- def load_savefile
- begin
- File.foreach(savefile()) do |line|
- k, v = *line.split(/=/, 2)
- self[k] = v.strip
- end
- rescue Errno::ENOENT
- setup_rb_error $!.message + "\n#{File.basename($0)} config first"
- end
- end
-
- def save
- @items.each {|i| i.value }
- File.open(savefile(), 'w') {|f|
- @items.each do |i|
- f.printf "%s=%s\n", i.name, i.value if i.value? and i.value
- end
- }
- end
-
- def load_standard_entries
- standard_entries(@rbconfig).each do |ent|
- add ent
- end
- end
-
- def standard_entries(rbconfig)
- c = rbconfig
-
- rubypath = File.join(c['bindir'], c['ruby_install_name'] + c['EXEEXT'])
-
- major = c['MAJOR'].to_i
- minor = c['MINOR'].to_i
- teeny = c['TEENY'].to_i
- version = "#{major}.#{minor}"
-
- # ruby ver. >= 1.4.4?
- newpath_p = ((major >= 2) or
- ((major == 1) and
- ((minor >= 5) or
- ((minor == 4) and (teeny >= 4)))))
-
- if c['rubylibdir']
- # V > 1.6.3
- libruby = "#{c['prefix']}/lib/ruby"
- librubyver = c['rubylibdir']
- librubyverarch = c['archdir']
- siteruby = c['sitedir']
- siterubyver = c['sitelibdir']
- siterubyverarch = c['sitearchdir']
- elsif newpath_p
- # 1.4.4 <= V <= 1.6.3
- libruby = "#{c['prefix']}/lib/ruby"
- librubyver = "#{c['prefix']}/lib/ruby/#{version}"
- librubyverarch = "#{c['prefix']}/lib/ruby/#{version}/#{c['arch']}"
- siteruby = c['sitedir']
- siterubyver = "$siteruby/#{version}"
- siterubyverarch = "$siterubyver/#{c['arch']}"
- else
- # V < 1.4.4
- libruby = "#{c['prefix']}/lib/ruby"
- librubyver = "#{c['prefix']}/lib/ruby/#{version}"
- librubyverarch = "#{c['prefix']}/lib/ruby/#{version}/#{c['arch']}"
- siteruby = "#{c['prefix']}/lib/ruby/#{version}/site_ruby"
- siterubyver = siteruby
- siterubyverarch = "$siterubyver/#{c['arch']}"
- end
- parameterize = lambda {|path|
- path.sub(/\A#{Regexp.quote(c['prefix'])}/, '$prefix')
- }
-
- if arg = c['configure_args'].split.detect {|arg| /--with-make-prog=/ =~ ar…
- makeprog = arg.sub(/'/, '').split(/=/, 2)[1]
- else
- makeprog = 'make'
- end
-
- [
- ExecItem.new('installdirs', 'std/site/home',
- 'std: install under libruby; site: install under site_ruby;…
- {|val, table|
- case val
- when 'std'
- table['rbdir'] = '$librubyver'
- table['sodir'] = '$librubyverarch'
- when 'site'
- table['rbdir'] = '$siterubyver'
- table['sodir'] = '$siterubyverarch'
- when 'home'
- setup_rb_error '$HOME was not set' unless ENV['HOME']
- table['prefix'] = ENV['HOME']
- table['rbdir'] = '$libdir/ruby'
- table['sodir'] = '$libdir/ruby'
- end
- },
- PathItem.new('prefix', 'path', c['prefix'],
- 'path prefix of target environment'),
- PathItem.new('bindir', 'path', parameterize.call(c['bindir']),
- 'the directory for commands'),
- PathItem.new('libdir', 'path', parameterize.call(c['libdir']),
- 'the directory for libraries'),
- PathItem.new('datadir', 'path', parameterize.call(c['datadir']),
- 'the directory for shared data'),
- PathItem.new('mandir', 'path', parameterize.call(c['mandir']),
- 'the directory for man pages'),
- PathItem.new('sysconfdir', 'path', parameterize.call(c['sysconfdir']),
- 'the directory for system configuration files'),
- PathItem.new('localstatedir', 'path', parameterize.call(c['localstatedir…
- 'the directory for local state data'),
- PathItem.new('libruby', 'path', libruby,
- 'the directory for ruby libraries'),
- PathItem.new('librubyver', 'path', librubyver,
- 'the directory for standard ruby libraries'),
- PathItem.new('librubyverarch', 'path', librubyverarch,
- 'the directory for standard ruby extensions'),
- PathItem.new('siteruby', 'path', siteruby,
- 'the directory for version-independent aux ruby libraries'),
- PathItem.new('siterubyver', 'path', siterubyver,
- 'the directory for aux ruby libraries'),
- PathItem.new('siterubyverarch', 'path', siterubyverarch,
- 'the directory for aux ruby binaries'),
- PathItem.new('rbdir', 'path', '$siterubyver',
- 'the directory for ruby scripts'),
- PathItem.new('sodir', 'path', '$siterubyverarch',
- 'the directory for ruby extentions'),
- PathItem.new('rubypath', 'path', rubypath,
- 'the path to set to #! line'),
- ProgramItem.new('rubyprog', 'name', rubypath,
- 'the ruby program using for installation'),
- ProgramItem.new('makeprog', 'name', makeprog,
- 'the make program to compile ruby extentions'),
- SelectItem.new('shebang', 'all/ruby/never', 'ruby',
- 'shebang line (#!) editing mode'),
- BoolItem.new('without-ext', 'yes/no', 'no',
- 'does not compile/install ruby extentions')
- ]
- end
- private :standard_entries
-
- def load_multipackage_entries
- multipackage_entries().each do |ent|
- add ent
- end
- end
-
- def multipackage_entries
- [
- PackageSelectionItem.new('with', 'name,name...', '', 'ALL',
- 'package names that you want to install'),
- PackageSelectionItem.new('without', 'name,name...', '', 'NONE',
- 'package names that you do not want to install')
- ]
- end
- private :multipackage_entries
-
- ALIASES = {
- 'std-ruby' => 'librubyver',
- 'stdruby' => 'librubyver',
- 'rubylibdir' => 'librubyver',
- 'archdir' => 'librubyverarch',
- 'site-ruby-common' => 'siteruby', # For backward compatibility
- 'site-ruby' => 'siterubyver', # For backward compatibility
- 'bin-dir' => 'bindir',
- 'bin-dir' => 'bindir',
- 'rb-dir' => 'rbdir',
- 'so-dir' => 'sodir',
- 'data-dir' => 'datadir',
- 'ruby-path' => 'rubypath',
- 'ruby-prog' => 'rubyprog',
- 'ruby' => 'rubyprog',
- 'make-prog' => 'makeprog',
- 'make' => 'makeprog'
- }
-
- def fixup
- ALIASES.each do |ali, name|
- @table[ali] = @table[name]
- end
- @items.freeze
- @table.freeze
- @options_re = /\A--(#{@table.keys.join('|')})(?:=(.*))?\z/
- end
-
- def parse_opt(opt)
- m = @options_re.match(opt) or setup_rb_error "config: unknown option #{opt…
- m.to_a[1,2]
- end
-
- def dllext
- @rbconfig['DLEXT']
- end
-
- def value_config?(name)
- lookup(name).value?
- end
-
- class Item
- def initialize(name, template, default, desc)
- @name = name.freeze
- @template = template
- @value = default
- @default = default
- @description = desc
- end
-
- attr_reader :name
- attr_reader :description
-
- attr_accessor :default
- alias help_default default
-
- def help_opt
- "--#{@name}=#{@template}"
- end
-
- def value?
- true
- end
-
- def value
- @value
- end
-
- def resolve(table)
- @value.gsub(%r<\$([^/]+)>) { table[$1] }
- end
-
- def set(val)
- @value = check(val)
- end
-
- private
-
- def check(val)
- setup_rb_error "config: --#{name} requires argument" unless val
- val
- end
- end
-
- class BoolItem < Item
- def config_type
- 'bool'
- end
-
- def help_opt
- "--#{@name}"
- end
-
- private
-
- def check(val)
- return 'yes' unless val
- case val
- when /\Ay(es)?\z/i, /\At(rue)?\z/i then 'yes'
- when /\An(o)?\z/i, /\Af(alse)\z/i then 'no'
- else
- setup_rb_error "config: --#{@name} accepts only yes/no for argument"
- end
- end
- end
-
- class PathItem < Item
- def config_type
- 'path'
- end
-
- private
-
- def check(path)
- setup_rb_error "config: --#{@name} requires argument" unless path
- path[0,1] == '$' ? path : File.expand_path(path)
- end
- end
-
- class ProgramItem < Item
- def config_type
- 'program'
- end
- end
-
- class SelectItem < Item
- def initialize(name, selection, default, desc)
- super
- @ok = selection.split('/')
- end
-
- def config_type
- 'select'
- end
-
- private
-
- def check(val)
- unless @ok.include?(val.strip)
- setup_rb_error "config: use --#{@name}=#{@template} (#{val})"
- end
- val.strip
- end
- end
-
- class ExecItem < Item
- def initialize(name, selection, desc, &block)
- super name, selection, nil, desc
- @ok = selection.split('/')
- @action = block
- end
-
- def config_type
- 'exec'
- end
-
- def value?
- false
- end
-
- def resolve(table)
- setup_rb_error "$#{name()} wrongly used as option value"
- end
-
- undef set
-
- def evaluate(val, table)
- v = val.strip.downcase
- unless @ok.include?(v)
- setup_rb_error "invalid option --#{@name}=#{val} (use #{@template})"
- end
- @action.call v, table
- end
- end
-
- class PackageSelectionItem < Item
- def initialize(name, template, default, help_default, desc)
- super name, template, default, desc
- @help_default = help_default
- end
-
- attr_reader :help_default
-
- def config_type
- 'package'
- end
-
- private
-
- def check(val)
- unless File.dir?("packages/#{val}")
- setup_rb_error "config: no such package: #{val}"
- end
- val
- end
- end
-
- class MetaConfigEnvironment
- def initialize(config, installer)
- @config = config
- @installer = installer
- end
-
- def config_names
- @config.names
- end
-
- def config?(name)
- @config.key?(name)
- end
-
- def bool_config?(name)
- @config.lookup(name).config_type == 'bool'
- end
-
- def path_config?(name)
- @config.lookup(name).config_type == 'path'
- end
-
- def value_config?(name)
- @config.lookup(name).config_type != 'exec'
- end
-
- def add_config(item)
- @config.add item
- end
-
- def add_bool_config(name, default, desc)
- @config.add BoolItem.new(name, 'yes/no', default ? 'yes' : 'no', desc)
- end
-
- def add_path_config(name, default, desc)
- @config.add PathItem.new(name, 'path', default, desc)
- end
-
- def set_config_default(name, default)
- @config.lookup(name).default = default
- end
-
- def remove_config(name)
- @config.remove(name)
- end
-
- # For only multipackage
- def packages
- raise '[setup.rb fatal] multi-package metaconfig API packages() called f…
- @installer.packages
- end
-
- # For only multipackage
- def declare_packages(list)
- raise '[setup.rb fatal] multi-package metaconfig API declare_packages() …
- @installer.packages = list
- end
- end
-
-end # class ConfigTable
-
-
-# This module requires: #verbose?, #no_harm?
-module FileOperations
-
- def mkdir_p(dirname, prefix = nil)
- dirname = prefix + File.expand_path(dirname) if prefix
- $stderr.puts "mkdir -p #{dirname}" if verbose?
- return if no_harm?
-
- # Does not check '/', it's too abnormal.
- dirs = File.expand_path(dirname).split(%r<(?=/)>)
- if /\A[a-z]:\z/i =~ dirs[0]
- disk = dirs.shift
- dirs[0] = disk + dirs[0]
- end
- dirs.each_index do |idx|
- path = dirs[0..idx].join('')
- Dir.mkdir path unless File.dir?(path)
- end
- end
-
- def rm_f(path)
- $stderr.puts "rm -f #{path}" if verbose?
- return if no_harm?
- force_remove_file path
- end
-
- def rm_rf(path)
- $stderr.puts "rm -rf #{path}" if verbose?
- return if no_harm?
- remove_tree path
- end
-
- def remove_tree(path)
- if File.symlink?(path)
- remove_file path
- elsif File.dir?(path)
- remove_tree0 path
- else
- force_remove_file path
- end
- end
-
- def remove_tree0(path)
- Dir.foreach(path) do |ent|
- next if ent == '.'
- next if ent == '..'
- entpath = "#{path}/#{ent}"
- if File.symlink?(entpath)
- remove_file entpath
- elsif File.dir?(entpath)
- remove_tree0 entpath
- else
- force_remove_file entpath
- end
- end
- begin
- Dir.rmdir path
- rescue Errno::ENOTEMPTY
- # directory may not be empty
- end
- end
-
- def move_file(src, dest)
- force_remove_file dest
- begin
- File.rename src, dest
- rescue
- File.open(dest, 'wb') {|f|
- f.write File.binread(src)
- }
- File.chmod File.stat(src).mode, dest
- File.unlink src
- end
- end
-
- def force_remove_file(path)
- begin
- remove_file path
- rescue
- end
- end
-
- def remove_file(path)
- File.chmod 0777, path
- File.unlink path
- end
-
- def install(from, dest, mode, prefix = nil)
- $stderr.puts "install #{from} #{dest}" if verbose?
- return if no_harm?
-
- realdest = prefix ? prefix + File.expand_path(dest) : dest
- realdest = File.join(realdest, File.basename(from)) if File.dir?(realdest)
- str = File.binread(from)
- if diff?(str, realdest)
- verbose_off {
- rm_f realdest if File.exist?(realdest)
- }
- File.open(realdest, 'wb') {|f|
- f.write str
- }
- File.chmod mode, realdest
-
- File.open("#{objdir_root()}/InstalledFiles", 'a') {|f|
- if prefix
- f.puts realdest.sub(prefix, '')
- else
- f.puts realdest
- end
- }
- end
- end
-
- def diff?(new_content, path)
- return true unless File.exist?(path)
- new_content != File.binread(path)
- end
-
- def command(*args)
- $stderr.puts args.join(' ') if verbose?
- system(*args) or raise RuntimeError,
- "system(#{args.map{|a| a.inspect }.join(' ')}) failed"
- end
-
- def ruby(*args)
- command config('rubyprog'), *args
- end
-
- def make(task = nil)
- command(*[config('makeprog'), task].compact)
- end
-
- def extdir?(dir)
- File.exist?("#{dir}/MANIFEST") or File.exist?("#{dir}/extconf.rb")
- end
-
- def files_of(dir)
- Dir.open(dir) {|d|
- return d.select {|ent| File.file?("#{dir}/#{ent}") }
- }
- end
-
- DIR_REJECT = %w( . .. CVS SCCS RCS CVS.adm .svn )
-
- def directories_of(dir)
- Dir.open(dir) {|d|
- return d.select {|ent| File.dir?("#{dir}/#{ent}") } - DIR_REJECT
- }
- end
-
-end
-
-
-# This module requires: #srcdir_root, #objdir_root, #relpath
-module HookScriptAPI
-
- def get_config(key)
- @config[key]
- end
-
- alias config get_config
-
- # obsolete: use metaconfig to change configuration
- def set_config(key, val)
- @config[key] = val
- end
-
- #
- # srcdir/objdir (works only in the package directory)
- #
-
- def curr_srcdir
- "#{srcdir_root()}/#{relpath()}"
- end
-
- def curr_objdir
- "#{objdir_root()}/#{relpath()}"
- end
-
- def srcfile(path)
- "#{curr_srcdir()}/#{path}"
- end
-
- def srcexist?(path)
- File.exist?(srcfile(path))
- end
-
- def srcdirectory?(path)
- File.dir?(srcfile(path))
- end
-
- def srcfile?(path)
- File.file?(srcfile(path))
- end
-
- def srcentries(path = '.')
- Dir.open("#{curr_srcdir()}/#{path}") {|d|
- return d.to_a - %w(. ..)
- }
- end
-
- def srcfiles(path = '.')
- srcentries(path).select {|fname|
- File.file?(File.join(curr_srcdir(), path, fname))
- }
- end
-
- def srcdirectories(path = '.')
- srcentries(path).select {|fname|
- File.dir?(File.join(curr_srcdir(), path, fname))
- }
- end
-
-end
-
-
-class ToplevelInstaller
-
- Version = '3.4.1'
- Copyright = 'Copyright (c) 2000-2005 Minero Aoki'
-
- TASKS = [
- [ 'all', 'do config, setup, then install' ],
- [ 'config', 'saves your configurations' ],
- [ 'show', 'shows current configuration' ],
- [ 'setup', 'compiles ruby extentions and others' ],
- [ 'install', 'installs files' ],
- [ 'test', 'run all tests in test/' ],
- [ 'clean', "does `make clean' for each extention" ],
- [ 'distclean',"does `make distclean' for each extention" ]
- ]
-
- def ToplevelInstaller.invoke
- config = ConfigTable.new(load_rbconfig())
- config.load_standard_entries
- config.load_multipackage_entries if multipackage?
- config.fixup
- klass = (multipackage?() ? ToplevelInstallerMulti : ToplevelInstaller)
- klass.new(File.dirname($0), config).invoke
- end
-
- def ToplevelInstaller.multipackage?
- File.dir?(File.dirname($0) + '/packages')
- end
-
- def ToplevelInstaller.load_rbconfig
- if arg = ARGV.detect {|arg| /\A--rbconfig=/ =~ arg }
- ARGV.delete(arg)
- load File.expand_path(arg.split(/=/, 2)[1])
- $".push 'rbconfig.rb'
- else
- require 'rbconfig'
- end
- ::Config::CONFIG
- end
-
- def initialize(ardir_root, config)
- @ardir = File.expand_path(ardir_root)
- @config = config
- # cache
- @valid_task_re = nil
- end
-
- def config(key)
- @config[key]
- end
-
- def inspect
- "#<#{self.class} #{__id__()}>"
- end
-
- def invoke
- run_metaconfigs
- case task = parsearg_global()
- when nil, 'all'
- parsearg_config
- init_installers
- exec_config
- exec_setup
- exec_install
- else
- case task
- when 'config', 'test'
- ;
- when 'clean', 'distclean'
- @config.load_savefile if File.exist?(@config.savefile)
- else
- @config.load_savefile
- end
- __send__ "parsearg_#{task}"
- init_installers
- __send__ "exec_#{task}"
- end
- end
-
- def run_metaconfigs
- @config.load_script "#{@ardir}/metaconfig"
- end
-
- def init_installers
- @installer = Installer.new(@config, @ardir, File.expand_path('.'))
- end
-
- #
- # Hook Script API bases
- #
-
- def srcdir_root
- @ardir
- end
-
- def objdir_root
- '.'
- end
-
- def relpath
- '.'
- end
-
- #
- # Option Parsing
- #
-
- def parsearg_global
- while arg = ARGV.shift
- case arg
- when /\A\w+\z/
- setup_rb_error "invalid task: #{arg}" unless valid_task?(arg)
- return arg
- when '-q', '--quiet'
- @config.verbose = false
- when '--verbose'
- @config.verbose = true
- when '--help'
- print_usage $stdout
- exit 0
- when '--version'
- puts "#{File.basename($0)} version #{Version}"
- exit 0
- when '--copyright'
- puts Copyright
- exit 0
- else
- setup_rb_error "unknown global option '#{arg}'"
- end
- end
- nil
- end
-
- def valid_task?(t)
- valid_task_re() =~ t
- end
-
- def valid_task_re
- @valid_task_re ||= /\A(?:#{TASKS.map {|task,desc| task }.join('|')})\z/
- end
-
- def parsearg_no_options
- unless ARGV.empty?
- task = caller(0).first.slice(%r<`parsearg_(\w+)'>, 1)
- setup_rb_error "#{task}: unknown options: #{ARGV.join(' ')}"
- end
- end
-
- alias parsearg_show parsearg_no_options
- alias parsearg_setup parsearg_no_options
- alias parsearg_test parsearg_no_options
- alias parsearg_clean parsearg_no_options
- alias parsearg_distclean parsearg_no_options
-
- def parsearg_config
- evalopt = []
- set = []
- @config.config_opt = []
- while i = ARGV.shift
- if /\A--?\z/ =~ i
- @config.config_opt = ARGV.dup
- break
- end
- name, value = *@config.parse_opt(i)
- if @config.value_config?(name)
- @config[name] = value
- else
- evalopt.push [name, value]
- end
- set.push name
- end
- evalopt.each do |name, value|
- @config.lookup(name).evaluate value, @config
- end
- # Check if configuration is valid
- set.each do |n|
- @config[n] if @config.value_config?(n)
- end
- end
-
- def parsearg_install
- @config.no_harm = false
- @config.install_prefix = ''
- while a = ARGV.shift
- case a
- when '--no-harm'
- @config.no_harm = true
- when /\A--prefix=/
- path = a.split(/=/, 2)[1]
- path = File.expand_path(path) unless path[0,1] == '/'
- @config.install_prefix = path
- else
- setup_rb_error "install: unknown option #{a}"
- end
- end
- end
-
- def print_usage(out)
- out.puts 'Typical Installation Procedure:'
- out.puts " $ ruby #{File.basename $0} config"
- out.puts " $ ruby #{File.basename $0} setup"
- out.puts " # ruby #{File.basename $0} install (may require root privilege…
- out.puts
- out.puts 'Detailed Usage:'
- out.puts " ruby #{File.basename $0} <global option>"
- out.puts " ruby #{File.basename $0} [<global options>] <task> [<task opti…
-
- fmt = " %-24s %s\n"
- out.puts
- out.puts 'Global options:'
- out.printf fmt, '-q,--quiet', 'suppress message outputs'
- out.printf fmt, ' --verbose', 'output messages verbosely'
- out.printf fmt, ' --help', 'print this message'
- out.printf fmt, ' --version', 'print version and quit'
- out.printf fmt, ' --copyright', 'print copyright and quit'
- out.puts
- out.puts 'Tasks:'
- TASKS.each do |name, desc|
- out.printf fmt, name, desc
- end
-
- fmt = " %-24s %s [%s]\n"
- out.puts
- out.puts 'Options for CONFIG or ALL:'
- @config.each do |item|
- out.printf fmt, item.help_opt, item.description, item.help_default
- end
- out.printf fmt, '--rbconfig=path', 'rbconfig.rb to load',"running ruby's"
- out.puts
- out.puts 'Options for INSTALL:'
- out.printf fmt, '--no-harm', 'only display what to do if given', 'off'
- out.printf fmt, '--prefix=path', 'install path prefix', ''
- out.puts
- end
-
- #
- # Task Handlers
- #
-
- def exec_config
- @installer.exec_config
- @config.save # must be final
- end
-
- def exec_setup
- @installer.exec_setup
- end
-
- def exec_install
- @installer.exec_install
- end
-
- def exec_test
- @installer.exec_test
- end
-
- def exec_show
- @config.each do |i|
- printf "%-20s %s\n", i.name, i.value if i.value?
- end
- end
-
- def exec_clean
- @installer.exec_clean
- end
-
- def exec_distclean
- @installer.exec_distclean
- end
-
-end # class ToplevelInstaller
-
-
-class ToplevelInstallerMulti < ToplevelInstaller
-
- include FileOperations
-
- def initialize(ardir_root, config)
- super
- @packages = directories_of("#{@ardir}/packages")
- raise 'no package exists' if @packages.empty?
- @root_installer = Installer.new(@config, @ardir, File.expand_path('.'))
- end
-
- def run_metaconfigs
- @config.load_script "#{@ardir}/metaconfig", self
- @packages.each do |name|
- @config.load_script "#{@ardir}/packages/#{name}/metaconfig"
- end
- end
-
- attr_reader :packages
-
- def packages=(list)
- raise 'package list is empty' if list.empty?
- list.each do |name|
- raise "directory packages/#{name} does not exist"\
- unless File.dir?("#{@ardir}/packages/#{name}")
- end
- @packages = list
- end
-
- def init_installers
- @installers = {}
- @packages.each do |pack|
- @installers[pack] = Installer.new(@config,
- "#{@ardir}/packages/#{pack}",
- "packages/#{pack}")
- end
- with = extract_selection(config('with'))
- without = extract_selection(config('without'))
- @selected = @installers.keys.select {|name|
- (with.empty? or with.include?(name)) \
- and not without.include?(name)
- }
- end
-
- def extract_selection(list)
- a = list.split(/,/)
- a.each do |name|
- setup_rb_error "no such package: #{name}" unless @installers.key?(name)
- end
- a
- end
-
- def print_usage(f)
- super
- f.puts 'Inluded packages:'
- f.puts ' ' + @packages.sort.join(' ')
- f.puts
- end
-
- #
- # Task Handlers
- #
-
- def exec_config
- run_hook 'pre-config'
- each_selected_installers {|inst| inst.exec_config }
- run_hook 'post-config'
- @config.save # must be final
- end
-
- def exec_setup
- run_hook 'pre-setup'
- each_selected_installers {|inst| inst.exec_setup }
- run_hook 'post-setup'
- end
-
- def exec_install
- run_hook 'pre-install'
- each_selected_installers {|inst| inst.exec_install }
- run_hook 'post-install'
- end
-
- def exec_test
- run_hook 'pre-test'
- each_selected_installers {|inst| inst.exec_test }
- run_hook 'post-test'
- end
-
- def exec_clean
- rm_f @config.savefile
- run_hook 'pre-clean'
- each_selected_installers {|inst| inst.exec_clean }
- run_hook 'post-clean'
- end
-
- def exec_distclean
- rm_f @config.savefile
- run_hook 'pre-distclean'
- each_selected_installers {|inst| inst.exec_distclean }
- run_hook 'post-distclean'
- end
-
- #
- # lib
- #
-
- def each_selected_installers
- Dir.mkdir 'packages' unless File.dir?('packages')
- @selected.each do |pack|
- $stderr.puts "Processing the package `#{pack}' ..." if verbose?
- Dir.mkdir "packages/#{pack}" unless File.dir?("packages/#{pack}")
- Dir.chdir "packages/#{pack}"
- yield @installers[pack]
- Dir.chdir '../..'
- end
- end
-
- def run_hook(id)
- @root_installer.run_hook id
- end
-
- # module FileOperations requires this
- def verbose?
- @config.verbose?
- end
-
- # module FileOperations requires this
- def no_harm?
- @config.no_harm?
- end
-
-end # class ToplevelInstallerMulti
-
-
-class Installer
-
- FILETYPES = %w( bin lib ext data conf man )
-
- include FileOperations
- include HookScriptAPI
-
- def initialize(config, srcroot, objroot)
- @config = config
- @srcdir = File.expand_path(srcroot)
- @objdir = File.expand_path(objroot)
- @currdir = '.'
- end
-
- def inspect
- "#<#{self.class} #{File.basename(@srcdir)}>"
- end
-
- def noop(rel)
- end
-
- #
- # Hook Script API base methods
- #
-
- def srcdir_root
- @srcdir
- end
-
- def objdir_root
- @objdir
- end
-
- def relpath
- @currdir
- end
-
- #
- # Config Access
- #
-
- # module FileOperations requires this
- def verbose?
- @config.verbose?
- end
-
- # module FileOperations requires this
- def no_harm?
- @config.no_harm?
- end
-
- def verbose_off
- begin
- save, @config.verbose = @config.verbose?, false
- yield
- ensure
- @config.verbose = save
- end
- end
-
- #
- # TASK config
- #
-
- def exec_config
- exec_task_traverse 'config'
- end
-
- alias config_dir_bin noop
- alias config_dir_lib noop
-
- def config_dir_ext(rel)
- extconf if extdir?(curr_srcdir())
- end
-
- alias config_dir_data noop
- alias config_dir_conf noop
- alias config_dir_man noop
-
- def extconf
- ruby "#{curr_srcdir()}/extconf.rb", *@config.config_opt
- end
-
- #
- # TASK setup
- #
-
- def exec_setup
- exec_task_traverse 'setup'
- end
-
- def setup_dir_bin(rel)
- files_of(curr_srcdir()).each do |fname|
- update_shebang_line "#{curr_srcdir()}/#{fname}"
- end
- end
-
- alias setup_dir_lib noop
-
- def setup_dir_ext(rel)
- make if extdir?(curr_srcdir())
- end
-
- alias setup_dir_data noop
- alias setup_dir_conf noop
- alias setup_dir_man noop
-
- def update_shebang_line(path)
- return if no_harm?
- return if config('shebang') == 'never'
- old = Shebang.load(path)
- if old
- $stderr.puts "warning: #{path}: Shebang line includes too many args. It…
- new = new_shebang(old)
- return if new.to_s == old.to_s
- else
- return unless config('shebang') == 'all'
- new = Shebang.new(config('rubypath'))
- end
- $stderr.puts "updating shebang: #{File.basename(path)}" if verbose?
- open_atomic_writer(path) {|output|
- File.open(path, 'rb') {|f|
- f.gets if old # discard
- output.puts new.to_s
- output.print f.read
- }
- }
- end
-
- def new_shebang(old)
- if /\Aruby/ =~ File.basename(old.cmd)
- Shebang.new(config('rubypath'), old.args)
- elsif File.basename(old.cmd) == 'env' and old.args.first == 'ruby'
- Shebang.new(config('rubypath'), old.args[1..-1])
- else
- return old unless config('shebang') == 'all'
- Shebang.new(config('rubypath'))
- end
- end
-
- def open_atomic_writer(path, &block)
- tmpfile = File.basename(path) + '.tmp'
- begin
- File.open(tmpfile, 'wb', &block)
- File.rename tmpfile, File.basename(path)
- ensure
- File.unlink tmpfile if File.exist?(tmpfile)
- end
- end
-
- class Shebang
- def Shebang.load(path)
- line = nil
- File.open(path) {|f|
- line = f.gets
- }
- return nil unless /\A#!/ =~ line
- parse(line)
- end
-
- def Shebang.parse(line)
- cmd, *args = *line.strip.sub(/\A\#!/, '').split(' ')
- new(cmd, args)
- end
-
- def initialize(cmd, args = [])
- @cmd = cmd
- @args = args
- end
-
- attr_reader :cmd
- attr_reader :args
-
- def to_s
- "#! #{@cmd}" + (@args.empty? ? '' : " #{@args.join(' ')}")
- end
- end
-
- #
- # TASK install
- #
-
- def exec_install
- rm_f 'InstalledFiles'
- exec_task_traverse 'install'
- end
-
- def install_dir_bin(rel)
- install_files targetfiles(), "#{config('bindir')}/#{rel}", 0755
- end
-
- def install_dir_lib(rel)
- install_files libfiles(), "#{config('rbdir')}/#{rel}", 0644
- end
-
- def install_dir_ext(rel)
- return unless extdir?(curr_srcdir())
- install_files rubyextentions('.'),
- "#{config('sodir')}/#{File.dirname(rel)}",
- 0555
- end
-
- def install_dir_data(rel)
- install_files targetfiles(), "#{config('datadir')}/#{rel}", 0644
- end
-
- def install_dir_conf(rel)
- # FIXME: should not remove current config files
- # (rename previous file to .old/.org)
- install_files targetfiles(), "#{config('sysconfdir')}/#{rel}", 0644
- end
-
- def install_dir_man(rel)
- install_files targetfiles(), "#{config('mandir')}/#{rel}", 0644
- end
-
- def install_files(list, dest, mode)
- mkdir_p dest, @config.install_prefix
- list.each do |fname|
- install fname, dest, mode, @config.install_prefix
- end
- end
-
- def libfiles
- glob_reject(%w(*.y *.output), targetfiles())
- end
-
- def rubyextentions(dir)
- ents = glob_select("*.#{@config.dllext}", targetfiles())
- if ents.empty?
- setup_rb_error "no ruby extention exists: 'ruby #{$0} setup' first"
- end
- ents
- end
-
- def targetfiles
- mapdir(existfiles() - hookfiles())
- end
-
- def mapdir(ents)
- ents.map {|ent|
- if File.exist?(ent)
- then ent # objdir
- else "#{curr_srcdir()}/#{ent}" # srcdir
- end
- }
- end
-
- # picked up many entries from cvs-1.11.1/src/ignore.c
- JUNK_FILES = %w(
- core RCSLOG tags TAGS .make.state
- .nse_depinfo #* .#* cvslog.* ,* .del-* *.olb
- *~ *.old *.bak *.BAK *.orig *.rej _$* *$
-
- *.org *.in .*
- )
-
- def existfiles
- glob_reject(JUNK_FILES, (files_of(curr_srcdir()) | files_of('.')))
- end
-
- def hookfiles
- %w( pre-%s post-%s pre-%s.rb post-%s.rb ).map {|fmt|
- %w( config setup install clean ).map {|t| sprintf(fmt, t) }
- }.flatten
- end
-
- def glob_select(pat, ents)
- re = globs2re([pat])
- ents.select {|ent| re =~ ent }
- end
-
- def glob_reject(pats, ents)
- re = globs2re(pats)
- ents.reject {|ent| re =~ ent }
- end
-
- GLOB2REGEX = {
- '.' => '\.',
- '$' => '\$',
- '#' => '\#',
- '*' => '.*'
- }
-
- def globs2re(pats)
- /\A(?:#{
- pats.map {|pat| pat.gsub(/[\.\$\#\*]/) {|ch| GLOB2REGEX[ch] } }.join('|')
- })\z/
- end
-
- #
- # TASK test
- #
-
- TESTDIR = 'test'
-
- def exec_test
- unless File.directory?('test')
- $stderr.puts 'no test in this package' if verbose?
- return
- end
- $stderr.puts 'Running tests...' if verbose?
- begin
- require 'test/unit'
- rescue LoadError
- setup_rb_error 'test/unit cannot loaded. You need Ruby 1.8 or later to …
- end
- runner = Test::Unit::AutoRunner.new(true)
- runner.to_run << TESTDIR
- runner.run
- end
-
- #
- # TASK clean
- #
-
- def exec_clean
- exec_task_traverse 'clean'
- rm_f @config.savefile
- rm_f 'InstalledFiles'
- end
-
- alias clean_dir_bin noop
- alias clean_dir_lib noop
- alias clean_dir_data noop
- alias clean_dir_conf noop
- alias clean_dir_man noop
-
- def clean_dir_ext(rel)
- return unless extdir?(curr_srcdir())
- make 'clean' if File.file?('Makefile')
- end
-
- #
- # TASK distclean
- #
-
- def exec_distclean
- exec_task_traverse 'distclean'
- rm_f @config.savefile
- rm_f 'InstalledFiles'
- end
-
- alias distclean_dir_bin noop
- alias distclean_dir_lib noop
-
- def distclean_dir_ext(rel)
- return unless extdir?(curr_srcdir())
- make 'distclean' if File.file?('Makefile')
- end
-
- alias distclean_dir_data noop
- alias distclean_dir_conf noop
- alias distclean_dir_man noop
-
- #
- # Traversing
- #
-
- def exec_task_traverse(task)
- run_hook "pre-#{task}"
- FILETYPES.each do |type|
- if type == 'ext' and config('without-ext') == 'yes'
- $stderr.puts 'skipping ext/* by user option' if verbose?
- next
- end
- traverse task, type, "#{task}_dir_#{type}"
- end
- run_hook "post-#{task}"
- end
-
- def traverse(task, rel, mid)
- dive_into(rel) {
- run_hook "pre-#{task}"
- __send__ mid, rel.sub(%r[\A.*?(?:/|\z)], '')
- directories_of(curr_srcdir()).each do |d|
- traverse task, "#{rel}/#{d}", mid
- end
- run_hook "post-#{task}"
- }
- end
-
- def dive_into(rel)
- return unless File.dir?("#{@srcdir}/#{rel}")
-
- dir = File.basename(rel)
- Dir.mkdir dir unless File.dir?(dir)
- prevdir = Dir.pwd
- Dir.chdir dir
- $stderr.puts '---> ' + rel if verbose?
- @currdir = rel
- yield
- Dir.chdir prevdir
- $stderr.puts '<--- ' + rel if verbose?
- @currdir = File.dirname(rel)
- end
-
- def run_hook(id)
- path = [ "#{curr_srcdir()}/#{id}",
- "#{curr_srcdir()}/#{id}.rb" ].detect {|cand| File.file?(cand) }
- return unless path
- begin
- instance_eval File.read(path), path, 1
- rescue
- raise if $DEBUG
- setup_rb_error "hook #{path} failed:\n" + $!.message
- end
- end
-
-end # class Installer
-
-
-class SetupError < StandardError; end
-
-def setup_rb_error(msg)
- raise SetupError, msg
-end
-
-if $0 == __FILE__
- begin
- ToplevelInstaller.invoke
- rescue SetupError
- raise if $DEBUG
- $stderr.puts $!.message
- $stderr.puts "Try 'ruby #{$0} --help' for detailed usage."
- exit 1
- end
-end
diff --git a/spec/boot.rb b/spec/boot.rb
@@ -1,23 +1,23 @@
plugin_root = File.join(File.dirname(__FILE__), '..')
-version = ENV['RAILS_VERSION']
-version = nil if version and version == ""
-# first look for a symlink to a copy of the framework
-if !version and framework_root = ["#{plugin_root}/rails", "#{plugin_root}/../.…
- puts "found framework root: #{framework_root}"
- # this allows for a plugin to be tested outside of an app and without Rails …
- $:.unshift "#{framework_root}/activesupport/lib", "#{framework_root}/activer…
-else
- # simply use installed gems if available
- puts "using Rails#{version ? ' ' + version : nil} gems"
- require 'rubygems'
-
- if version
- gem 'rails', version
- else
- gem 'actionpack'
- gem 'activerecord'
- end
- require 'active_record'
- require 'action_pack'
-end
+require 'rubygems'
+gem 'rails'
+require 'activerecord'
+require 'active_support'
+require 'action_controller'
+require 'action_view'
+
+$:.unshift "#{plugin_root}/lib"
+
+RAILS_ROOT = File.expand_path(File.dirname(__FILE__) + '/../')
+Rails::Initializer.run(:set_load_path)
+Rails::Initializer.run(:set_autoload_paths)
+
+require File.join(File.dirname(__FILE__), '/../init.rb')
+
+ActiveRecord::Base.logger = Logger.new(File.join(File.dirname(__FILE__), 'log'…
+
+databases = YAML::load(IO.read(File.join(File.dirname(__FILE__), 'db', 'databa…
+# TODO: connect to test database of rails project if exists
+ActiveRecord::Base.establish_connection(databases['sqlite3'])
+load(File.join(File.dirname(__FILE__), 'db', 'schema.rb'))
diff --git a/spec/db/database.yml b/spec/db/database.yml
@@ -1,11 +1,3 @@
sqlite3:
- database: ":memory:"
- adapter: sqlite3
- timeout: 500
-
-mysql:
- adapter: mysql
- username: root
- password:
- encoding: utf8
- database: reports_as_sparkline_test
+ :adapter: sqlite3
+ :dbfile: spec/db/reports_as_sparkline.sqlite3.db
+\ No newline at end of file
diff --git a/spec/db/reports_as_sparkline.sqlite3.db b/spec/db/reports_as_spark…
Binary files differ.
diff --git a/spec/db/schema.rb b/spec/db/schema.rb
@@ -1,17 +1,20 @@
ActiveRecord::Schema.define(:version => 1) do
+
create_table :users, :force => true do |t|
- t.string :login, :string
+ t.string :login, :null => false
+ t.integer :profile_visits, :null => false, :default => 0
+
t.timestamps
end
-
+
create_table :report_caches, :force => true do |t|
- t.string :model_name
- t.string :report_name
- t.string :report_range
- t.float :value
- t.datetime :start
-
+ t.string :model_name, :null => false
+ t.string :report_name, :null => false
+ t.string :report_range, :null => false
+ t.float :value, :null => false
+
t.timestamps
end
- add_index :report_caches, [:model_name, :report_name, :report_range, :start]…
+ add_index :report_caches, [:model_name, :report_name, :report_range], :uniqu…
+
end
diff --git a/spec/fixtures/users.yml b/spec/fixtures/users.yml
@@ -1,2 +0,0 @@
-mk:
- login: mk
-\ No newline at end of file
diff --git a/spec/log/spec.log b/spec/log/spec.log
@@ -0,0 +1,5374 @@
+# Logfile created on Tue Nov 25 13:09:56 +0100 2008 by /
+ SQL (0.000195) select sqlite_version(*)
+ SQL (0.000200)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.130689) CREATE TABLE "users" ("id" INTEGER PRIMA…
+ SQL (0.000529)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.156070) CREATE TABLE "schema_migrations" ("versi…
+ SQL (0.042967) CREATE UNIQUE INDEX "unique_schema_migrati…
+ SQL (0.000496)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000938) SELECT version FROM "schema_migrations"
+ SQL (0.030870) INSERT INTO "schema_migrations" (version…
+ SQL (0.000203) select sqlite_version(*)
+ SQL (0.000790)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002735) DROP TABLE "users"
+ SQL (0.002373) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000494)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000262) SELECT version FROM "schema_migrations"
+ SQL (0.000197) select sqlite_version(*)
+ SQL (0.000193)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.113255) CREATE TABLE "users" ("id" INTEGER PRIMA…
+ SQL (0.000423)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.049599) CREATE TABLE "schema_migrations" ("versi…
+ SQL (0.043055) CREATE UNIQUE INDEX "unique_schema_migrati…
+ SQL (0.000481)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000154) SELECT version FROM "schema_migrations"
+ SQL (0.002476) INSERT INTO "schema_migrations" (version…
+ SQL (0.000193) select sqlite_version(*)
+ SQL (0.000437)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002494) DROP TABLE "users"
+ SQL (0.002645) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000614)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002702) CREATE TABLE "schema_migrations" ("version…
+ SQL (0.003589) CREATE UNIQUE INDEX "unique_schema_migra…
+ SQL (0.000759)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000272) SELECT version FROM "schema_info"
+ SQL (0.000164) SELECT version FROM "schema_migrations"
+ SQL (0.002470) INSERT INTO "schema_migrations" (version…
+ SQL (0.002663) DROP TABLE "schema_info"
+ SQL (0.000451) SELECT version FROM "schema_migrations"…
+ SQL (0.000202) select sqlite_version(*)
+ SQL (0.000388)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002168) DROP TABLE "users"
+ SQL (0.002176) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000632)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000272) SELECT version FROM "schema_migrations"
+ SQL (0.000196) select sqlite_version(*)
+ SQL (0.000407)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.136309) DROP TABLE "users"
+ SQL (0.203528) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000531)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000230) SELECT version FROM "schema_migrations"
+ SQL (0.000219) select sqlite_version(*)
+ SQL (0.000395)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.143138) DROP TABLE "users"
+ SQL (0.050053) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000537)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000246) SELECT version FROM "schema_migrations"
+ SQL (0.000279)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000205)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000193)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000197)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000215)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000305)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000190)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000195) select sqlite_version(*)
+ SQL (0.000389)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.167500) DROP TABLE "users"
+ SQL (0.119494) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000473)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000315) SELECT version FROM "schema_migrations"
+ SQL (0.000281)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000199)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000196)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000198)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000191)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000247)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000187)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000192) select sqlite_version(*)
+ SQL (0.000449)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.101556) DROP TABLE "users"
+ SQL (0.165694) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000499)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000260) SELECT version FROM "schema_migrations"
+ SQL (0.000282)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000202)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000191)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000202)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000191)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000261)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000195)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000198) select sqlite_version(*)
+ SQL (0.000400)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.114842) DROP TABLE "users"
+ SQL (0.071550) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000481)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000256) SELECT version FROM "schema_migrations"
+ SQL (0.000282)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000202)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000193)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000202)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000189)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000250)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000187)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000191) select sqlite_version(*)
+ SQL (0.000391)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.154867) DROP TABLE "users"
+ SQL (0.119335) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000439)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000517) SELECT version FROM "schema_migrations"
+ SQL (0.000281)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000229)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000244)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000195)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000190)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000243)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000192)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000194) select sqlite_version(*)
+ SQL (0.000401)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002474) DROP TABLE "users"
+ SQL (0.002595) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000532)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000256) SELECT version FROM "schema_migrations"
+ SQL (0.000280)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000217)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000196)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000191)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000188)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000246)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000190)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000201) select sqlite_version(*)
+ SQL (0.000394)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002396) DROP TABLE "users"
+ SQL (0.002483) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000679)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000282) SELECT version FROM "schema_migrations"
+ SQL (0.000283)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000201)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000192)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000189)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000187)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000252)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000190)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000250) select sqlite_version(*)
+ SQL (0.000488)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.028075) DROP TABLE "users"
+ SQL (0.039741) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000632)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000249) SELECT version FROM "schema_migrations"
+ SQL (0.000280)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000199)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000191)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000195)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000188)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000250)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000185)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000200) select sqlite_version(*)
+ SQL (0.000391)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002566) DROP TABLE "users"
+ SQL (0.002494) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000691)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000280) SELECT version FROM "schema_migrations"
+ SQL (0.000282)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000203)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000191)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000189)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000188)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000245)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000197)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000193) select sqlite_version(*)
+ SQL (0.000399)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002392) DROP TABLE "users"
+ SQL (0.002447) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000516)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000240) SELECT version FROM "schema_migrations"
+ SQL (0.000279)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000203)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000193)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000191)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000199)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000247)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000186)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000192) select sqlite_version(*)
+ SQL (0.000390)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002551) DROP TABLE "users"
+ SQL (0.002573) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000729)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000244) SELECT version FROM "schema_migrations"
+ SQL (0.000282)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000217)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000255)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000194)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000187)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000238)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000435)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000194) select sqlite_version(*)
+ SQL (0.000397)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002577) DROP TABLE "users"
+ SQL (0.002594) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000593)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000275) SELECT version FROM "schema_migrations"
+ SQL (0.000294)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000205)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000191)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000191)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000186)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000267)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000187)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000196) select sqlite_version(*)
+ SQL (0.002485)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.110078) DROP TABLE "users"
+ SQL (0.002020) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000753)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000351) SELECT version FROM "schema_migrations"
+ SQL (0.000192) select sqlite_version(*)
+ SQL (0.000398)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002572) DROP TABLE "users"
+ SQL (0.002536) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000463)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000258) SELECT version FROM "schema_migrations"
+ SQL (0.000283)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000227)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000259)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000198)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000191)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000250)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000191)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000191) select sqlite_version(*)
+ SQL (0.000402)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002386) DROP TABLE "users"
+ SQL (0.002414) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000492)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000280) SELECT version FROM "schema_migrations"
+ SQL (0.000195) select sqlite_version(*)
+ SQL (0.000430)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.161835) DROP TABLE "users"
+ SQL (0.073018) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000887)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000256) SELECT version FROM "schema_migrations"
+ SQL (0.000279)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000203)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000190)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000192)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000196)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000248)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000188)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000195) select sqlite_version(*)
+ SQL (0.000400)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002974) DROP TABLE "users"
+ SQL (0.002343) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000639)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000249) SELECT version FROM "schema_migrations"
+ SQL (0.000191) select sqlite_version(*)
+ SQL (0.000398)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002551) DROP TABLE "users"
+ SQL (0.002971) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000466)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000272) SELECT version FROM "schema_migrations"
+ SQL (0.000207) select sqlite_version(*)
+ SQL (0.000405)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002719) DROP TABLE "users"
+ SQL (0.002838) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000655)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000297) SELECT version FROM "schema_migrations"
+ SQL (0.000206) select sqlite_version(*)
+ SQL (0.000396)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002486) DROP TABLE "users"
+ SQL (0.002475) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.001113)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000318) SELECT version FROM "schema_migrations"
+ SQL (0.000212) select sqlite_version(*)
+ SQL (0.000445)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.107852) DROP TABLE "users"
+ SQL (0.178375) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000464)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000293) SELECT version FROM "schema_migrations"
+ SQL (0.000203) select sqlite_version(*)
+ SQL (0.000507)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002954) DROP TABLE "users"
+ SQL (0.002467) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.001057)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000339) SELECT version FROM "schema_migrations"
+ SQL (0.000219) select sqlite_version(*)
+ SQL (0.000396)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002554) DROP TABLE "users"
+ SQL (0.002544) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.001125)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000273) SELECT version FROM "schema_migrations"
+ SQL (0.000208) select sqlite_version(*)
+ SQL (0.000400)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.010185) DROP TABLE "users"
+ SQL (0.044618) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.001051)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000396) SELECT version FROM "schema_migrations"
+ SQL (0.000209) select sqlite_version(*)
+ SQL (0.000398)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.103184) DROP TABLE "users"
+ SQL (0.006087) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000375)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000206) SELECT version FROM "schema_migrations"
+ SQL (0.000205) select sqlite_version(*)
+ SQL (0.000391)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002253) DROP TABLE "users"
+ SQL (0.002628) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000957)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000286) SELECT version FROM "schema_migrations"
+ SQL (0.000207) select sqlite_version(*)
+ SQL (0.000403)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002686) DROP TABLE "users"
+ SQL (0.002755) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.001035)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000288) SELECT version FROM "schema_migrations"
+ SQL (0.000229) select sqlite_version(*)
+ SQL (0.000425)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.023399) DROP TABLE "users"
+ SQL (0.041699) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000379)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000230) SELECT version FROM "schema_migrations"
+ SQL (0.000209) select sqlite_version(*)
+ SQL (0.000411)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.006584) DROP TABLE "users"
+ SQL (0.002325) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.001805)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000302) SELECT version FROM "schema_migrations"
+ SQL (0.000311)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000247)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000206) select sqlite_version(*)
+ SQL (0.000390)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002769) DROP TABLE "users"
+ SQL (0.002440) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000831)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000300) SELECT version FROM "schema_migrations"
+ SQL (0.000213) select sqlite_version(*)
+ SQL (0.000394)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002527) DROP TABLE "users"
+ SQL (0.002397) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.001101)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.001377) SELECT version FROM "schema_migrations"
+ SQL (0.000204) select sqlite_version(*)
+ SQL (0.000394)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002641) DROP TABLE "users"
+ SQL (0.002550) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000905)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000281) SELECT version FROM "schema_migrations"
+ SQL (0.000258) select sqlite_version(*)
+ SQL (0.000401)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002491) DROP TABLE "users"
+ SQL (0.002883) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000571)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.001188) SELECT version FROM "schema_migrations"
+ SQL (0.000212) select sqlite_version(*)
+ SQL (0.000395)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.154304) DROP TABLE "users"
+ SQL (0.180883) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000999)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000371) SELECT version FROM "schema_migrations"
+ SQL (0.000205) select sqlite_version(*)
+ SQL (0.000394)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003127) DROP TABLE "users"
+ SQL (0.002800) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000990)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.001560) SELECT version FROM "schema_migrations"
+ SQL (0.000209) select sqlite_version(*)
+ SQL (0.000399)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002505) DROP TABLE "users"
+ SQL (0.002403) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.001210)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000256) SELECT version FROM "schema_migrations"
+ SQL (0.000266) select sqlite_version(*)
+ SQL (0.000691)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002461) DROP TABLE "users"
+ SQL (0.002180) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000387)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.001042) SELECT version FROM "schema_migrations"
+ SQL (0.000207) select sqlite_version(*)
+ SQL (0.000411)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002421) DROP TABLE "users"
+ SQL (0.002508) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.001115)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000271) SELECT version FROM "schema_migrations"
+ SQL (0.000210) select sqlite_version(*)
+ SQL (0.000397)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002437) DROP TABLE "users"
+ SQL (0.002775) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.001436)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000268) SELECT version FROM "schema_migrations"
+ SQL (0.000264) select sqlite_version(*)
+ SQL (0.000499)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.178284) DROP TABLE "users"
+ SQL (0.106196) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000449)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000268) SELECT version FROM "schema_migrations"
+ SQL (0.000311)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000204) select sqlite_version(*)
+ SQL (0.000388)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002390) DROP TABLE "users"
+ SQL (0.002517) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000575)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000270) SELECT version FROM "schema_migrations"
+ SQL (0.000189) select sqlite_version(*)
+ SQL (0.000407)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002431) DROP TABLE "users"
+ SQL (0.002601) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000605)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000269) SELECT version FROM "schema_migrations"
+ SQL (0.000213) select sqlite_version(*)
+ SQL (0.000406)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002728) DROP TABLE "users"
+ SQL (0.002184) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000514)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000238) SELECT version FROM "schema_migrations"
+ SQL (0.000188) select sqlite_version(*)
+ SQL (0.000401)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003074) DROP TABLE "users"
+ SQL (0.002384) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000477)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000231) SELECT version FROM "schema_migrations"
+ SQL (0.000392) select sqlite_version(*)
+ SQL (0.000954)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.001988) DROP TABLE "users"
+ SQL (0.002120) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000275)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000179) SELECT version FROM "schema_migrations"
+ SQL (0.000206) select sqlite_version(*)
+ SQL (0.001016)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002973) DROP TABLE "users"
+ SQL (0.002333) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000678)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000334) SELECT version FROM "schema_migrations"
+ SQL (0.000196) select sqlite_version(*)
+ SQL (0.000435)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.120515) DROP TABLE "users"
+ SQL (0.177335) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000617)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000250) SELECT version FROM "schema_migrations"
+ SQL (0.000199) select sqlite_version(*)
+ SQL (0.000391)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002552) DROP TABLE "users"
+ SQL (0.002725) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000693)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000286) SELECT version FROM "schema_migrations"
+ SQL (0.000205) select sqlite_version(*)
+ SQL (0.000408)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002600) DROP TABLE "users"
+ SQL (0.002431) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000536)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000242) SELECT version FROM "schema_migrations"
+ Kvlr::ReportsAsSparkline::ReportCache Load (0.000000) S…
+ Kvlr::ReportsAsSparkline::ReportCache Load (0.000000) SQL…
+ Kvlr::ReportsAsSparkline::ReportCache Load (0.000000) S…
+ SQL (0.000192) select sqlite_version(*)
+ SQL (0.000400)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002586) DROP TABLE "users"
+ SQL (0.002520) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000384)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002783) CREATE TABLE "report_caches" ("id" INTEGER…
+ SQL (0.003345) CREATE UNIQUE INDEX "report_caches_uk" O…
+ SQL (0.000619)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000241) SELECT version FROM "schema_migrations"…
+ Kvlr::ReportsAsSparkline::ReportCache Load (0.000198) SEL…
+ SQL (0.000507) SELECT count(*) AS count_all, DATE(creat…
+ Kvlr::ReportsAsSparkline::ReportCache Load (0.000117) SEL…
+ Kvlr::ReportsAsSparkline::ReportCache Load (0.000129) S…
+ SQL (0.000409) SELECT count(*) AS count_all, DATE(created…
+ Kvlr::ReportsAsSparkline::ReportCache Load (0.000113) S…
+ Kvlr::ReportsAsSparkline::ReportCache Load (0.000116) SEL…
+ SQL (0.000430) SELECT count(*) AS count_all, DATE(creat…
+ Kvlr::ReportsAsSparkline::ReportCache Load (0.000114) SEL…
+ SQL (0.000195) select sqlite_version(*)
+ SQL (0.000476)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003008) DROP TABLE "users"
+ SQL (0.002704) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000482)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003628) DROP TABLE "report_caches"
+ SQL (0.002933) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002638) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000590)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000243) SELECT version FROM "schema_migrations"
+ Kvlr::ReportsAsSparkline::ReportCache Load (0.000232) S…
+ SQL (0.000709) SELECT count(*) AS count_all, DATE(created…
+ Kvlr::ReportsAsSparkline::ReportCache Load (0.000168) S…
+ Kvlr::ReportsAsSparkline::ReportCache Load (0.000161) SEL…
+ SQL (0.000606) SELECT count(*) AS count_all, DATE(creat…
+ Kvlr::ReportsAsSparkline::ReportCache Load (0.000145) SEL…
+ Kvlr::ReportsAsSparkline::ReportCache Load (0.000132) S…
+ SQL (0.000613) SELECT count(*) AS count_all, DATE(created…
+ Kvlr::ReportsAsSparkline::ReportCache Load (0.000190) S…
+ SQL (0.000206) select sqlite_version(*)
+ SQL (0.000473)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002746) DROP TABLE "users"
+ SQL (0.002966) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000484)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003501) DROP TABLE "report_caches"
+ SQL (0.002848) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.000000) SQLite3::SQLException: table report_caches…
+ SQL (0.000208) select sqlite_version(*)
+ SQL (0.000458)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002799) DROP TABLE "users"
+ SQL (0.002820) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000482)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003417) DROP TABLE "report_caches"
+ SQL (0.002429) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.000000) SQLite3::SQLException: table report_caches…
+ SQL (0.000206) select sqlite_version(*)
+ SQL (0.000457)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002644) DROP TABLE "users"
+ SQL (0.002746) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000469)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002524) DROP TABLE "report_caches"
+ SQL (0.002389) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002266) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000449)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000449) SELECT version FROM "schema_migrations"
+ SQL (0.000208) select sqlite_version(*)
+ SQL (0.000470)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002637) DROP TABLE "users"
+ SQL (0.002606) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000690)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002695) DROP TABLE "report_caches"
+ SQL (0.002720) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002367) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000331)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000174) SELECT version FROM "schema_migrations"
+ SQL (0.000209) select sqlite_version(*)
+ SQL (0.000532)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002663) DROP TABLE "users"
+ SQL (0.002838) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000592)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.004081) DROP TABLE "report_caches"
+ SQL (0.002655) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002402) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000446)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000268) SELECT version FROM "schema_migrations"
+ SQL (0.000237) select sqlite_version(*)
+ SQL (0.000479)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002638) DROP TABLE "users"
+ SQL (0.003033) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000677)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003670) DROP TABLE "report_caches"
+ SQL (0.002581) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002502) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000700)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000275) SELECT version FROM "schema_migrations"
+ SQL (0.000208) select sqlite_version(*)
+ SQL (0.000473)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.081752) DROP TABLE "users"
+ SQL (0.048726) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.001209)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003454) DROP TABLE "report_caches"
+ SQL (0.002039) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002444) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000493)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000181) SELECT version FROM "schema_migrations"
+ SQL (0.000277) select sqlite_version(*)
+ SQL (0.000909)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003694) DROP TABLE "users"
+ SQL (0.002946) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000427)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002159) DROP TABLE "report_caches"
+ SQL (0.002717) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002603) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000800)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000252) SELECT version FROM "schema_migrations"
+ SQL (0.000240) select sqlite_version(*)
+ SQL (0.000629)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.149541) DROP TABLE "users"
+ SQL (0.158694) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000531)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.041823) DROP TABLE "report_caches"
+ SQL (0.003001) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002992) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000529)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000218) SELECT version FROM "schema_migrations"
+ SQL (0.000196) select sqlite_version(*)
+ SQL (0.000479)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002656) DROP TABLE "users"
+ SQL (0.002842) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000429)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002120) DROP TABLE "report_caches"
+ SQL (0.002886) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002822) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000498)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000250) SELECT version FROM "schema_migrations"
+ SQL (0.000192) select sqlite_version(*)
+ SQL (0.000475)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002924) DROP TABLE "users"
+ SQL (0.003101) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000506)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002284) DROP TABLE "report_caches"
+ SQL (0.002732) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003402) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000585)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000278) SELECT version FROM "schema_migrations"
+ SQL (0.000197) select sqlite_version(*)
+ SQL (0.000480)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.129847) DROP TABLE "users"
+ SQL (0.073262) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.005394)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.035498) DROP TABLE "report_caches"
+ SQL (0.002975) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002423) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000496)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000265) SELECT version FROM "schema_migrations"
+ SQL (0.000314)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000400)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000315)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000279)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000305)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000215) select sqlite_version(*)
+ SQL (0.000475)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.088705) DROP TABLE "users"
+ SQL (0.053045) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000524)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002571) DROP TABLE "report_caches"
+ SQL (0.002736) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002521) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000778)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000277) SELECT version FROM "schema_migrations"
+ SQL (0.000325)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000295)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000208) select sqlite_version(*)
+ SQL (0.000523)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003110) DROP TABLE "users"
+ SQL (0.002739) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000459)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002585) DROP TABLE "report_caches"
+ SQL (0.004934) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.004431) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000343)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000166) SELECT version FROM "schema_migrations"
+ SQL (0.000208) select sqlite_version(*)
+ SQL (0.000479)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002744) DROP TABLE "users"
+ SQL (0.002929) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000508)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002093) DROP TABLE "report_caches"
+ SQL (0.002242) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002413) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000463)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000262) SELECT version FROM "schema_migrations"
+ SQL (0.000209) select sqlite_version(*)
+ SQL (0.000565)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.103530) DROP TABLE "users"
+ SQL (0.182805) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000606)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.053063) DROP TABLE "report_caches"
+ SQL (0.028730) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002545) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000469)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000301) SELECT version FROM "schema_migrations"
+ SQL (0.000209) select sqlite_version(*)
+ SQL (0.000480)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.118841) DROP TABLE "users"
+ SQL (0.123526) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000938)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.082663) DROP TABLE "report_caches"
+ SQL (0.002973) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002389) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.001512)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000292) SELECT version FROM "schema_migrations"
+ SQL (0.000276) select sqlite_version(*)
+ SQL (0.001165)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.025237) DROP TABLE "users"
+ SQL (0.002691) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000534)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.006284) DROP TABLE "report_caches"
+ SQL (0.228190) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.209606) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000924)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000268) SELECT version FROM "schema_migrations"
+ SQL (0.000327)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000208) select sqlite_version(*)
+ SQL (0.000504)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002817) DROP TABLE "users"
+ SQL (0.002960) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000539)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.004839) DROP TABLE "report_caches"
+ SQL (0.003432) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.004406) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000708)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000415) SELECT version FROM "schema_migrations"
+ SQL (0.000360)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000218) select sqlite_version(*)
+ SQL (0.000476)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.118310) DROP TABLE "users"
+ SQL (0.161518) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000639)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.118328) DROP TABLE "report_caches"
+ SQL (0.038298) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003080) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000487)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000253) SELECT version FROM "schema_migrations"
+ SQL (0.000207) select sqlite_version(*)
+ SQL (0.000486)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002751) DROP TABLE "users"
+ SQL (0.002767) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000495)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002135) DROP TABLE "report_caches"
+ SQL (0.002348) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003647) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.001121)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000270) SELECT version FROM "schema_migrations"
+ SQL (0.000213) select sqlite_version(*)
+ SQL (0.000556)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.123474) DROP TABLE "users"
+ SQL (0.132419) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000560)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.052439) DROP TABLE "report_caches"
+ SQL (0.002846) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002685) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000425)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000168) SELECT version FROM "schema_migrations"
+ User Create (0.000000) SQLite3::SQLException: users.str…
+ SQL (0.000226) select sqlite_version(*)
+ SQL (0.000482)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002595) DROP TABLE "users"
+ SQL (0.002879) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000550)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.004914) DROP TABLE "report_caches"
+ SQL (0.002905) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002752) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000460)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000382) SELECT version FROM "schema_migrations"
+ User Create (0.000361) INSERT INTO "users" ("updated_at…
+ User Create (0.000449) INSERT INTO "users" ("updated_at",…
+ User Create (0.000458) INSERT INTO "users" ("updated_at…
+ SQL (0.000207) select sqlite_version(*)
+ SQL (0.000473)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002907) DROP TABLE "users"
+ SQL (0.002759) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000452)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003587) DROP TABLE "report_caches"
+ SQL (0.003188) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002982) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.001853)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000241) SELECT version FROM "schema_migrations"
+ User Create (0.000359) INSERT INTO "users" ("updated_at…
+ User Create (0.000451) INSERT INTO "users" ("updated_at",…
+ User Create (0.000445) INSERT INTO "users" ("updated_at…
+ SQL (0.001002)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000332) select sqlite_version(*)
+ SQL (0.000478)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.189883) DROP TABLE "users"
+ SQL (0.191082) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000718)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.090899) DROP TABLE "report_caches"
+ SQL (0.003505) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.009358) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.001162)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000246) SELECT version FROM "schema_migrations"
+ User Create (0.000354) INSERT INTO "users" ("updated_at…
+ User Create (0.000298) INSERT INTO "users" ("updated_at",…
+ User Create (0.000397) INSERT INTO "users" ("updated_at…
+ SQL (0.001104)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000229) select sqlite_version(*)
+ SQL (0.000485)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.149505) DROP TABLE "users"
+ SQL (0.199259) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000483)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.123707) DROP TABLE "report_caches"
+ SQL (0.050741) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003884) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000504)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000184) SELECT version FROM "schema_migrations"
+ User Create (0.000349) INSERT INTO "users" ("updated_at…
+ User Create (0.000425) INSERT INTO "users" ("updated_at",…
+ User Create (0.000442) INSERT INTO "users" ("updated_at…
+ SQL (0.000210) select sqlite_version(*)
+ SQL (0.000474)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.204709) DROP TABLE "users"
+ SQL (0.153647) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000501)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.071596) DROP TABLE "report_caches"
+ SQL (0.041143) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003349) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000589)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000217) SELECT version FROM "schema_migrations"
+ User Create (0.000352) INSERT INTO "users" ("updated_at…
+ User Create (0.000557) INSERT INTO "users" ("updated_at",…
+ User Create (0.000433) INSERT INTO "users" ("updated_at…
+ SQL (0.000544)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000211) select sqlite_version(*)
+ SQL (0.000476)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003001) DROP TABLE "users"
+ SQL (0.003001) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000811)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002898) DROP TABLE "report_caches"
+ SQL (0.002823) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003826) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000546)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002773) SELECT version FROM "schema_migrations"
+ User Create (0.000351) INSERT INTO "users" ("updated_at…
+ User Create (0.000459) INSERT INTO "users" ("updated_at",…
+ User Create (0.000560) INSERT INTO "users" ("updated_at…
+ SQL (0.000211) select sqlite_version(*)
+ SQL (0.000513)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.125919) DROP TABLE "users"
+ SQL (0.054530) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000625)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.029754) DROP TABLE "report_caches"
+ SQL (0.002836) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002677) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000478)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000222) SELECT version FROM "schema_migrations"
+ User Create (0.000352) INSERT INTO "users" ("updated_at…
+ User Create (0.000404) INSERT INTO "users" ("updated_at",…
+ User Create (0.000555) INSERT INTO "users" ("updated_at…
+ SQL (0.000213) select sqlite_version(*)
+ SQL (0.000497)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002827) DROP TABLE "users"
+ SQL (0.002951) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000559)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002891) DROP TABLE "report_caches"
+ SQL (0.002950) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002945) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000518)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000284) SELECT version FROM "schema_migrations"
+ User Create (0.000352) INSERT INTO "users" ("updated_at…
+ User Create (0.000488) INSERT INTO "users" ("updated_at",…
+ User Create (0.001414) INSERT INTO "users" ("updated_at…
+ SQL (0.000209) select sqlite_version(*)
+ SQL (0.000541)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002908) DROP TABLE "users"
+ SQL (0.003293) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000554)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003985) DROP TABLE "report_caches"
+ SQL (0.002781) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003254) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000719)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000760) SELECT version FROM "schema_migrations"
+ User Create (0.000433) INSERT INTO "users" ("updated_at…
+ User Create (0.000445) INSERT INTO "users" ("updated_at",…
+ User Create (0.000532) INSERT INTO "users" ("updated_at…
+ SQL (0.000261) select sqlite_version(*)
+ SQL (0.000540)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003911) DROP TABLE "users"
+ SQL (0.002132) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000591)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.184723) DROP TABLE "report_caches"
+ SQL (0.201990) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.041012) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000893)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000271) SELECT version FROM "schema_migrations"
+ SQL (0.000250) select sqlite_version(*)
+ SQL (0.000477)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002632) DROP TABLE "users"
+ SQL (0.002701) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000561)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003515) DROP TABLE "report_caches"
+ SQL (0.002813) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003260) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000933)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000290) SELECT version FROM "schema_migrations"
+ User Create (0.000345) INSERT INTO "users" ("updated_at…
+ User Create (0.000418) INSERT INTO "users" ("updated_at",…
+ User Create (0.000469) INSERT INTO "users" ("updated_at…
+ SQL (0.001184) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000210) select sqlite_version(*)
+ SQL (0.000476)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002696) DROP TABLE "users"
+ SQL (0.003053) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000497)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002381) DROP TABLE "report_caches"
+ SQL (0.003512) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.001857) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000390)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000183) SELECT version FROM "schema_migrations"
+ User Create (0.000455) INSERT INTO "users" ("updated_at…
+ User Create (0.000418) INSERT INTO "users" ("updated_at",…
+ User Create (0.000432) INSERT INTO "users" ("updated_at…
+ SQL (0.000000) SQLite3::SQLException: near "AND": syntax …
+ SQL (0.000212) select sqlite_version(*)
+ SQL (0.000473)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.162189) DROP TABLE "users"
+ SQL (0.091579) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000564)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.040363) DROP TABLE "report_caches"
+ SQL (0.003232) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.004181) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000958)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000320) SELECT version FROM "schema_migrations"
+ User Create (0.000426) INSERT INTO "users" ("updated_at…
+ User Create (0.000430) INSERT INTO "users" ("updated_at",…
+ User Create (0.000558) INSERT INTO "users" ("updated_at…
+ SQL (0.000205) select sqlite_version(*)
+ SQL (0.000609)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002846) DROP TABLE "users"
+ SQL (0.002892) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000609)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002610) DROP TABLE "report_caches"
+ SQL (0.002822) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002874) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000505)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000264) SELECT version FROM "schema_migrations"
+ User Create (0.000349) INSERT INTO "users" ("updated_at…
+ User Create (0.000417) INSERT INTO "users" ("updated_at",…
+ User Create (0.000435) INSERT INTO "users" ("updated_at…
+ SQL (0.001109) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000212) select sqlite_version(*)
+ SQL (0.000480)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002612) DROP TABLE "users"
+ SQL (0.002862) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000491)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003890) DROP TABLE "report_caches"
+ SQL (0.002867) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002823) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000446)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000275) SELECT version FROM "schema_migrations"
+ User Create (0.000350) INSERT INTO "users" ("updated_at…
+ User Create (0.000460) INSERT INTO "users" ("updated_at",…
+ User Create (0.000644) INSERT INTO "users" ("updated_at…
+ SQL (0.001058) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000209) select sqlite_version(*)
+ SQL (0.000521)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003098) DROP TABLE "users"
+ SQL (0.003041) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000492)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003465) DROP TABLE "report_caches"
+ SQL (0.002363) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002876) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000770)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000253) SELECT version FROM "schema_migrations"
+ User Create (0.000352) INSERT INTO "users" ("updated_at…
+ User Create (0.000265) INSERT INTO "users" ("updated_at",…
+ User Create (0.000479) INSERT INTO "users" ("updated_at…
+ SQL (0.001100) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000224) select sqlite_version(*)
+ SQL (0.000602)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002665) DROP TABLE "users"
+ SQL (0.002674) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000612)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002386) DROP TABLE "report_caches"
+ SQL (0.003089) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002828) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000460)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000347) SELECT version FROM "schema_migrations"
+ User Create (0.000399) INSERT INTO "users" ("updated_at…
+ User Create (0.000528) INSERT INTO "users" ("updated_at",…
+ User Create (0.000488) INSERT INTO "users" ("updated_at…
+ SQL (0.000959) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000266) select sqlite_version(*)
+ SQL (0.000502)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.133912) DROP TABLE "users"
+ SQL (0.065463) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000778)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002832) DROP TABLE "report_caches"
+ SQL (0.002888) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002881) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000492)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000262) SELECT version FROM "schema_migrations"
+ User Create (0.000347) INSERT INTO "users" ("updated_at…
+ User Create (0.000444) INSERT INTO "users" ("updated_at",…
+ User Create (0.000626) INSERT INTO "users" ("updated_at…
+ SQL (0.002167) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000208) select sqlite_version(*)
+ SQL (0.000479)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002788) DROP TABLE "users"
+ SQL (0.002903) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000496)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.004646) DROP TABLE "report_caches"
+ SQL (0.002719) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002868) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000602)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000279) SELECT version FROM "schema_migrations"
+ User Create (0.000347) INSERT INTO "users" ("updated_at…
+ User Create (0.000485) INSERT INTO "users" ("updated_at",…
+ User Create (0.000665) INSERT INTO "users" ("updated_at…
+ SQL (0.001572) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000211) select sqlite_version(*)
+ SQL (0.000482)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003603) DROP TABLE "users"
+ SQL (0.002920) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000703)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002703) DROP TABLE "report_caches"
+ SQL (0.002271) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003488) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.001370)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000492) SELECT version FROM "schema_migrations"
+ User Create (0.000356) INSERT INTO "users" ("updated_at…
+ User Create (0.000469) INSERT INTO "users" ("updated_at",…
+ User Create (0.000435) INSERT INTO "users" ("updated_at…
+ SQL (0.001530) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000207) select sqlite_version(*)
+ SQL (0.000493)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002867) DROP TABLE "users"
+ SQL (0.002994) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000514)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003371) DROP TABLE "report_caches"
+ SQL (0.002897) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003036) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000624)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000276) SELECT version FROM "schema_migrations"
+ User Create (0.000367) INSERT INTO "users" ("updated_at…
+ User Create (0.000481) INSERT INTO "users" ("updated_at",…
+ User Create (0.000440) INSERT INTO "users" ("updated_at…
+ SQL (0.001666) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000207) select sqlite_version(*)
+ SQL (0.000585)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002655) DROP TABLE "users"
+ SQL (0.003204) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000660)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.004192) DROP TABLE "report_caches"
+ SQL (0.002770) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003256) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000667)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000640) SELECT version FROM "schema_migrations"
+ User Create (0.000345) INSERT INTO "users" ("updated_at…
+ User Create (0.000425) INSERT INTO "users" ("updated_at",…
+ User Create (0.000432) INSERT INTO "users" ("updated_at…
+ SQL (0.001750) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.001433) SELECT count("users".id) AS count_id, DA…
+ SQL (0.001990) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000208) select sqlite_version(*)
+ SQL (0.000485)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002947) DROP TABLE "users"
+ SQL (0.003245) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000525)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.004309) DROP TABLE "report_caches"
+ SQL (0.002450) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002540) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000326)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000166) SELECT version FROM "schema_migrations"
+ User Create (0.000350) INSERT INTO "users" ("updated_at…
+ User Create (0.000416) INSERT INTO "users" ("updated_at",…
+ User Create (0.000451) INSERT INTO "users" ("updated_at…
+ SQL (0.001445) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000203) select sqlite_version(*)
+ SQL (0.000478)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002865) DROP TABLE "users"
+ SQL (0.002874) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000615)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.004319) DROP TABLE "report_caches"
+ SQL (0.002693) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002368) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000288)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000192) SELECT version FROM "schema_migrations"
+ User Create (0.000453) INSERT INTO "users" ("updated_at…
+ User Create (0.000362) INSERT INTO "users" ("updated_at",…
+ User Create (0.000355) INSERT INTO "users" ("updated_at…
+ SQL (0.001072) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000210) select sqlite_version(*)
+ SQL (0.000478)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002709) DROP TABLE "users"
+ SQL (0.002859) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000474)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003581) DROP TABLE "report_caches"
+ SQL (0.002505) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002355) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000336)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000180) SELECT version FROM "schema_migrations"
+ User Create (0.000350) INSERT INTO "users" ("updated_at…
+ User Create (0.000408) INSERT INTO "users" ("updated_at",…
+ User Create (0.000436) INSERT INTO "users" ("updated_at…
+ SQL (0.001388) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000210) select sqlite_version(*)
+ SQL (0.000476)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002734) DROP TABLE "users"
+ SQL (0.002868) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000479)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002266) DROP TABLE "report_caches"
+ SQL (0.003128) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003197) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000444)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000244) SELECT version FROM "schema_migrations"
+ User Create (0.000350) INSERT INTO "users" ("updated_at…
+ User Create (0.000458) INSERT INTO "users" ("updated_at",…
+ User Create (0.000929) INSERT INTO "users" ("updated_at…
+ SQL (0.002287) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000210) select sqlite_version(*)
+ SQL (0.000481)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.089757) DROP TABLE "users"
+ SQL (0.003896) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000533)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003539) DROP TABLE "report_caches"
+ SQL (0.002979) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002778) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000532)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000532) SELECT version FROM "schema_migrations"
+ User Create (0.000350) INSERT INTO "users" ("updated_at…
+ User Create (0.000433) INSERT INTO "users" ("updated_at",…
+ User Create (0.000471) INSERT INTO "users" ("updated_at…
+ SQL (0.001749) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000242) select sqlite_version(*)
+ SQL (0.000637)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.166752) DROP TABLE "users"
+ SQL (0.002217) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000428)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003493) DROP TABLE "report_caches"
+ SQL (0.001937) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003427) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000376)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000219) SELECT version FROM "schema_migrations"
+ User Create (0.000387) INSERT INTO "users" ("updated_at…
+ User Create (0.000461) INSERT INTO "users" ("updated_at",…
+ User Create (0.000424) INSERT INTO "users" ("updated_at…
+ SQL (0.001682) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000269) select sqlite_version(*)
+ SQL (0.000984)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.008601) DROP TABLE "users"
+ SQL (0.020111) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000491)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002302) DROP TABLE "report_caches"
+ SQL (0.002162) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.001971) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.002430)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000201) SELECT version FROM "schema_migrations"
+ User Create (0.000357) INSERT INTO "users" ("updated_at…
+ User Create (0.000654) INSERT INTO "users" ("updated_at",…
+ User Create (0.000320) INSERT INTO "users" ("updated_at…
+ SQL (0.000959) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000223) select sqlite_version(*)
+ SQL (0.001119)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002377) DROP TABLE "users"
+ SQL (0.001618) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.004168)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003917) DROP TABLE "report_caches"
+ SQL (0.002019) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002968) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000325)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000159) SELECT version FROM "schema_migrations"
+ User Create (0.003217) INSERT INTO "users" ("updated_at…
+ User Create (0.000295) INSERT INTO "users" ("updated_at",…
+ User Create (0.000251) INSERT INTO "users" ("updated_at…
+ SQL (0.000959) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000219) select sqlite_version(*)
+ SQL (0.000469)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002948) DROP TABLE "users"
+ SQL (0.002872) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000475)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002868) DROP TABLE "report_caches"
+ SQL (0.002633) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002411) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.001682)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000468) SELECT version FROM "schema_migrations"
+ User Create (0.000380) INSERT INTO "users" ("updated_at…
+ User Create (0.000503) INSERT INTO "users" ("updated_at",…
+ User Create (0.000413) INSERT INTO "users" ("updated_at…
+ SQL (0.001274) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000218) select sqlite_version(*)
+ SQL (0.000478)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002652) DROP TABLE "users"
+ SQL (0.002781) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000505)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002451) DROP TABLE "report_caches"
+ SQL (0.002695) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002773) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000335)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000178) SELECT version FROM "schema_migrations"
+ User Create (0.000352) INSERT INTO "users" ("updated_at…
+ User Create (0.000475) INSERT INTO "users" ("updated_at",…
+ User Create (0.000562) INSERT INTO "users" ("updated_at…
+ SQL (0.001884) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000209) select sqlite_version(*)
+ SQL (0.000478)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002522) DROP TABLE "users"
+ SQL (0.003011) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000478)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002788) DROP TABLE "report_caches"
+ SQL (0.002754) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.004864) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000617)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000472) SELECT version FROM "schema_migrations"
+ User Create (0.000349) INSERT INTO "users" ("updated_at…
+ User Create (0.000450) INSERT INTO "users" ("updated_at",…
+ User Create (0.000614) INSERT INTO "users" ("updated_at…
+ SQL (0.001503) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000469) SELECT * FROM "users" 
+ User Destroy (0.000330)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000608)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000583)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ SQL (0.000207) select sqlite_version(*)
+ SQL (0.000519)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002495) DROP TABLE "users"
+ SQL (0.002454) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000824)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002156) DROP TABLE "report_caches"
+ SQL (0.002876) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003042) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000954)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000263) SELECT version FROM "schema_migrations"
+ User Create (0.000354) INSERT INTO "users" ("updated_at…
+ User Create (0.000471) INSERT INTO "users" ("updated_at",…
+ User Create (0.000442) INSERT INTO "users" ("updated_at…
+ SQL (0.001666) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000470) SELECT * FROM "users" 
+ User Destroy (0.000327)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000418)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000759)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ SQL (0.000208) select sqlite_version(*)
+ SQL (0.000478)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002652) DROP TABLE "users"
+ SQL (0.002902) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000514)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003614) DROP TABLE "report_caches"
+ SQL (0.002846) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002738) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000678)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000324) SELECT version FROM "schema_migrations"
+ User Create (0.000354) INSERT INTO "users" ("updated_at…
+ User Create (0.000436) INSERT INTO "users" ("updated_at",…
+ User Create (0.000451) INSERT INTO "users" ("updated_at…
+ SQL (0.002272) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000494) SELECT * FROM "users" 
+ User Destroy (0.000326)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000593)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000435)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ SQL (0.000207) select sqlite_version(*)
+ SQL (0.000481)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.178927) DROP TABLE "users"
+ SQL (0.106082) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000535)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.004090) DROP TABLE "report_caches"
+ SQL (0.092465) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003477) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000459)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000202) SELECT version FROM "schema_migrations"
+ User Create (0.000353) INSERT INTO "users" ("updated_at…
+ User Create (0.000438) INSERT INTO "users" ("updated_at",…
+ User Create (0.000502) INSERT INTO "users" ("updated_at…
+ SQL (0.001535) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000464) SELECT * FROM "users" 
+ User Destroy (0.000325)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000625)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000616)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ SQL (0.000266) select sqlite_version(*)
+ SQL (0.001027)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002617) DROP TABLE "users"
+ SQL (0.003991) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000378)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002609) DROP TABLE "report_caches"
+ SQL (0.002506) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002922) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000410)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000808) SELECT version FROM "schema_migrations"
+ User Create (0.000498) INSERT INTO "users" ("updated_at…
+ User Create (0.000599) INSERT INTO "users" ("updated_at",…
+ User Create (0.000452) INSERT INTO "users" ("updated_at…
+ SQL (0.000000) SQLite3::SQLException: no such column: reg…
+ User Load (0.001687) SELECT * FROM "users" 
+ User Destroy (0.003452)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000593)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.002269)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000427) INSERT INTO "users" ("updated_at…
+ User Create (0.000593) INSERT INTO "users" ("updated_at",…
+ User Create (0.000395) INSERT INTO "users" ("updated_at…
+ User Load (0.000671) SELECT * FROM "users" 
+ User Destroy (0.000435)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000514)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000468)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ SQL (0.000211) select sqlite_version(*)
+ SQL (0.000478)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002754) DROP TABLE "users"
+ SQL (0.002738) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000529)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002543) DROP TABLE "report_caches"
+ SQL (0.002538) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.004590) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000786)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000448) SELECT version FROM "schema_migrations"
+ User Create (0.000355) INSERT INTO "users" ("updated_at…
+ User Create (0.000417) INSERT INTO "users" ("updated_at",…
+ User Create (0.000746) INSERT INTO "users" ("updated_at…
+ SQL (0.000000) SQLite3::SQLException: no such column: reg…
+ User Load (0.000597) SELECT * FROM "users" 
+ User Destroy (0.000349)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000463)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000645)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000467) INSERT INTO "users" ("updated_at…
+ User Create (0.000611) INSERT INTO "users" ("updated_at",…
+ User Create (0.000391) INSERT INTO "users" ("updated_at…
+ User Load (0.000752) SELECT * FROM "users" 
+ User Destroy (0.000504)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000483)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000407)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ SQL (0.000211) select sqlite_version(*)
+ SQL (0.000480)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.102224) DROP TABLE "users"
+ SQL (0.158206) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000532)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.051904) DROP TABLE "report_caches"
+ SQL (0.003077) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.004861) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000581)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000264) SELECT version FROM "schema_migrations"
+ User Create (0.000348) INSERT INTO "users" ("updated_at…
+ User Create (0.000540) INSERT INTO "users" ("updated_at",…
+ User Create (0.000472) INSERT INTO "users" ("updated_at…
+ SQL (0.001764) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000803) SELECT * FROM "users" 
+ User Destroy (0.000360)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000222)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000587)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000513) INSERT INTO "users" ("updated_at…
+ User Create (0.000443) INSERT INTO "users" ("updated_at",…
+ User Create (0.000436) INSERT INTO "users" ("updated_at…
+ User Load (0.001328) SELECT * FROM "users" 
+ User Destroy (0.000334)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000451)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000584)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ SQL (0.000204) select sqlite_version(*)
+ SQL (0.000478)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002780) DROP TABLE "users"
+ SQL (0.002925) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000723)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002554) DROP TABLE "report_caches"
+ SQL (0.002917) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002319) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000312)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000173) SELECT version FROM "schema_migrations"
+ User Create (0.000363) INSERT INTO "users" ("updated_at…
+ User Create (0.000269) INSERT INTO "users" ("updated_at",…
+ User Create (0.000545) INSERT INTO "users" ("updated_at…
+ SQL (0.001788) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000562) SELECT * FROM "users" 
+ User Destroy (0.000344)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000417)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000544)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000452) INSERT INTO "users" ("updated_at…
+ User Create (0.000440) INSERT INTO "users" ("updated_at",…
+ User Create (0.000508) INSERT INTO "users" ("updated_at…
+ User Load (0.000636) SELECT * FROM "users" 
+ User Destroy (0.000394)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000539)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000490)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ SQL (0.000204) select sqlite_version(*)
+ SQL (0.000480)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.090725) DROP TABLE "users"
+ SQL (0.002191) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.002280)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003159) DROP TABLE "report_caches"
+ SQL (0.004281) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002260) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000321)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000164) SELECT version FROM "schema_migrations"
+ User Create (0.000336) INSERT INTO "users" ("updated_at…
+ User Create (0.000263) INSERT INTO "users" ("updated_at",…
+ User Create (0.000255) INSERT INTO "users" ("updated_at…
+ SQL (0.002321) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000326) SELECT * FROM "users" 
+ User Destroy (0.000253)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000217)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000208)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000290) INSERT INTO "users" ("updated_at…
+ User Create (0.000480) INSERT INTO "users" ("updated_at",…
+ User Create (0.000403) INSERT INTO "users" ("updated_at…
+ User Load (0.000362) SELECT * FROM "users" 
+ User Destroy (0.000229)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000214)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000209)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ SQL (0.000228) select sqlite_version(*)
+ SQL (0.000485)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002339) DROP TABLE "users"
+ SQL (0.001880) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000456)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002161) DROP TABLE "report_caches"
+ SQL (0.002686) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002463) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000476)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000431) SELECT version FROM "schema_migrations"
+ User Create (0.000359) INSERT INTO "users" ("updated_at…
+ User Create (0.000413) INSERT INTO "users" ("updated_at",…
+ User Create (0.000336) INSERT INTO "users" ("updated_at…
+ SQL (0.001128) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000329) SELECT * FROM "users" 
+ User Destroy (0.000263)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000285)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000317)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000846) INSERT INTO "users" ("updated_at…
+ User Create (0.000605) INSERT INTO "users" ("updated_at",…
+ User Create (0.000337) INSERT INTO "users" ("updated_at…
+ User Load (0.000465) SELECT * FROM "users" 
+ User Destroy (0.000302)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.001258)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000279)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ SQL (0.000219) select sqlite_version(*)
+ SQL (0.000480)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002352) DROP TABLE "users"
+ SQL (0.031907) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.001535)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003734) DROP TABLE "report_caches"
+ SQL (0.003607) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.004055) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000323)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000159) SELECT version FROM "schema_migrations"
+ User Create (0.000364) INSERT INTO "users" ("updated_at…
+ User Create (0.000307) INSERT INTO "users" ("updated_at",…
+ User Create (0.000293) INSERT INTO "users" ("updated_at…
+ SQL (0.003911) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000352) SELECT * FROM "users" 
+ User Destroy (0.000236)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000222)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000304)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000290) INSERT INTO "users" ("updated_at…
+ User Create (0.000265) INSERT INTO "users" ("updated_at",…
+ User Create (0.000244) INSERT INTO "users" ("updated_at…
+ User Load (0.000369) SELECT * FROM "users" 
+ User Destroy (0.000267)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000265)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000291)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ SQL (0.000214) select sqlite_version(*)
+ SQL (0.000481)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.085759) DROP TABLE "users"
+ SQL (0.052484) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000587)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003052) DROP TABLE "report_caches"
+ SQL (0.005618) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002959) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000612)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000172) SELECT version FROM "schema_migrations"
+ User Create (0.000363) INSERT INTO "users" ("updated_at…
+ User Create (0.000524) INSERT INTO "users" ("updated_at",…
+ User Create (0.000439) INSERT INTO "users" ("updated_at…
+ User Load (0.000729) SELECT * FROM "users" 
+ User Destroy (0.000367)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000570)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000627)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000463) INSERT INTO "users" ("updated_at",…
+ User Create (0.000377) INSERT INTO "users" ("updated_at…
+ User Create (0.000479) INSERT INTO "users" ("updated_at",…
+ User Load (0.000894) SELECT * FROM "users" 
+ User Destroy (0.000421)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000621)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000499)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ SQL (0.000211) select sqlite_version(*)
+ SQL (0.000479)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.122582) DROP TABLE "users"
+ SQL (0.234519) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000962)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002331) DROP TABLE "report_caches"
+ SQL (0.002738) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002473) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000517)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.001507) SELECT version FROM "schema_migrations"
+ User Create (0.000366) INSERT INTO "users" ("updated_at…
+ User Create (0.000577) INSERT INTO "users" ("updated_at",…
+ User Create (0.000500) INSERT INTO "users" ("updated_at…
+ User Load (0.000545) SELECT * FROM "users" 
+ User Destroy (0.000338)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000403)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000595)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000451) INSERT INTO "users" ("updated_at",…
+ User Create (0.000495) INSERT INTO "users" ("updated_at…
+ User Create (0.000463) INSERT INTO "users" ("updated_at",…
+ User Load (0.000754) SELECT * FROM "users" 
+ User Destroy (0.000483)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000621)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000660)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ SQL (0.000404) select sqlite_version(*)
+ SQL (0.000654)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.122966) DROP TABLE "users"
+ SQL (0.053781) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000515)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002461) DROP TABLE "report_caches"
+ SQL (0.002881) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.004117) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000826)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000669) SELECT version FROM "schema_migrations"
+ User Create (0.000389) INSERT INTO "users" ("updated_at…
+ User Create (0.000308) INSERT INTO "users" ("updated_at",…
+ User Create (0.000251) INSERT INTO "users" ("updated_at…
+ User Load (0.000360) SELECT * FROM "users" 
+ User Destroy (0.000218)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000617)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000406)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000471) INSERT INTO "users" ("updated_at",…
+ User Create (0.000580) INSERT INTO "users" ("updated_at…
+ User Create (0.000437) INSERT INTO "users" ("updated_at",…
+ User Load (0.000780) SELECT * FROM "users" 
+ User Destroy (0.000364)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000584)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000394)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ SQL (0.000207) select sqlite_version(*)
+ SQL (0.000622)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002598) DROP TABLE "users"
+ SQL (0.002709) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000472)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002891) DROP TABLE "report_caches"
+ SQL (0.002233) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002551) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000388)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000325) SELECT version FROM "schema_migrations"
+ User Create (0.000359) INSERT INTO "users" ("updated_at…
+ User Create (0.000482) INSERT INTO "users" ("updated_at",…
+ User Create (0.000491) INSERT INTO "users" ("updated_at…
+ User Load (0.001236) SELECT * FROM "users" 
+ User Destroy (0.000366)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000528)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000402)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000310) INSERT INTO "users" ("updated_at",…
+ User Create (0.000469) INSERT INTO "users" ("updated_at…
+ User Create (0.000442) INSERT INTO "users" ("updated_at",…
+ SQL (0.001706) SELECT sum("users".id) AS sum_id, DATE(c…
+ User Load (0.000586) SELECT * FROM "users" 
+ User Destroy (0.000347)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000405)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000417)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ SQL (0.001043) select sqlite_version(*)
+ SQL (0.000558)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.036772) DROP TABLE "users"
+ SQL (0.051040) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000598)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002486) DROP TABLE "report_caches"
+ SQL (0.003312) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002855) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000534)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000257) SELECT version FROM "schema_migrations"
+ User Create (0.000408) INSERT INTO "users" ("updated_at…
+ User Create (0.000439) INSERT INTO "users" ("updated_at",…
+ User Create (0.000666) INSERT INTO "users" ("updated_at…
+ SQL (0.002072) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000598) SELECT * FROM "users" 
+ User Destroy (0.000426)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000255)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000211)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000402) INSERT INTO "users" ("updated_at…
+ User Create (0.000495) INSERT INTO "users" ("updated_at",…
+ User Create (0.000434) INSERT INTO "users" ("updated_at…
+ SQL (0.002997) SELECT sum("users".id) AS sum_id, DATE(cre…
+ User Load (0.000716) SELECT * FROM "users" 
+ User Destroy (0.000412)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000242)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000216)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ SQL (0.000210) select sqlite_version(*)
+ SQL (0.000483)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003331) DROP TABLE "users"
+ SQL (0.002965) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000592)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.004047) DROP TABLE "report_caches"
+ SQL (0.002352) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003409) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000557)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000339) SELECT version FROM "schema_migrations"
+ User Create (0.000364) INSERT INTO "users" ("updated_at…
+ User Create (0.000285) INSERT INTO "users" ("updated_at",…
+ User Create (0.000781) INSERT INTO "users" ("updated_at…
+ SQL (0.003937) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000399) SELECT * FROM "users" 
+ User Destroy (0.000285)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000514)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000531)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000488) INSERT INTO "users" ("updated_at…
+ User Create (0.000514) INSERT INTO "users" ("updated_at",…
+ User Create (0.000429) INSERT INTO "users" ("updated_at…
+ SQL (0.001810) SELECT sum("users".id) AS sum_id, DATE(cre…
+ User Load (0.000718) SELECT * FROM "users" 
+ User Destroy (0.000349)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000449)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000516)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ SQL (0.000209) select sqlite_version(*)
+ SQL (0.000477)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002556) DROP TABLE "users"
+ SQL (0.003167) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000511)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003690) DROP TABLE "report_caches"
+ SQL (0.002595) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003057) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000885)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000563) SELECT version FROM "schema_migrations"
+ User Create (0.000371) INSERT INTO "users" ("profile_vi…
+ User Create (0.000442) INSERT INTO "users" ("profile_visi…
+ User Create (0.000506) INSERT INTO "users" ("profile_vi…
+ SQL (0.002044) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000531) SELECT * FROM "users" 
+ User Destroy (0.000346)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000598)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000410)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000535) INSERT INTO "users" ("profile_vi…
+ User Create (0.000460) INSERT INTO "users" ("profile_visi…
+ User Create (0.000475) INSERT INTO "users" ("profile_vi…
+ SQL (0.001549) SELECT sum("users".profile_visits) AS sum_…
+ User Load (0.001024) SELECT * FROM "users" 
+ User Destroy (0.000460)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000816)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000612)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ SQL (0.000208) select sqlite_version(*)
+ SQL (0.000502)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.166897) DROP TABLE "users"
+ SQL (0.041649) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000536)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002633) DROP TABLE "report_caches"
+ SQL (0.002559) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002791) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000521)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000173) SELECT version FROM "schema_migrations"
+ User Create (0.000368) INSERT INTO "users" ("profile_vi…
+ User Create (0.000578) INSERT INTO "users" ("profile_visi…
+ User Create (0.000454) INSERT INTO "users" ("profile_vi…
+ SQL (0.001136) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.001964) SELECT * FROM "users" 
+ User Destroy (0.000341)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000230)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.001116)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000326) INSERT INTO "users" ("profile_vi…
+ User Create (0.000268) INSERT INTO "users" ("profile_visi…
+ User Create (0.000271) INSERT INTO "users" ("profile_vi…
+ SQL (0.001043) SELECT sum("users".profile_visits) AS sum_…
+ User Load (0.000340) SELECT * FROM "users" 
+ User Destroy (0.000218)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000270)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000230)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ SQL (0.000209) select sqlite_version(*)
+ SQL (0.000522)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003539) DROP TABLE "users"
+ SQL (0.002988) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.001371)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003243) DROP TABLE "report_caches"
+ SQL (0.002716) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002782) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000547)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000325) SELECT version FROM "schema_migrations"
+ User Create (0.000404) INSERT INTO "users" ("profile_vi…
+ User Create (0.000420) INSERT INTO "users" ("profile_visi…
+ User Create (0.000476) INSERT INTO "users" ("profile_vi…
+ SQL (0.001664) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000520) SELECT * FROM "users" 
+ User Destroy (0.000413)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000582)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000460)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000386) INSERT INTO "users" ("profile_vi…
+ User Create (0.000654) INSERT INTO "users" ("profile_visi…
+ User Create (0.000500) INSERT INTO "users" ("profile_vi…
+ SQL (0.001913) SELECT sum("users".profile_visits) AS sum_…
+ User Load (0.000886) SELECT * FROM "users" 
+ User Destroy (0.000412)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000548)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000612)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ SQL (0.000209) select sqlite_version(*)
+ SQL (0.000500)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002550) DROP TABLE "users"
+ SQL (0.003104) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000534)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002576) DROP TABLE "report_caches"
+ SQL (0.003836) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.004111) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.001104)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000293) SELECT version FROM "schema_migrations"
+ User Create (0.000359) INSERT INTO "users" ("profile_vi…
+ User Create (0.000413) INSERT INTO "users" ("profile_visi…
+ User Create (0.000480) INSERT INTO "users" ("profile_vi…
+ SQL (0.001400) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000444) SELECT * FROM "users" 
+ User Destroy (0.000286)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000604)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000823)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000456) INSERT INTO "users" ("profile_vi…
+ User Create (0.000486) INSERT INTO "users" ("profile_visi…
+ User Create (0.000453) INSERT INTO "users" ("profile_vi…
+ SQL (0.001659) SELECT sum("users".profile_visits) AS sum_…
+ User Load (0.000820) SELECT * FROM "users" 
+ User Destroy (0.000538)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000415)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000421)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ SQL (0.000209) select sqlite_version(*)
+ SQL (0.000504)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.134140) DROP TABLE "users"
+ SQL (0.111574) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000501)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.061500) DROP TABLE "report_caches"
+ SQL (0.003035) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003977) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.001538)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000357) SELECT version FROM "schema_migrations"
+ User Create (0.000404) INSERT INTO "users" ("profile_vi…
+ User Create (0.000367) INSERT INTO "users" ("profile_visi…
+ User Create (0.000461) INSERT INTO "users" ("profile_vi…
+ SQL (0.001956) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000674) SELECT * FROM "users" 
+ User Destroy (0.000387)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000743)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000506)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000436) INSERT INTO "users" ("profile_vi…
+ User Create (0.000449) INSERT INTO "users" ("profile_visi…
+ User Create (0.000460) INSERT INTO "users" ("profile_vi…
+ SQL (0.001704) SELECT sum("users".profile_visits) AS sum_…
+ User Load (0.001044) SELECT * FROM "users" 
+ User Destroy (0.000438)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000674)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000637)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ SQL (0.000210) select sqlite_version(*)
+ SQL (0.000546)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002855) DROP TABLE "users"
+ SQL (0.002850) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000979)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002564) DROP TABLE "report_caches"
+ SQL (0.002781) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002940) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000316)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000162) SELECT version FROM "schema_migrations"
+ User Create (0.000404) INSERT INTO "users" ("profile_vi…
+ User Create (0.000484) INSERT INTO "users" ("profile_visi…
+ User Create (0.000463) INSERT INTO "users" ("profile_vi…
+ SQL (0.001547) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000514) SELECT * FROM "users" 
+ User Destroy (0.000327)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000611)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000791)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000488) INSERT INTO "users" ("profile_vi…
+ User Create (0.000420) INSERT INTO "users" ("profile_visi…
+ User Create (0.000572) INSERT INTO "users" ("profile_vi…
+ SQL (0.001808) SELECT sum("users".profile_visits) AS sum_…
+ User Load (0.000580) SELECT * FROM "users" 
+ User Destroy (0.000342)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000547)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000642)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ SQL (0.000207) select sqlite_version(*)
+ SQL (0.000497)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003369) DROP TABLE "users"
+ SQL (0.002948) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000492)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002576) DROP TABLE "report_caches"
+ SQL (0.002358) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002974) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000440)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000242) SELECT version FROM "schema_migrations"
+ User Create (0.000359) INSERT INTO "users" ("profile_vi…
+ User Create (0.000414) INSERT INTO "users" ("profile_visi…
+ User Create (0.000420) INSERT INTO "users" ("profile_vi…
+ SQL (0.001572) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000539) SELECT * FROM "users" 
+ User Destroy (0.000318)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000594)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000971)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000509) INSERT INTO "users" ("profile_vi…
+ User Create (0.000524) INSERT INTO "users" ("profile_visi…
+ User Create (0.000456) INSERT INTO "users" ("profile_vi…
+ SQL (0.001597) SELECT sum("users".profile_visits) AS sum_…
+ User Load (0.000528) SELECT * FROM "users" 
+ User Destroy (0.000353)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000441)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000632)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ User Create (0.000471) INSERT INTO "users" ("profile_vi…
+ User Create (0.000566) INSERT INTO "users" ("profile_visi…
+ User Create (0.000480) INSERT INTO "users" ("profile_vi…
+ SQL (0.001234) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000448) SELECT * FROM "users" 
+ User Destroy (0.000293)  DELETE FROM "users"
+ WHERE "id" = 7
+
+ User Destroy (0.000680)  DELETE FROM "users"
+ WHERE "id" = 8
+
+ User Destroy (0.000584)  DELETE FROM "users"
+ WHERE "id" = 9
+
+ SQL (0.000206) select sqlite_version(*)
+ SQL (0.000492)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003031) DROP TABLE "users"
+ SQL (0.002844) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000474)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002453) DROP TABLE "report_caches"
+ SQL (0.003246) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003595) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000547)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000261) SELECT version FROM "schema_migrations"
+ User Create (0.000356) INSERT INTO "users" ("profile_vi…
+ User Create (0.000438) INSERT INTO "users" ("profile_visi…
+ User Create (0.000435) INSERT INTO "users" ("profile_vi…
+ SQL (0.001804) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000556) SELECT * FROM "users" 
+ User Destroy (0.000327)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000593)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000515)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000496) INSERT INTO "users" ("profile_vi…
+ User Create (0.000469) INSERT INTO "users" ("profile_visi…
+ User Create (0.000418) INSERT INTO "users" ("profile_vi…
+ SQL (0.001608) SELECT sum("users".profile_visits) AS sum_…
+ User Load (0.000510) SELECT * FROM "users" 
+ User Destroy (0.000382)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000448)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000478)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ User Create (0.000552) INSERT INTO "users" ("profile_vi…
+ User Create (0.000458) INSERT INTO "users" ("profile_visi…
+ User Create (0.000465) INSERT INTO "users" ("profile_vi…
+ SQL (0.000937) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000385) SELECT * FROM "users" 
+ User Destroy (0.000295)  DELETE FROM "users"
+ WHERE "id" = 7
+
+ User Destroy (0.000265)  DELETE FROM "users"
+ WHERE "id" = 8
+
+ User Destroy (0.000261)  DELETE FROM "users"
+ WHERE "id" = 9
+
+ SQL (0.000205) select sqlite_version(*)
+ SQL (0.000492)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003103) DROP TABLE "users"
+ SQL (0.002910) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000489)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.004204) DROP TABLE "report_caches"
+ SQL (0.002538) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002992) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000327)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000181) SELECT version FROM "schema_migrations"
+ User Create (0.000352) INSERT INTO "users" ("profile_vi…
+ User Create (0.000533) INSERT INTO "users" ("profile_visi…
+ User Create (0.000526) INSERT INTO "users" ("profile_vi…
+ SQL (0.001735) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000507) SELECT * FROM "users" 
+ User Destroy (0.000873)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000786)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000427)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000504) INSERT INTO "users" ("profile_vi…
+ User Create (0.000458) INSERT INTO "users" ("profile_visi…
+ User Create (0.000734) INSERT INTO "users" ("profile_vi…
+ SQL (0.001789) SELECT sum("users".profile_visits) AS sum_…
+ User Load (0.000524) SELECT * FROM "users" 
+ User Destroy (0.000381)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000432)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000605)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ User Create (0.000486) INSERT INTO "users" ("profile_vi…
+ User Create (0.000514) INSERT INTO "users" ("profile_visi…
+ User Create (0.000536) INSERT INTO "users" ("profile_vi…
+ SQL (0.002038) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000901) SELECT * FROM "users" 
+ User Destroy (0.000426)  DELETE FROM "users"
+ WHERE "id" = 7
+
+ User Destroy (0.000608)  DELETE FROM "users"
+ WHERE "id" = 8
+
+ User Destroy (0.000409)  DELETE FROM "users"
+ WHERE "id" = 9
+
+ SQL (0.000207) select sqlite_version(*)
+ SQL (0.000494)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003563) DROP TABLE "users"
+ SQL (0.003085) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000621)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.005266) DROP TABLE "report_caches"
+ SQL (0.002554) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002707) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000458)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000274) SELECT version FROM "schema_migrations"
+ User Create (0.000469) INSERT INTO "users" ("profile_vi…
+ User Create (0.000409) INSERT INTO "users" ("profile_visi…
+ User Create (0.000346) INSERT INTO "users" ("profile_vi…
+ SQL (0.001227) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000373) SELECT * FROM "users" 
+ User Destroy (0.000290)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000281)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000368)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000649) INSERT INTO "users" ("profile_vi…
+ User Create (0.000444) INSERT INTO "users" ("profile_visi…
+ User Create (0.000511) INSERT INTO "users" ("profile_vi…
+ SQL (0.001582) SELECT sum("users".profile_visits) AS sum_…
+ User Load (0.000513) SELECT * FROM "users" 
+ User Destroy (0.000374)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000795)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000333)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ User Create (0.000456) INSERT INTO "users" ("profile_vi…
+ User Create (0.000401) INSERT INTO "users" ("profile_visi…
+ User Create (0.000436) INSERT INTO "users" ("profile_vi…
+ SQL (0.002157) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000506) SELECT * FROM "users" 
+ User Destroy (0.000335)  DELETE FROM "users"
+ WHERE "id" = 7
+
+ User Destroy (0.000392)  DELETE FROM "users"
+ WHERE "id" = 8
+
+ User Destroy (0.000604)  DELETE FROM "users"
+ WHERE "id" = 9
+
+ SQL (0.000296) select sqlite_version(*)
+ SQL (0.000499)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.100392) DROP TABLE "users"
+ SQL (0.043836) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000515)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002356) DROP TABLE "report_caches"
+ SQL (0.002755) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.004017) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000824)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000386) SELECT version FROM "schema_migrations"
+ User Create (0.000364) INSERT INTO "users" ("profile_vi…
+ User Create (0.000414) INSERT INTO "users" ("profile_visi…
+ User Create (0.000594) INSERT INTO "users" ("profile_vi…
+ User Load (0.000670) SELECT * FROM "users" 
+ User Destroy (0.000343)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000339)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000325)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000476) INSERT INTO "users" ("profile_visi…
+ User Create (0.000350) INSERT INTO "users" ("profile_vi…
+ User Create (0.000321) INSERT INTO "users" ("profile_visi…
+ User Load (0.000414) SELECT * FROM "users" 
+ User Destroy (0.000273)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000303)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000279)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ User Create (0.000360) INSERT INTO "users" ("profile_vi…
+ User Create (0.000374) INSERT INTO "users" ("profile_visi…
+ User Create (0.099087) INSERT INTO "users" ("profile_vi…
+ User Load (0.000584) SELECT * FROM "users" 
+ User Destroy (0.000335)  DELETE FROM "users"
+ WHERE "id" = 7
+
+ User Destroy (0.000598)  DELETE FROM "users"
+ WHERE "id" = 8
+
+ User Destroy (0.000759)  DELETE FROM "users"
+ WHERE "id" = 9
+
+ SQL (0.000953)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.001971)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000657)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000262) select sqlite_version(*)
+ SQL (0.000497)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002724) DROP TABLE "users"
+ SQL (0.003073) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000589)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.004320) DROP TABLE "report_caches"
+ SQL (0.002594) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003647) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000563)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000269) SELECT version FROM "schema_migrations"
+ User Create (0.000360) INSERT INTO "users" ("profile_vi…
+ User Create (0.000403) INSERT INTO "users" ("profile_visi…
+ User Create (0.000492) INSERT INTO "users" ("profile_vi…
+ SQL (0.001465) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000495) SELECT * FROM "users" 
+ User Destroy (0.000324)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000468)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000429)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000473) INSERT INTO "users" ("profile_vi…
+ User Create (0.000594) INSERT INTO "users" ("profile_visi…
+ User Create (0.000427) INSERT INTO "users" ("profile_vi…
+ SQL (0.001897) SELECT sum("users".profile_visits) AS sum_…
+ User Load (0.000516) SELECT * FROM "users" 
+ User Destroy (0.000356)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000588)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000623)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ User Create (0.000465) INSERT INTO "users" ("profile_vi…
+ User Create (0.000448) INSERT INTO "users" ("profile_visi…
+ User Create (0.000524) INSERT INTO "users" ("profile_vi…
+ SQL (0.001880) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000444) SELECT * FROM "users" 
+ User Destroy (0.000289)  DELETE FROM "users"
+ WHERE "id" = 7
+
+ User Destroy (0.001124)  DELETE FROM "users"
+ WHERE "id" = 8
+
+ User Destroy (0.000606)  DELETE FROM "users"
+ WHERE "id" = 9
+
+ SQL (0.000206) select sqlite_version(*)
+ SQL (0.000573)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002802) DROP TABLE "users"
+ SQL (0.002990) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000554)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.004567) DROP TABLE "report_caches"
+ SQL (0.002613) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002454) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.002070)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000520) SELECT version FROM "schema_migrations"
+ User Create (0.000359) INSERT INTO "users" ("profile_vi…
+ User Create (0.000424) INSERT INTO "users" ("profile_visi…
+ User Create (0.000473) INSERT INTO "users" ("profile_vi…
+ SQL (0.001440) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000732) SELECT * FROM "users" 
+ User Destroy (0.000340)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000593)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000685)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000461) INSERT INTO "users" ("profile_vi…
+ User Create (0.000552) INSERT INTO "users" ("profile_visi…
+ User Create (0.000555) INSERT INTO "users" ("profile_vi…
+ SQL (0.001652) SELECT sum("users".profile_visits) AS sum_…
+ User Load (0.000500) SELECT * FROM "users" 
+ User Destroy (0.000327)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.001026)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000709)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ User Create (0.000448) INSERT INTO "users" ("profile_vi…
+ User Create (0.000466) INSERT INTO "users" ("profile_visi…
+ User Create (0.000678) INSERT INTO "users" ("profile_vi…
+ SQL (0.001908) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000510) SELECT * FROM "users" 
+ User Destroy (0.000339)  DELETE FROM "users"
+ WHERE "id" = 7
+
+ User Destroy (0.000620)  DELETE FROM "users"
+ WHERE "id" = 8
+
+ User Destroy (0.000579)  DELETE FROM "users"
+ WHERE "id" = 9
+
+ SQL (0.000208) select sqlite_version(*)
+ SQL (0.000595)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002726) DROP TABLE "users"
+ SQL (0.002867) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000480)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002520) DROP TABLE "report_caches"
+ SQL (0.002871) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002719) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000438)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000173) SELECT version FROM "schema_migrations"
+ User Create (0.000442) INSERT INTO "users" ("profile_vi…
+ User Create (0.000533) INSERT INTO "users" ("profile_visi…
+ User Create (0.001017) INSERT INTO "users" ("profile_vi…
+ SQL (0.001405) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000503) SELECT * FROM "users" 
+ User Destroy (0.000327)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000709)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000636)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000443) INSERT INTO "users" ("profile_vi…
+ User Create (0.000532) INSERT INTO "users" ("profile_visi…
+ User Create (0.000452) INSERT INTO "users" ("profile_vi…
+ SQL (0.001796) SELECT sum("users".profile_visits) AS sum_…
+ User Load (0.000656) SELECT * FROM "users" 
+ User Destroy (0.000379)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000518)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000568)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ User Create (0.000392) INSERT INTO "users" ("profile_vi…
+ User Create (0.000663) INSERT INTO "users" ("profile_visi…
+ User Create (0.000414) INSERT INTO "users" ("profile_vi…
+ SQL (0.002318) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000522) SELECT * FROM "users" 
+ User Destroy (0.000349)  DELETE FROM "users"
+ WHERE "id" = 7
+
+ User Destroy (0.000459)  DELETE FROM "users"
+ WHERE "id" = 8
+
+ User Destroy (0.000657)  DELETE FROM "users"
+ WHERE "id" = 9
+
+ SQL (0.000212) select sqlite_version(*)
+ SQL (0.000495)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.136293) DROP TABLE "users"
+ SQL (0.172204) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000600)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002941) DROP TABLE "report_caches"
+ SQL (0.048116) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003623) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000966)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000240) SELECT version FROM "schema_migrations"
+ User Create (0.000361) INSERT INTO "users" ("profile_vi…
+ User Create (0.000419) INSERT INTO "users" ("profile_visi…
+ User Create (0.000418) INSERT INTO "users" ("profile_vi…
+ SQL (0.001736) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000496) SELECT * FROM "users" 
+ User Destroy (0.000321)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000429)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000739)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000440) INSERT INTO "users" ("profile_vi…
+ User Create (0.000425) INSERT INTO "users" ("profile_visi…
+ User Create (0.000392) INSERT INTO "users" ("profile_vi…
+ SQL (0.001413) SELECT sum("users".profile_visits) AS sum_…
+ User Load (0.000447) SELECT * FROM "users" 
+ User Destroy (0.000325)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000740)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000654)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ User Create (0.000527) INSERT INTO "users" ("profile_vi…
+ User Create (0.000399) INSERT INTO "users" ("profile_visi…
+ User Create (0.000513) INSERT INTO "users" ("profile_vi…
+ SQL (0.002393) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000522) SELECT * FROM "users" 
+ User Destroy (0.000354)  DELETE FROM "users"
+ WHERE "id" = 7
+
+ User Destroy (0.000447)  DELETE FROM "users"
+ WHERE "id" = 8
+
+ User Destroy (0.000595)  DELETE FROM "users"
+ WHERE "id" = 9
+
+ SQL (0.000251) select sqlite_version(*)
+ SQL (0.000707)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.007001) DROP TABLE "users"
+ SQL (0.001992) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000449)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.001921) DROP TABLE "report_caches"
+ SQL (0.001931) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.005169) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000362)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000328) SELECT version FROM "schema_migrations"
+ User Create (0.000364) INSERT INTO "users" ("profile_vi…
+ User Create (0.000421) INSERT INTO "users" ("profile_visi…
+ User Create (0.000440) INSERT INTO "users" ("profile_vi…
+ SQL (0.001331) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000501) SELECT * FROM "users" 
+ User Destroy (0.000322)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000616)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000483)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000423) INSERT INTO "users" ("profile_vi…
+ User Create (0.000475) INSERT INTO "users" ("profile_visi…
+ User Create (0.000417) INSERT INTO "users" ("profile_vi…
+ SQL (0.001640) SELECT sum("users".profile_visits) AS sum_…
+ User Load (0.000525) SELECT * FROM "users" 
+ User Destroy (0.000354)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000641)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000600)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ User Create (0.000466) INSERT INTO "users" ("profile_vi…
+ User Create (0.000419) INSERT INTO "users" ("profile_visi…
+ User Create (0.000491) INSERT INTO "users" ("profile_vi…
+ SQL (0.002002) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000505) SELECT * FROM "users" 
+ User Destroy (0.000318)  DELETE FROM "users"
+ WHERE "id" = 7
+
+ User Destroy (0.000524)  DELETE FROM "users"
+ WHERE "id" = 8
+
+ User Destroy (0.000728)  DELETE FROM "users"
+ WHERE "id" = 9
+
+ SQL (0.000236) select sqlite_version(*)
+ SQL (0.000512)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002742) DROP TABLE "users"
+ SQL (0.002828) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.001029)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.004356) DROP TABLE "report_caches"
+ SQL (0.002841) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003909) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000584)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000266) SELECT version FROM "schema_migrations"
+ SQL (0.000387)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000325)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ User Create (0.000448) INSERT INTO "users" ("profile_vi…
+ User Create (0.000333) INSERT INTO "users" ("profile_visi…
+ User Create (0.000565) INSERT INTO "users" ("profile_vi…
+ User Load (0.000456) SELECT * FROM "users" 
+ User Destroy (0.000996)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000609)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000492)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000491) INSERT INTO "users" ("profile_visi…
+ User Create (0.000724) INSERT INTO "users" ("profile_vi…
+ User Create (0.000563) INSERT INTO "users" ("profile_visi…
+ User Load (0.000800) SELECT * FROM "users" 
+ User Destroy (0.000393)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000631)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000440)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ User Create (0.000570) INSERT INTO "users" ("profile_vi…
+ User Create (0.000701) INSERT INTO "users" ("profile_visi…
+ User Create (0.000440) INSERT INTO "users" ("profile_vi…
+ User Load (0.000618) SELECT * FROM "users" 
+ User Destroy (0.000341)  DELETE FROM "users"
+ WHERE "id" = 7
+
+ User Destroy (0.000385)  DELETE FROM "users"
+ WHERE "id" = 8
+
+ User Destroy (0.000598)  DELETE FROM "users"
+ WHERE "id" = 9
+
+ SQL (0.000538)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002973)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000539)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000347)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000346)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000208) select sqlite_version(*)
+ SQL (0.000500)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002658) DROP TABLE "users"
+ SQL (0.003036) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.001475)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002963) DROP TABLE "report_caches"
+ SQL (0.002414) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003569) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000472)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000375) SELECT version FROM "schema_migrations"
+ User Create (0.000380) INSERT INTO "users" ("profile_vi…
+ User Create (0.000431) INSERT INTO "users" ("profile_visi…
+ User Create (0.000415) INSERT INTO "users" ("profile_vi…
+ SQL (0.001402) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000438) SELECT * FROM "users" 
+ User Destroy (0.000280)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000585)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000686)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000469) INSERT INTO "users" ("profile_vi…
+ User Create (0.000427) INSERT INTO "users" ("profile_visi…
+ User Create (0.000404) INSERT INTO "users" ("profile_vi…
+ SQL (0.001793) SELECT sum("users".profile_visits) AS sum_…
+ User Load (0.000505) SELECT * FROM "users" 
+ User Destroy (0.000335)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000387)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000412)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ User Create (0.000472) INSERT INTO "users" ("profile_vi…
+ User Create (0.000407) INSERT INTO "users" ("profile_visi…
+ User Create (0.000396) INSERT INTO "users" ("profile_vi…
+ SQL (0.002380) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000510) SELECT * FROM "users" 
+ User Destroy (0.000342)  DELETE FROM "users"
+ WHERE "id" = 7
+
+ User Destroy (0.000608)  DELETE FROM "users"
+ WHERE "id" = 8
+
+ User Destroy (0.000614)  DELETE FROM "users"
+ WHERE "id" = 9
+
+ SQL (0.000207) select sqlite_version(*)
+ SQL (0.000489)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002981) DROP TABLE "users"
+ SQL (0.002905) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000512)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003051) DROP TABLE "report_caches"
+ SQL (0.002652) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002980) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000545)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000353) SELECT version FROM "schema_migrations"
+ SQL (0.000320)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000251)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ User Create (0.000347) INSERT INTO "users" ("profile_vi…
+ User Create (0.000497) INSERT INTO "users" ("profile_visi…
+ User Create (0.000534) INSERT INTO "users" ("profile_vi…
+ User Load (0.000942) SELECT * FROM "users" 
+ User Destroy (0.000347)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000669)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000417)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000424) INSERT INTO "users" ("profile_visi…
+ User Create (0.000462) INSERT INTO "users" ("profile_vi…
+ User Create (0.000423) INSERT INTO "users" ("profile_visi…
+ User Load (0.000818) SELECT * FROM "users" 
+ User Destroy (0.000410)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000619)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000690)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ User Create (0.000475) INSERT INTO "users" ("profile_vi…
+ User Create (0.000570) INSERT INTO "users" ("profile_visi…
+ User Create (0.000471) INSERT INTO "users" ("profile_vi…
+ User Load (0.000765) SELECT * FROM "users" 
+ User Destroy (0.000388)  DELETE FROM "users"
+ WHERE "id" = 7
+
+ User Destroy (0.000431)  DELETE FROM "users"
+ WHERE "id" = 8
+
+ User Destroy (0.000677)  DELETE FROM "users"
+ WHERE "id" = 9
+
+ SQL (0.000208) select sqlite_version(*)
+ SQL (0.000496)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002659) DROP TABLE "users"
+ SQL (0.002523) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000468)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002378) DROP TABLE "report_caches"
+ SQL (0.002658) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002646) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000515)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000304) SELECT version FROM "schema_migrations"
+ User Create (0.000361) INSERT INTO "users" ("profile_vi…
+ User Create (0.000445) INSERT INTO "users" ("profile_visi…
+ User Create (0.000464) INSERT INTO "users" ("profile_vi…
+ SQL (0.001839) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000503) SELECT * FROM "users" 
+ User Destroy (0.000326)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000376)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000386)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000444) INSERT INTO "users" ("profile_vi…
+ User Create (0.000486) INSERT INTO "users" ("profile_visi…
+ User Create (0.000538) INSERT INTO "users" ("profile_vi…
+ SQL (0.001718) SELECT sum("users".profile_visits) AS sum_…
+ User Load (0.000581) SELECT * FROM "users" 
+ User Destroy (0.000361)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000607)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000705)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ User Create (0.000553) INSERT INTO "users" ("profile_vi…
+ User Create (0.000551) INSERT INTO "users" ("profile_visi…
+ User Create (0.000487) INSERT INTO "users" ("profile_vi…
+ SQL (0.002304) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000517) SELECT * FROM "users" 
+ User Destroy (0.000339)  DELETE FROM "users"
+ WHERE "id" = 7
+
+ User Destroy (0.000483)  DELETE FROM "users"
+ WHERE "id" = 8
+
+ User Destroy (0.000610)  DELETE FROM "users"
+ WHERE "id" = 9
+
+ SQL (0.000204) select sqlite_version(*)
+ SQL (0.000491)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.167373) DROP TABLE "users"
+ SQL (0.072842) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000471)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.029652) DROP TABLE "report_caches"
+ SQL (0.004586) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003222) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000662)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000286) SELECT version FROM "schema_migrations"
+ SQL (0.001092) SELECT count("users".id) AS count_id, DA…
+ SQL (0.000902) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000682) SELECT count("users".id) AS count_id, DA…
+ SQL (0.000290)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000266)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ User Create (0.000344) INSERT INTO "users" ("profile_visi…
+ User Create (0.000502) INSERT INTO "users" ("profile_vi…
+ User Create (0.000513) INSERT INTO "users" ("profile_visi…
+ SQL (0.001872) SELECT count("users".id) AS count_id, DA…
+ User Load (0.000636) SELECT * FROM "users" 
+ User Destroy (0.000440)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.001274)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000388)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000499) INSERT INTO "users" ("profile_visi…
+ User Create (0.000527) INSERT INTO "users" ("profile_vi…
+ User Create (0.000507) INSERT INTO "users" ("profile_visi…
+ SQL (0.001534) SELECT sum("users".profile_visits) AS su…
+ User Load (0.000565) SELECT * FROM "users" 
+ User Destroy (0.000338)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000397)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000610)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ User Create (0.000434) INSERT INTO "users" ("profile_visi…
+ User Create (0.000392) INSERT INTO "users" ("profile_vi…
+ User Create (0.000555) INSERT INTO "users" ("profile_visi…
+ SQL (0.001808) SELECT count("users".id) AS count_id, DA…
+ User Load (0.000465) SELECT * FROM "users" 
+ User Destroy (0.000314)  DELETE FROM "users"
+ WHERE "id" = 7
+
+ User Destroy (0.000446)  DELETE FROM "users"
+ WHERE "id" = 8
+
+ User Destroy (0.000539)  DELETE FROM "users"
+ WHERE "id" = 9
+
+ User Create (0.000418) INSERT INTO "users" ("profile_visi…
+ User Create (0.000427) INSERT INTO "users" ("profile_vi…
+ User Create (0.000441) INSERT INTO "users" ("profile_visi…
+ SQL (0.001848) SELECT count("users".id) AS count_id, DA…
+ User Load (0.000499) SELECT * FROM "users" 
+ User Destroy (0.001452)  DELETE FROM "users"
+ WHERE "id" = 10
+
+ User Destroy (0.000435)  DELETE FROM "users"
+ WHERE "id" = 11
+
+ User Destroy (0.000335)  DELETE FROM "users"
+ WHERE "id" = 12
+
+ User Create (0.000403) INSERT INTO "users" ("profile_visi…
+ User Create (0.000408) INSERT INTO "users" ("profile_vi…
+ User Create (0.000448) INSERT INTO "users" ("profile_visi…
+ SQL (0.001810) SELECT sum("users".profile_visits) AS su…
+ User Load (0.000498) SELECT * FROM "users" 
+ User Destroy (0.000323)  DELETE FROM "users"
+ WHERE "id" = 13
+
+ User Destroy (0.000434)  DELETE FROM "users"
+ WHERE "id" = 14
+
+ User Destroy (0.000413)  DELETE FROM "users"
+ WHERE "id" = 15
+
+ User Create (0.000453) INSERT INTO "users" ("profile_visi…
+ User Create (0.000472) INSERT INTO "users" ("profile_vi…
+ User Create (0.000953) INSERT INTO "users" ("profile_visi…
+ SQL (0.001862) SELECT count("users".id) AS count_id, DA…
+ User Load (0.001196) SELECT * FROM "users" 
+ User Destroy (0.000403)  DELETE FROM "users"
+ WHERE "id" = 16
+
+ User Destroy (0.000390)  DELETE FROM "users"
+ WHERE "id" = 17
+
+ User Destroy (0.000550)  DELETE FROM "users"
+ WHERE "id" = 18
+
+ SQL (0.000218) select sqlite_version(*)
+ SQL (0.000513)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002632) DROP TABLE "users"
+ SQL (0.002858) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000497)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002952) DROP TABLE "report_caches"
+ SQL (0.002518) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002714) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000521)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000291) SELECT version FROM "schema_migrations"
+ SQL (0.000317)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000226)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000196) select sqlite_version(*)
+ SQL (0.000570)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002670) DROP TABLE "users"
+ SQL (0.002951) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000498)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002671) DROP TABLE "report_caches"
+ SQL (0.002753) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002917) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.001071)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000528) SELECT version FROM "schema_migrations"
+ SQL (0.000871) SELECT count("users".id) AS count_id, DA…
+ SQL (0.000702) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000724) SELECT count("users".id) AS count_id, DA…
+ User Create (0.000339) INSERT INTO "users" ("profile_visi…
+ User Create (0.000473) INSERT INTO "users" ("profile_vi…
+ User Create (0.000560) INSERT INTO "users" ("profile_visi…
+ SQL (0.002046) SELECT count("users".id) AS count_id, DA…
+ User Load (0.000649) SELECT * FROM "users" 
+ User Destroy (0.000459)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000523)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000307)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000433) INSERT INTO "users" ("profile_visi…
+ User Create (0.000483) INSERT INTO "users" ("profile_vi…
+ User Create (0.000522) INSERT INTO "users" ("profile_visi…
+ SQL (0.002093) SELECT sum("users".profile_visits) AS su…
+ User Load (0.000583) SELECT * FROM "users" 
+ User Destroy (0.000353)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000656)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000599)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ User Create (0.000464) INSERT INTO "users" ("profile_visi…
+ User Create (0.000533) INSERT INTO "users" ("profile_vi…
+ User Create (0.000420) INSERT INTO "users" ("profile_visi…
+ SQL (0.002500) SELECT count("users".id) AS count_id, DA…
+ User Load (0.000505) SELECT * FROM "users" 
+ User Destroy (0.000322)  DELETE FROM "users"
+ WHERE "id" = 7
+
+ User Destroy (0.000333)  DELETE FROM "users"
+ WHERE "id" = 8
+
+ User Destroy (0.000775)  DELETE FROM "users"
+ WHERE "id" = 9
+
+ User Create (0.000481) INSERT INTO "users" ("profile_visi…
+ User Create (0.000414) INSERT INTO "users" ("profile_vi…
+ User Create (0.000551) INSERT INTO "users" ("profile_visi…
+ User Load (0.000627) SELECT * FROM "users" 
+ User Destroy (0.000341)  DELETE FROM "users"
+ WHERE "id" = 10
+
+ User Destroy (0.000466)  DELETE FROM "users"
+ WHERE "id" = 11
+
+ User Destroy (0.000552)  DELETE FROM "users"
+ WHERE "id" = 12
+
+ User Create (0.000439) INSERT INTO "users" ("profile_vi…
+ User Create (0.000281) INSERT INTO "users" ("profile_visi…
+ User Create (0.000280) INSERT INTO "users" ("profile_vi…
+ User Load (0.000902) SELECT * FROM "users" 
+ User Destroy (0.000374)  DELETE FROM "users"
+ WHERE "id" = 13
+
+ User Destroy (0.000638)  DELETE FROM "users"
+ WHERE "id" = 14
+
+ User Destroy (0.000414)  DELETE FROM "users"
+ WHERE "id" = 15
+
+ User Create (0.000473) INSERT INTO "users" ("profile_visi…
+ User Create (0.000501) INSERT INTO "users" ("profile_vi…
+ User Create (0.000525) INSERT INTO "users" ("profile_visi…
+ User Load (0.000628) SELECT * FROM "users" 
+ User Destroy (0.000411)  DELETE FROM "users"
+ WHERE "id" = 16
+
+ User Destroy (0.000343)  DELETE FROM "users"
+ WHERE "id" = 17
+
+ User Destroy (0.000357)  DELETE FROM "users"
+ WHERE "id" = 18
+
+ SQL (0.000207) select sqlite_version(*)
+ SQL (0.000624)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002991) DROP TABLE "users"
+ SQL (0.003011) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000552)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.004246) DROP TABLE "report_caches"
+ SQL (0.002675) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003032) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000676)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000551) SELECT version FROM "schema_migrations"
+ User Create (0.000369) INSERT INTO "users" ("profile_vi…
+ User Create (0.000440) INSERT INTO "users" ("profile_visi…
+ User Create (0.000459) INSERT INTO "users" ("profile_vi…
+ SQL (0.001688) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000597) SELECT * FROM "users" 
+ User Destroy (0.000328)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000386)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000811)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000541) INSERT INTO "users" ("profile_vi…
+ User Create (0.000562) INSERT INTO "users" ("profile_visi…
+ User Create (0.000438) INSERT INTO "users" ("profile_vi…
+ SQL (0.001679) SELECT sum("users".profile_visits) AS sum_…
+ User Load (0.000525) SELECT * FROM "users" 
+ User Destroy (0.000404)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000531)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000459)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ User Create (0.000507) INSERT INTO "users" ("profile_vi…
+ User Create (0.000603) INSERT INTO "users" ("profile_visi…
+ User Create (0.000469) INSERT INTO "users" ("profile_vi…
+ SQL (0.001983) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000495) SELECT * FROM "users" 
+ User Destroy (0.000363)  DELETE FROM "users"
+ WHERE "id" = 7
+
+ User Destroy (0.000372)  DELETE FROM "users"
+ WHERE "id" = 8
+
+ User Destroy (0.000334)  DELETE FROM "users"
+ WHERE "id" = 9
+
+ SQL (0.000195) select sqlite_version(*)
+ SQL (0.000490)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002669) DROP TABLE "users"
+ SQL (0.002954) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000518)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003037) DROP TABLE "report_caches"
+ SQL (0.002660) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003001) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000839)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000284) SELECT version FROM "schema_migrations"
+ SQL (0.000947) SELECT count("users".id) AS count_id, DA…
+ SQL (0.000704) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000680) SELECT count("users".id) AS count_id, DA…
+ User Create (0.000351) INSERT INTO "users" ("profile_visi…
+ User Create (0.000433) INSERT INTO "users" ("profile_vi…
+ User Create (0.000476) INSERT INTO "users" ("profile_visi…
+ SQL (0.002046) SELECT count("users".id) AS count_id, DA…
+ User Load (0.000649) SELECT * FROM "users" 
+ User Destroy (0.000439)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000749)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000332)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000377) INSERT INTO "users" ("profile_visi…
+ User Create (0.000584) INSERT INTO "users" ("profile_vi…
+ User Create (0.000560) INSERT INTO "users" ("profile_visi…
+ SQL (0.001725) SELECT sum("users".profile_visits) AS su…
+ User Load (0.000500) SELECT * FROM "users" 
+ User Destroy (0.000460)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000635)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000538)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ User Create (0.000472) INSERT INTO "users" ("profile_visi…
+ User Create (0.000577) INSERT INTO "users" ("profile_vi…
+ User Create (0.000531) INSERT INTO "users" ("profile_visi…
+ SQL (0.002088) SELECT count("users".id) AS count_id, DA…
+ User Load (0.000521) SELECT * FROM "users" 
+ User Destroy (0.000344)  DELETE FROM "users"
+ WHERE "id" = 7
+
+ User Destroy (0.000578)  DELETE FROM "users"
+ WHERE "id" = 8
+
+ User Destroy (0.000365)  DELETE FROM "users"
+ WHERE "id" = 9
+
+ User Create (0.000475) INSERT INTO "users" ("profile_visi…
+ User Create (0.000409) INSERT INTO "users" ("profile_vi…
+ User Create (0.000446) INSERT INTO "users" ("profile_visi…
+ User Load (0.000631) SELECT * FROM "users" 
+ User Destroy (0.000331)  DELETE FROM "users"
+ WHERE "id" = 10
+
+ User Destroy (0.001622)  DELETE FROM "users"
+ WHERE "id" = 11
+
+ User Destroy (0.000456)  DELETE FROM "users"
+ WHERE "id" = 12
+
+ User Create (0.000438) INSERT INTO "users" ("profile_vi…
+ User Create (0.000475) INSERT INTO "users" ("profile_visi…
+ User Create (0.000417) INSERT INTO "users" ("profile_vi…
+ User Load (0.000817) SELECT * FROM "users" 
+ User Destroy (0.000364)  DELETE FROM "users"
+ WHERE "id" = 13
+
+ User Destroy (0.000674)  DELETE FROM "users"
+ WHERE "id" = 14
+
+ User Destroy (0.000496)  DELETE FROM "users"
+ WHERE "id" = 15
+
+ User Create (0.000488) INSERT INTO "users" ("profile_visi…
+ User Create (0.000490) INSERT INTO "users" ("profile_vi…
+ User Create (0.000728) INSERT INTO "users" ("profile_visi…
+ User Load (0.000582) SELECT * FROM "users" 
+ User Destroy (0.000349)  DELETE FROM "users"
+ WHERE "id" = 16
+
+ User Destroy (0.000576)  DELETE FROM "users"
+ WHERE "id" = 17
+
+ User Destroy (0.000412)  DELETE FROM "users"
+ WHERE "id" = 18
+
+ SQL (0.000194) select sqlite_version(*)
+ SQL (0.000494)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003583) DROP TABLE "users"
+ SQL (0.002800) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000434)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002540) DROP TABLE "report_caches"
+ SQL (0.002644) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003318) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000572)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000362) SELECT version FROM "schema_migrations"
+ SQL (0.000191) select sqlite_version(*)
+ SQL (0.000491)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002750) DROP TABLE "users"
+ SQL (0.003031) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000498)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003310) DROP TABLE "report_caches"
+ SQL (0.002570) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002912) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000551)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000243) SELECT version FROM "schema_migrations"
+ SQL (0.000982) SELECT count("users".id) AS count_id, DA…
+ SQL (0.001474) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000733) SELECT count("users".id) AS count_id, DA…
+ User Create (0.000339) INSERT INTO "users" ("profile_visi…
+ User Create (0.000407) INSERT INTO "users" ("profile_vi…
+ User Create (0.000428) INSERT INTO "users" ("profile_visi…
+ SQL (0.003220) SELECT count("users".id) AS count_id, DA…
+ User Load (0.000629) SELECT * FROM "users" 
+ User Destroy (0.000407)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000379)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000397)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000447) INSERT INTO "users" ("profile_visi…
+ User Create (0.000449) INSERT INTO "users" ("profile_vi…
+ User Create (0.000422) INSERT INTO "users" ("profile_visi…
+ SQL (0.001429) SELECT sum("users".profile_visits) AS su…
+ User Load (0.000445) SELECT * FROM "users" 
+ User Destroy (0.000289)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000458)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000613)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ User Create (0.000504) INSERT INTO "users" ("profile_visi…
+ User Create (0.000604) INSERT INTO "users" ("profile_vi…
+ User Create (0.000556) INSERT INTO "users" ("profile_visi…
+ SQL (0.001566) SELECT count("users".id) AS count_id, DA…
+ User Load (0.000394) SELECT * FROM "users" 
+ User Destroy (0.000256)  DELETE FROM "users"
+ WHERE "id" = 7
+
+ User Destroy (0.000513)  DELETE FROM "users"
+ WHERE "id" = 8
+
+ User Destroy (0.000468)  DELETE FROM "users"
+ WHERE "id" = 9
+
+ User Create (0.000349) INSERT INTO "users" ("profile_visi…
+ User Create (0.000424) INSERT INTO "users" ("profile_vi…
+ User Create (0.000524) INSERT INTO "users" ("profile_visi…
+ User Load (0.000782) SELECT * FROM "users" 
+ User Destroy (0.000343)  DELETE FROM "users"
+ WHERE "id" = 10
+
+ User Destroy (0.000559)  DELETE FROM "users"
+ WHERE "id" = 11
+
+ User Destroy (0.000578)  DELETE FROM "users"
+ WHERE "id" = 12
+
+ User Create (0.000585) INSERT INTO "users" ("profile_vi…
+ User Create (0.000442) INSERT INTO "users" ("profile_visi…
+ User Create (0.000458) INSERT INTO "users" ("profile_vi…
+ User Load (0.000778) SELECT * FROM "users" 
+ User Destroy (0.000395)  DELETE FROM "users"
+ WHERE "id" = 13
+
+ User Destroy (0.000390)  DELETE FROM "users"
+ WHERE "id" = 14
+
+ User Destroy (0.000646)  DELETE FROM "users"
+ WHERE "id" = 15
+
+ User Create (0.000508) INSERT INTO "users" ("profile_visi…
+ User Create (0.000461) INSERT INTO "users" ("profile_vi…
+ User Create (0.000410) INSERT INTO "users" ("profile_visi…
+ User Load (0.000823) SELECT * FROM "users" 
+ User Destroy (0.001427)  DELETE FROM "users"
+ WHERE "id" = 16
+
+ User Destroy (0.000419)  DELETE FROM "users"
+ WHERE "id" = 17
+
+ User Destroy (0.000341)  DELETE FROM "users"
+ WHERE "id" = 18
+
+ SQL (0.000201) select sqlite_version(*)
+ SQL (0.000545)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003039) DROP TABLE "users"
+ SQL (0.002935) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000508)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.004378) DROP TABLE "report_caches"
+ SQL (0.002587) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003914) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000938)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000287) SELECT version FROM "schema_migrations"
+ SQL (0.000875) SELECT count("users".id) AS count_id, DA…
+ SQL (0.000918) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000751) SELECT count("users".id) AS count_id, DA…
+ User Create (0.000340) INSERT INTO "users" ("profile_visi…
+ User Create (0.000417) INSERT INTO "users" ("profile_vi…
+ User Create (0.000592) INSERT INTO "users" ("profile_visi…
+ SQL (0.002652) SELECT count("users".id) AS count_id, DA…
+ User Load (0.000585) SELECT * FROM "users" 
+ User Destroy (0.000383)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000315)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000280)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000476) INSERT INTO "users" ("profile_visi…
+ User Create (0.000394) INSERT INTO "users" ("profile_vi…
+ User Create (0.000352) INSERT INTO "users" ("profile_visi…
+ SQL (0.001053) SELECT sum("users".profile_visits) AS su…
+ User Load (0.000372) SELECT * FROM "users" 
+ User Destroy (0.000277)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000264)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000267)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ User Create (0.000410) INSERT INTO "users" ("profile_visi…
+ User Create (0.000318) INSERT INTO "users" ("profile_vi…
+ User Create (0.000400) INSERT INTO "users" ("profile_visi…
+ SQL (0.001560) SELECT count("users".id) AS count_id, DA…
+ User Load (0.000349) SELECT * FROM "users" 
+ User Destroy (0.000307)  DELETE FROM "users"
+ WHERE "id" = 7
+
+ User Destroy (0.000593)  DELETE FROM "users"
+ WHERE "id" = 8
+
+ User Destroy (0.000335)  DELETE FROM "users"
+ WHERE "id" = 9
+
+ User Create (0.000390) INSERT INTO "users" ("profile_visi…
+ User Create (0.000524) INSERT INTO "users" ("profile_vi…
+ User Create (0.000406) INSERT INTO "users" ("profile_visi…
+ User Load (0.001031) SELECT * FROM "users" 
+ User Destroy (0.000385)  DELETE FROM "users"
+ WHERE "id" = 10
+
+ User Destroy (0.000607)  DELETE FROM "users"
+ WHERE "id" = 11
+
+ User Destroy (0.000415)  DELETE FROM "users"
+ WHERE "id" = 12
+
+ User Create (0.000386) INSERT INTO "users" ("profile_vi…
+ User Create (0.000437) INSERT INTO "users" ("profile_visi…
+ User Create (0.000440) INSERT INTO "users" ("profile_vi…
+ User Load (0.000892) SELECT * FROM "users" 
+ User Destroy (0.000401)  DELETE FROM "users"
+ WHERE "id" = 13
+
+ User Destroy (0.000541)  DELETE FROM "users"
+ WHERE "id" = 14
+
+ User Destroy (0.000435)  DELETE FROM "users"
+ WHERE "id" = 15
+
+ User Create (0.000474) INSERT INTO "users" ("profile_visi…
+ User Create (0.000422) INSERT INTO "users" ("profile_vi…
+ User Create (0.000435) INSERT INTO "users" ("profile_visi…
+ User Load (0.000505) SELECT * FROM "users" 
+ User Destroy (0.000295)  DELETE FROM "users"
+ WHERE "id" = 16
+
+ User Destroy (0.000411)  DELETE FROM "users"
+ WHERE "id" = 17
+
+ User Destroy (0.000484)  DELETE FROM "users"
+ WHERE "id" = 18
+
+ SQL (0.000207) select sqlite_version(*)
+ SQL (0.000492)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002787) DROP TABLE "users"
+ SQL (0.002914) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000490)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002595) DROP TABLE "report_caches"
+ SQL (0.002711) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003314) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000647)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000176) SELECT version FROM "schema_migrations"
+ User Create (0.000425) INSERT INTO "users" ("profile_vi…
+ User Create (0.000489) INSERT INTO "users" ("profile_visi…
+ User Create (0.000478) INSERT INTO "users" ("profile_vi…
+ SQL (0.001919) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000506) SELECT * FROM "users" 
+ User Destroy (0.000330)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000700)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000451)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000453) INSERT INTO "users" ("profile_vi…
+ User Create (0.000443) INSERT INTO "users" ("profile_visi…
+ User Create (0.000437) INSERT INTO "users" ("profile_vi…
+ SQL (0.001896) SELECT sum("users".profile_visits) AS sum_…
+ User Load (0.000506) SELECT * FROM "users" 
+ User Destroy (0.000336)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000702)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000359)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ User Create (0.000428) INSERT INTO "users" ("profile_vi…
+ User Create (0.000518) INSERT INTO "users" ("profile_visi…
+ User Create (0.000472) INSERT INTO "users" ("profile_vi…
+ SQL (0.002123) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000558) SELECT * FROM "users" 
+ User Destroy (0.000431)  DELETE FROM "users"
+ WHERE "id" = 7
+
+ User Destroy (0.000567)  DELETE FROM "users"
+ WHERE "id" = 8
+
+ User Destroy (0.000611)  DELETE FROM "users"
+ WHERE "id" = 9
+
+ SQL (0.000207) select sqlite_version(*)
+ SQL (0.000488)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002782) DROP TABLE "users"
+ SQL (0.002981) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000488)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002851) DROP TABLE "report_caches"
+ SQL (0.002706) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003492) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000488)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000222) SELECT version FROM "schema_migrations"
+ SQL (0.000316)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000257)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000209) select sqlite_version(*)
+ SQL (0.000499)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.172471) DROP TABLE "users"
+ SQL (0.058655) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.001381)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003250) DROP TABLE "report_caches"
+ SQL (0.002342) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002928) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000904)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000428) SELECT version FROM "schema_migrations"
+ SQL (0.000207) select sqlite_version(*)
+ SQL (0.000488)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.155276) DROP TABLE "users"
+ SQL (0.155486) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000620)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.130580) DROP TABLE "report_caches"
+ SQL (0.042676) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003648) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000476)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000290) SELECT version FROM "schema_migrations"
+ SQL (0.000208) select sqlite_version(*)
+ SQL (0.000491)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002678) DROP TABLE "users"
+ SQL (0.002889) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000996)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002799) DROP TABLE "report_caches"
+ SQL (0.002485) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003581) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000466)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000217) SELECT version FROM "schema_migrations"
+ SQL (0.000200) select sqlite_version(*)
+ SQL (0.000553)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.006599) DROP TABLE "users"
+ SQL (0.040033) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000531)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002962) DROP TABLE "report_caches"
+ SQL (0.002980) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003051) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000581)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000255) SELECT version FROM "schema_migrations"
+ User Create (0.000383) INSERT INTO "users" ("profile_vi…
+ User Create (0.000421) INSERT INTO "users" ("profile_visi…
+ User Create (0.000458) INSERT INTO "users" ("profile_vi…
+ User Load (0.000795) SELECT * FROM "users" 
+ User Destroy (0.001355)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000401)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000382)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000373) INSERT INTO "users" ("profile_visi…
+ User Create (0.000708) INSERT INTO "users" ("profile_vi…
+ User Create (0.000443) INSERT INTO "users" ("profile_visi…
+ User Load (0.001051) SELECT * FROM "users" 
+ User Destroy (0.000613)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000519)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000472)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ User Create (0.000447) INSERT INTO "users" ("profile_vi…
+ User Create (0.000652) INSERT INTO "users" ("profile_visi…
+ User Create (0.001038) INSERT INTO "users" ("profile_vi…
+ User Load (0.000424) SELECT * FROM "users" 
+ User Destroy (0.000231)  DELETE FROM "users"
+ WHERE "id" = 7
+
+ User Destroy (0.000417)  DELETE FROM "users"
+ WHERE "id" = 8
+
+ User Destroy (0.000416)  DELETE FROM "users"
+ WHERE "id" = 9
+
+ User Create (0.000440) INSERT INTO "users" ("profile_visi…
+ User Create (0.000268) INSERT INTO "users" ("profile_vi…
+ User Create (0.000437) INSERT INTO "users" ("profile_visi…
+ SQL (0.001596) SELECT count("users".id) AS count_id, DA…
+ User Load (0.000526) SELECT * FROM "users" 
+ User Destroy (0.000331)  DELETE FROM "users"
+ WHERE "id" = 10
+
+ User Destroy (0.000572)  DELETE FROM "users"
+ WHERE "id" = 11
+
+ User Destroy (0.000889)  DELETE FROM "users"
+ WHERE "id" = 12
+
+ User Create (0.000459) INSERT INTO "users" ("profile_visi…
+ User Create (0.000307) INSERT INTO "users" ("profile_vi…
+ User Create (0.000491) INSERT INTO "users" ("profile_visi…
+ SQL (0.001536) SELECT sum("users".profile_visits) AS su…
+ User Load (0.000511) SELECT * FROM "users" 
+ User Destroy (0.000371)  DELETE FROM "users"
+ WHERE "id" = 13
+
+ User Destroy (0.000414)  DELETE FROM "users"
+ WHERE "id" = 14
+
+ User Destroy (0.000509)  DELETE FROM "users"
+ WHERE "id" = 15
+
+ User Create (0.000434) INSERT INTO "users" ("profile_visi…
+ User Create (0.000785) INSERT INTO "users" ("profile_vi…
+ User Create (0.000612) INSERT INTO "users" ("profile_visi…
+ SQL (0.002114) SELECT count("users".id) AS count_id, DA…
+ User Load (0.000365) SELECT * FROM "users" 
+ User Destroy (0.000308)  DELETE FROM "users"
+ WHERE "id" = 16
+
+ User Destroy (0.000623)  DELETE FROM "users"
+ WHERE "id" = 17
+
+ User Destroy (0.000436)  DELETE FROM "users"
+ WHERE "id" = 18
+
+ SQL (0.000209) select sqlite_version(*)
+ SQL (0.000496)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002712) DROP TABLE "users"
+ SQL (0.003050) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000488)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002972) DROP TABLE "report_caches"
+ SQL (0.002608) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002457) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.001860)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000305) SELECT version FROM "schema_migrations"
+ SQL (0.000842) SELECT count("users".id) AS count_id, DA…
+ SQL (0.000667) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000695) SELECT count("users".id) AS count_id, DA…
+ SQL (0.000210) select sqlite_version(*)
+ SQL (0.000611)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002728) DROP TABLE "users"
+ SQL (0.002831) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000460)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002334) DROP TABLE "report_caches"
+ SQL (0.002380) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003181) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000580)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000173) SELECT version FROM "schema_migrations"
+ User Create (0.000466) INSERT INTO "users" ("profile_vi…
+ User Create (0.000372) INSERT INTO "users" ("profile_visi…
+ User Create (0.000338) INSERT INTO "users" ("profile_vi…
+ SQL (0.001012) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000349) SELECT * FROM "users" 
+ User Destroy (0.000269)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000237)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000249)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000337) INSERT INTO "users" ("profile_vi…
+ User Create (0.000483) INSERT INTO "users" ("profile_visi…
+ User Create (0.000424) INSERT INTO "users" ("profile_vi…
+ SQL (0.001579) SELECT sum("users".profile_visits) AS sum_…
+ User Load (0.000579) SELECT * FROM "users" 
+ User Destroy (0.000349)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000386)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000591)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ User Create (0.000456) INSERT INTO "users" ("profile_vi…
+ User Create (0.000406) INSERT INTO "users" ("profile_visi…
+ User Create (0.000536) INSERT INTO "users" ("profile_vi…
+ SQL (0.002304) SELECT count("users".id) AS count_id, DATE…
+ User Load (0.000518) SELECT * FROM "users" 
+ User Destroy (0.000326)  DELETE FROM "users"
+ WHERE "id" = 7
+
+ User Destroy (0.000569)  DELETE FROM "users"
+ WHERE "id" = 8
+
+ User Destroy (0.000575)  DELETE FROM "users"
+ WHERE "id" = 9
+
+ SQL (0.000215) select sqlite_version(*)
+ SQL (0.000503)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.131767) DROP TABLE "users"
+ SQL (0.090049) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000519)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.051998) DROP TABLE "report_caches"
+ SQL (0.003657) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003628) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000501)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000264) SELECT version FROM "schema_migrations"
+ SQL (0.000321)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000264)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000255) select sqlite_version(*)
+ SQL (0.000494)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002769) DROP TABLE "users"
+ SQL (0.003317) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000496)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.003467) DROP TABLE "report_caches"
+ SQL (0.002773) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002816) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000912)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000401) SELECT version FROM "schema_migrations"
+ SQL (0.000324)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000248)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000223)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000208) select sqlite_version(*)
+ SQL (0.000499)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002917) DROP TABLE "users"
+ SQL (0.002800) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000541)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002873) DROP TABLE "report_caches"
+ SQL (0.003060) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.003828) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000572)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000179) SELECT version FROM "schema_migrations"
+ SQL (0.000197) select sqlite_version(*)
+ SQL (0.000502)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002715) DROP TABLE "users"
+ SQL (0.003222) CREATE TABLE "users" ("id" INTEGER PRIMARY…
+ SQL (0.000481)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.002529) DROP TABLE "report_caches"
+ SQL (0.002792) CREATE TABLE "report_caches" ("id" INTEG…
+ SQL (0.002882) CREATE UNIQUE INDEX "report_caches_uk" ON …
+ SQL (0.000688)  SELECT name
+ FROM sqlite_master
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
+
+ SQL (0.000248) SELECT version FROM "schema_migrations"
+ SQL (0.000994) SELECT count("users".id) AS count_id, DA…
+ SQL (0.000725) SELECT count("users".id) AS count_id, DATE…
+ SQL (0.000730) SELECT count("users".id) AS count_id, DA…
+ User Create (0.000342) INSERT INTO "users" ("profile_visi…
+ User Create (0.000494) INSERT INTO "users" ("profile_vi…
+ User Create (0.000557) INSERT INTO "users" ("profile_visi…
+ SQL (0.001840) SELECT count("users".id) AS count_id, DA…
+ User Load (0.000665) SELECT * FROM "users" 
+ User Destroy (0.000388)  DELETE FROM "users"
+ WHERE "id" = 1
+
+ User Destroy (0.000575)  DELETE FROM "users"
+ WHERE "id" = 2
+
+ User Destroy (0.000691)  DELETE FROM "users"
+ WHERE "id" = 3
+
+ User Create (0.000434) INSERT INTO "users" ("profile_visi…
+ User Create (0.000423) INSERT INTO "users" ("profile_vi…
+ User Create (0.000436) INSERT INTO "users" ("profile_visi…
+ SQL (0.001812) SELECT sum("users".profile_visits) AS su…
+ User Load (0.000511) SELECT * FROM "users" 
+ User Destroy (0.000347)  DELETE FROM "users"
+ WHERE "id" = 4
+
+ User Destroy (0.000760)  DELETE FROM "users"
+ WHERE "id" = 5
+
+ User Destroy (0.000823)  DELETE FROM "users"
+ WHERE "id" = 6
+
+ User Create (0.000424) INSERT INTO "users" ("profile_visi…
+ User Create (0.000574) INSERT INTO "users" ("profile_vi…
+ User Create (0.000487) INSERT INTO "users" ("profile_visi…
+ SQL (0.001867) SELECT count("users".id) AS count_id, DA…
+ User Load (0.000503) SELECT * FROM "users" 
+ User Destroy (0.000333)  DELETE FROM "users"
+ WHERE "id" = 7
+
+ User Destroy (0.000685)  DELETE FROM "users"
+ WHERE "id" = 8
+
+ User Destroy (0.000396)  DELETE FROM "users"
+ WHERE "id" = 9
+
+ User Create (0.000356) INSERT INTO "users" ("profile_visi…
+ User Create (0.000433) INSERT INTO "users" ("profile_vi…
+ User Create (0.000433) INSERT INTO "users" ("profile_visi…
+ SQL (0.002465) SELECT count("users".id) AS count_id, DA…
+ User Load (0.000589) SELECT * FROM "users" 
+ User Destroy (0.000360)  DELETE FROM "users"
+ WHERE "id" = 10
+
+ User Destroy (0.001480)  DELETE FROM "users"
+ WHERE "id" = 11
+
+ User Destroy (0.000468)  DELETE FROM "users"
+ WHERE "id" = 12
+
+ User Create (0.000454) INSERT INTO "users" ("profile_visi…
+ User Create (0.000569) INSERT INTO "users" ("profile_vi…
+ User Create (0.000479) INSERT INTO "users" ("profile_visi…
+ SQL (0.001381) SELECT sum("users".profile_visits) AS su…
+ User Load (0.000531) SELECT * FROM "users" 
+ User Destroy (0.000380)  DELETE FROM "users"
+ WHERE "id" = 13
+
+ User Destroy (0.000389)  DELETE FROM "users"
+ WHERE "id" = 14
+
+ User Destroy (0.000559)  DELETE FROM "users"
+ WHERE "id" = 15
+
+ User Create (0.000468) INSERT INTO "users" ("profile_visi…
+ User Create (0.000446) INSERT INTO "users" ("profile_vi…
+ User Create (0.000628) INSERT INTO "users" ("profile_visi…
+ SQL (0.001873) SELECT count("users".id) AS count_id, DA…
+ User Load (0.000514) SELECT * FROM "users" 
+ User Destroy (0.000340)  DELETE FROM "users"
+ WHERE "id" = 16
+
+ User Destroy (0.000575)  DELETE FROM "users"
+ WHERE "id" = 17
+
+ User Destroy (0.000392)  DELETE FROM "users"
+ WHERE "id" = 18
+
diff --git a/spec/models/report_method_spec.rb b/spec/models/report_method_spec…
@@ -0,0 +1,31 @@
+require File.join(File.dirname(__FILE__), '..', 'spec_helper')
+
+describe Kvlr::ReportsAsSparkline do
+
+ describe 'created _report method' do
+
+ it 'should raise an error when called with anything else than a hash' do
+ lambda { User.registrations_report(1) }.should raise_error(Argum…
+ lambda { User.registrations_report('invalid') }.should raise_error(Argum…
+ lambda { User.registrations_report([1, 2]) }.should raise_error(Argum…
+ end
+
+ it 'should raise an error when called with multiple arguments' do
+ lambda { User.registrations_report({ 1 => 2 }, { 3 => 4 }) }.should rais…
+ end
+
+ it 'should not raise an error when called with a hash' do
+ lambda { User.registrations_report({ :test => :hash }) }.should_not rais…
+ end
+
+ it 'should not raise an error when called without a parameter' do
+ lambda { User.registrations_report }.should_not raise_error(ArgumentErro…
+ end
+
+ it 'should return an ordered hash' do
+ User.registrations_report.class.should == ActiveSupport::OrderedHash
+ end
+
+ end
+
+end
diff --git a/spec/other/class_methods_spec.rb b/spec/other/class_methods_spec.rb
@@ -0,0 +1,29 @@
+require File.join(File.dirname(__FILE__), '..', 'spec_helper')
+
+describe Kvlr::ReportsAsSparkline::ClassMethods do
+
+ describe "#report_as_sparkline :<report_name>" do
+
+ it 'should add the method <report_name>_report to the model' do
+ User.methods.should include('registrations_report')
+ end
+
+ it 'should create a new Kvlr::ReportsAsSparkline::Report with the specifie…
+ Kvlr::ReportsAsSparkline::Report.should_receive(:new).once.with(User, :t…
+
+ User.send(:report_as_sparkline, :test)
+ end
+
+ end
+
+ describe "#report_as_sparkline :<report_name>, { :cumulate => :<cumulated_re…
+
+ it 'should create a new Kvlr::ReportsAsSparkline::CumulateReport with the …
+ Kvlr::ReportsAsSparkline::CumulatedReport.should_receive(:new).once.with…
+
+ User.send(:report_as_sparkline, :test, :cumulate => :other_report)
+ end
+
+ end
+
+end
diff --git a/spec/other/cumulated_report_spec.rb b/spec/other/cumulated_report_…
@@ -0,0 +1,44 @@
+require File.join(File.dirname(__FILE__), '..', 'spec_helper')
+
+describe Kvlr::ReportsAsSparkline::CumulatedReport do
+
+ describe '#run' do
+
+ describe do
+
+ before do
+ User.create!(:login => 'test 1', :created_at => Time.now - 1.week, :p…
+ User.create!(:login => 'test 2', :created_at => Time.now - 2.weeks, :p…
+ User.create!(:login => 'test 3', :created_at => Time.now - 2.weeks, :p…
+ end
+
+ it 'should return correct data for :aggregation => :count' do
+ result = User.cumulated_registrations_report.to_a
+
+ result[0][1].should == 1
+ result[1][1].should == 3
+ end
+
+ it 'should return correct data for :aggregation => :sum' do
+ result = User.cumulated_registrations_report(:aggregation => :sum, :va…
+
+ result[0][1].should == 1
+ result[1][1].should == 6
+ end
+
+ it 'should return correct data with custom conditions' do
+ result = User.cumulated_registrations_report(:conditions => ['login IN…
+
+ result[0][1].should == 1
+ result[1][1].should == 2
+ end
+
+ after do
+ User.destroy_all
+ end
+
+ end
+
+ end
+
+end
diff --git a/spec/other/report_cache_spec.rb b/spec/other/report_cache_spec.rb
@@ -0,0 +1,27 @@
+require File.join(File.dirname(__FILE__), '..', 'spec_helper')
+
+describe Kvlr::ReportsAsSparkline::ReportCache do
+
+ it 'should raise an ArgumentError if no block is given' do
+ lambda { Kvlr::ReportsAsSparkline::ReportCache.cached(User, :name, :days) …
+ end
+
+ it 'should not yield if data can be found in the cache' do
+ Kvlr::ReportsAsSparkline::ReportCache.stub!(:find).and_return(true)
+
+ lambda { Kvlr::ReportsAsSparkline::ReportCache.cached(User, :name, :days) …
+ raise YieldCheckException
+ end }.should_not raise_error(YieldCheckException)
+ end
+
+ it 'should yield if nothing can be found in the cache' do
+ Kvlr::ReportsAsSparkline::ReportCache.stub!(:find).and_return(nil)
+
+ lambda { Kvlr::ReportsAsSparkline::ReportCache.cached(User, :name, :days) …
+ raise YieldCheckException
+ end }.should raise_error(YieldCheckException)
+ end
+
+end
+
+class YieldCheckException < Exception; end
diff --git a/spec/other/report_spec.rb b/spec/other/report_spec.rb
@@ -0,0 +1,61 @@
+require File.join(File.dirname(__FILE__), '..', 'spec_helper')
+
+describe Kvlr::ReportsAsSparkline::Report do
+
+ before do
+ @report = Kvlr::ReportsAsSparkline::Report.new(User, :registrations)
+ end
+
+ describe '#run' do
+
+ it 'should invoke the default aggregation method on the model' do
+ User.should_receive(:count).once
+
+ @report.run
+ end
+
+ it 'should invoke the custom aggregation method on the model if one is spe…
+ @report = Kvlr::ReportsAsSparkline::Report.new(User, :registrations, :ag…
+ User.should_receive(:sum).once
+
+ @report.run
+ end
+
+ describe do
+
+ before do
+ User.create!(:login => 'test 1', :created_at => Time.now - 1.week, :p…
+ User.create!(:login => 'test 2', :created_at => Time.now - 2.weeks, :p…
+ User.create!(:login => 'test 3', :created_at => Time.now - 2.weeks, :p…
+ end
+
+ it 'should return correct data for :aggregation => :count' do
+ result = User.registrations_report.to_a
+
+ result[0][1].should == 1
+ result[1][1].should == 2
+ end
+
+ it 'should return correct data for :aggregation => :sum' do
+ result = User.registrations_report(:aggregation => :sum, :value_column…
+
+ result[0][1].should == 1
+ result[1][1].should == 5
+ end
+
+ it 'should return correct data with custom conditions' do
+ result = User.registrations_report(:conditions => ['login IN (?)', ['t…
+
+ result[0][1].should == 1
+ result[1][1].should == 1
+ end
+
+ after do
+ User.destroy_all
+ end
+
+ end
+
+ end
+
+end
diff --git a/spec/reports_as_sparkline_spec.rb b/spec/reports_as_sparkline_spec…
@@ -1,99 +0,0 @@
-require File.dirname(__FILE__) + '/spec_helper.rb'
-
-
-describe "basic model without report_as_sparkline" do
-
- class MyUserModelWithoutReport < ActiveRecord::Base
- end
-
- it "should not have registrations_report class method" do
- MyUserModelWithoutReport.methods.include?(:registrations_report.to_s).shou…
- end
-
- it "should not have registrations_graph class method" do
- MyUserModelWithoutReport.methods.include?(:registrations_graph.to_s).shoul…
- end
-
-
-end
-
-describe "basic model with report_as_sparkline" do
-
- class User < ActiveRecord::Base
- report_as_sparkline :registrations
- report_as_sparkline :total_users, { :cumulate => :registrations }
- end
-
-
- it "should have registrations_report class method" do
- User.methods.include?(:registrations_report.to_s).should == true
- end
-
-end
-
-describe "Model#name_report, should only accept one hash as a optional argumen…
-
- it "should raise ArgumentError when calling with two arguments" do
- lambda {
- User.registrations_report("one", "two")
- }.should raise_error(ArgumentError)
- end
-
- it "should raise ArgumentError when calling with one argument that is not a …
- lambda {
- User.registrations_report("one")
- }.should raise_error(ArgumentError)
- end
-
- it "should raise ArgumentError when calling with one argument that is not a …
- lambda {
- User.registrations_report(1)
- }.should raise_error(ArgumentError)
- end
-
- it "should not raise Error when calling with one argument that is a hash" do
- lambda {
- User.registrations_report(:hello => :world)
- }.should_not raise_error
- end
-
- it "should not raise Error when calling without arguments" do
- lambda {
- User.registrations_report
- }.should_not raise_error
- end
-
-end
-
-
-describe "Model#name_report should default to count operation on created at" do
-
- it "should call models count function" do
- User.registrations_report.class.should == Array
- end
-
-end
-
-describe "Model#name_report should default to count operation on created at" do
-
- it "should call models count function" do
- User.registrations_report.class.should == Array
- end
-
-end
-
-describe "Testing invalid operations and groups" do
-
- class UserInvalid < ActiveRecord::Base
- end
-
- it "Model with invalid operation should raise InvalidOperationExpception" # …
- # lambda {
- # UserInvalid.class_eval %{
- # report_as_sparkline :registrations, :operation => :countrrrr
- # }
- # }.should raise_error(Kvlr::ReportsAsSparkline::InvalidOperationExpcept…
- # end
-
-end
-
diff --git a/spec/spec.opts b/spec/spec.opts
@@ -1 +0,0 @@
---colour
-\ No newline at end of file
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
@@ -1,53 +1,16 @@
-begin
- require 'rubygems'
- require 'spec'
-rescue LoadError
- require 'rubygems'
- gem 'rspec'
- require 'spec'
-end
-require File.dirname(__FILE__) + '/boot' unless defined?(ActiveRecord)
-$:.unshift(File.dirname(__FILE__) + '/../lib')
-
-plugin_spec_dir = File.dirname(__FILE__)
-ActiveRecord::Base.logger = Logger.new(plugin_spec_dir + "/debug.log")
+$:.reject! { |e| e.include? 'TextMate' }
-databases = YAML::load(IO.read(plugin_spec_dir + "/db/database.yml"))
-ActiveRecord::Base.establish_connection(databases[ENV["DB"] || "mysql"])
-load(File.join(plugin_spec_dir, "db", "schema.rb"))
+ENV['RAILS_ENV'] = 'test'
+require 'rubygems'
+require 'spec'
+require 'test/unit'
+require 'active_support'
+require 'initializer'
-require 'reports_as_sparkline'
+require File.join(File.dirname(__FILE__), 'boot') unless defined?(ActiveRecord)
-Spec::Runner.configure do |config|
- # If you're not using ActiveRecord you should remove these
- # lines, delete config/database.yml and disable :active_record
- # in your config/boot.rb
- #config.use_transactional_fixtures = true
- #config.use_instantiated_fixtures = false
- #config.fixture_path = File.dirname(__FILE__) + '/spec/fixtures/'
-
- # == Fixtures
- #
- # You can declare fixtures for each example_group like this:
- # describe "...." do
- # fixtures :table_a, :table_b
- #
- # Alternatively, if you prefer to declare them only once, you can
- # do so right here. Just uncomment the next line and replace the fixture
- # names with your fixtures.
- #
- # config.global_fixtures = :table_a, :table_b
- #
- # If you declare global fixtures, be aware that they will be declared
- # for all of your examples, even those that don't use them.
- #
- # == Mock Framework
- #
- # RSpec uses it's own mocking framework by default. If you prefer to
- # use mocha, flexmock or RR, uncomment the appropriate line:
- #
- # config.mock_with :mocha
- # config.mock_with :flexmock
- # config.mock_with :rr
-end
-\ No newline at end of file
+class User < ActiveRecord::Base
+ report_as_sparkline :registrations
+ report_as_sparkline :cumulated_registrations, :cumulate => :registrations
+end
diff --git a/tasks/deployment.rake b/tasks/deployment.rake
@@ -1,34 +0,0 @@
-desc 'Release the website and new gem version'
-task :deploy => [:check_version, :website, :release] do
- puts "Remember to create SVN tag:"
- puts "svn copy svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}…
- "svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/tags/REL-#{…
- puts "Suggested comment:"
- puts "Tagging release #{CHANGES}"
-end
-
-desc 'Runs tasks website_generate and install_gem as a local deployment of the…
-task :local_deploy => [:website_generate, :install_gem]
-
-task :check_version do
- unless ENV['VERSION']
- puts 'Must pass a VERSION=x.y.z release version'
- exit
- end
- unless ENV['VERSION'] == VERS
- puts "Please update your version.rb to match the release version, currentl…
- exit
- end
-end
-
-desc 'Install the package as a gem, without generating documentation(ri/rdoc)'
-task :install_gem_no_doc => [:clean, :package] do
- sh "#{'sudo ' unless Hoe::WINDOZE }gem install pkg/*.gem --no-rdoc --no-ri"
-end
-
-namespace :manifest do
- desc 'Recreate Manifest.txt to include ALL files'
- task :refresh do
- `rake check_manifest | patch -p0 > Manifest.txt`
- end
-end
-\ No newline at end of file
diff --git a/tasks/environment.rake b/tasks/environment.rake
@@ -1,7 +0,0 @@
-task :ruby_env do
- RUBY_APP = if RUBY_PLATFORM =~ /java/
- "jruby"
- else
- "ruby"
- end unless defined? RUBY_APP
-end
diff --git a/tasks/reports_as_sparkline_tasks.rake b/tasks/reports_as_sparkline…
@@ -0,0 +1,4 @@
+# desc "Explaining what the task does"
+# task :reports_as_sparkline do
+# # Task goes here
+# end
diff --git a/tasks/rspec.rake b/tasks/rspec.rake
@@ -1,21 +0,0 @@
-begin
- require 'spec'
-rescue LoadError
- require 'rubygems'
- require 'spec'
-end
-begin
- require 'spec/rake/spectask'
-rescue LoadError
- puts <<-EOS
-To use rspec for testing you must install rspec gem:
- gem install rspec
-EOS
- exit(0)
-end
-
-desc "Run the specs under spec/models"
-Spec::Rake::SpecTask.new do |t|
- t.spec_opts = ['--options', "spec/spec.opts"]
- t.spec_files = FileList['spec/**/*_spec.rb']
-end
diff --git a/tasks/website.rake b/tasks/website.rake
@@ -1,17 +0,0 @@
-desc 'Generate website files'
-task :website_generate => :ruby_env do
- (Dir['website/**/*.txt'] - Dir['website/version*.txt']).each do |txt|
- sh %{ #{RUBY_APP} script/txt2html #{txt} > #{txt.gsub(/txt$/,'html')} }
- end
-end
-
-desc 'Upload website files to rubyforge'
-task :website_upload do
- host = "#{rubyforge_username}@rubyforge.org"
- remote_dir = "/var/www/gforge-projects/#{PATH}/"
- local_dir = 'website'
- sh %{rsync -aCv #{local_dir}/ #{host}:#{remote_dir}}
-end
-
-desc 'Generate and upload website files'
-task :website => [:website_generate, :website_upload, :publish_docs]
diff --git a/History.txt b/uninstall.rb
You are viewing proxied material from jay.scot. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.