Skip to content

Instantly share code, notes, and snippets.

@eliotsykes
Last active August 15, 2018 05:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eliotsykes/44c892dd7c2f640cd84fc5eac8dcca44 to your computer and use it in GitHub Desktop.
Save eliotsykes/44c892dd7c2f640cd84fc5eac8dcca44 to your computer and use it in GitHub Desktop.
ActiveRecord::Base.configurations usage

Usage of ActiveRecord::Base.configurations with surrounding lines to help answer https://twitter.com/eileencodes/status/1028624971675979777

Source: ~200 open source Rails apps and engines https://github.com/eliotsykes/real-world-rails

~/dev/real-world-rails (master)
$ ag --ruby -C 15 'ActiveRecord::Base.config'
apps/alaveteli/config/initializers/alaveteli.rb:60-require 'user_spam_scorer'
apps/alaveteli/config/initializers/alaveteli.rb:61-require 'alaveteli_rate_limiter'
apps/alaveteli/config/initializers/alaveteli.rb:62-require 'alaveteli_spam_term_checker'
apps/alaveteli/config/initializers/alaveteli.rb:63-require 'alaveteli_pro/post_redirect_handler'
apps/alaveteli/config/initializers/alaveteli.rb:64-require 'user_stats'
apps/alaveteli/config/initializers/alaveteli.rb:65-require 'typeahead_search'
apps/alaveteli/config/initializers/alaveteli.rb:66-require 'alaveteli_mail_poller'
apps/alaveteli/config/initializers/alaveteli.rb:67-require 'safe_redirect'
apps/alaveteli/config/initializers/alaveteli.rb:68-
apps/alaveteli/config/initializers/alaveteli.rb:69-AlaveteliLocalization.set_locales(AlaveteliConfiguration::available_locales,
apps/alaveteli/config/initializers/alaveteli.rb:70-                                  AlaveteliConfiguration::default_locale)
apps/alaveteli/config/initializers/alaveteli.rb:71-
apps/alaveteli/config/initializers/alaveteli.rb:72-require 'fixture_set_table_rows_patch'
apps/alaveteli/config/initializers/alaveteli.rb:73-
apps/alaveteli/config/initializers/alaveteli.rb:74-# Allow tests to be run under a non-superuser database account if required
apps/alaveteli/config/initializers/alaveteli.rb:75:if Rails.env == 'test' and ActiveRecord::Base.configurations['test']['constraint_disabling'] == false
apps/alaveteli/config/initializers/alaveteli.rb:76-  require 'no_constraint_disabling'
apps/alaveteli/config/initializers/alaveteli.rb:77-end
apps/alaveteli/config/initializers/alaveteli.rb:78-
apps/alchemy_cms/spec/support/test_tweaks.rb:3-# https://gist.github.com/mperham/3049152
apps/alchemy_cms/spec/support/test_tweaks.rb:4-# Fixes Capybara database connection issues
apps/alchemy_cms/spec/support/test_tweaks.rb:5-class ActiveRecord::Base
apps/alchemy_cms/spec/support/test_tweaks.rb:6-  mattr_accessor :shared_connection
apps/alchemy_cms/spec/support/test_tweaks.rb:7-  @@shared_connection = nil
apps/alchemy_cms/spec/support/test_tweaks.rb:8-
apps/alchemy_cms/spec/support/test_tweaks.rb:9-  def self.connection
apps/alchemy_cms/spec/support/test_tweaks.rb:10-    @@shared_connection || ConnectionPool::Wrapper.new(size: 1) { retrieve_connection }
apps/alchemy_cms/spec/support/test_tweaks.rb:11-  end
apps/alchemy_cms/spec/support/test_tweaks.rb:12-end
apps/alchemy_cms/spec/support/test_tweaks.rb:13-ActiveRecord::Base.shared_connection = ActiveRecord::Base.connection
apps/alchemy_cms/spec/support/test_tweaks.rb:14-
apps/alchemy_cms/spec/support/test_tweaks.rb:15-# fast truncation of all tables that need truncations (select is 10x faster then truncate)
apps/alchemy_cms/spec/support/test_tweaks.rb:16-# http://grosser.it/2012/07/03/rubyactiverecord-fastest-way-to-truncate-test-database/
apps/alchemy_cms/spec/support/test_tweaks.rb:17-def truncate_all_tables
apps/alchemy_cms/spec/support/test_tweaks.rb:18:  config = ActiveRecord::Base.configurations[::Rails.env]
apps/alchemy_cms/spec/support/test_tweaks.rb:19-  connection = ActiveRecord::Base.connection
apps/alchemy_cms/spec/support/test_tweaks.rb:20-  connection.disable_referential_integrity do
apps/alchemy_cms/spec/support/test_tweaks.rb:21-    connection.tables.each do |table_name|
apps/alchemy_cms/spec/support/test_tweaks.rb:22-      next if connection.select_value("SELECT count(*) FROM #{table_name}") == 0
apps/alchemy_cms/spec/support/test_tweaks.rb:23-      case config["adapter"]
apps/alchemy_cms/spec/support/test_tweaks.rb:24-      when "mysql2", "postgresql"
apps/alchemy_cms/spec/support/test_tweaks.rb:25-          connection.execute("TRUNCATE #{table_name}")
apps/alchemy_cms/spec/support/test_tweaks.rb:26-      when "sqlite3"
apps/alchemy_cms/spec/support/test_tweaks.rb:27-          connection.execute("DELETE FROM #{table_name}")
apps/alchemy_cms/spec/support/test_tweaks.rb:28-          connection.execute("DELETE FROM sqlite_sequence where name='#{table_name}'")
apps/alchemy_cms/spec/support/test_tweaks.rb:29-      end
apps/alchemy_cms/spec/support/test_tweaks.rb:30-    end
apps/alchemy_cms/spec/support/test_tweaks.rb:31-    connection.execute("VACUUM") if config["adapter"] == "sqlite3"
apps/alchemy_cms/spec/support/test_tweaks.rb:32-  end
apps/alchemy_cms/spec/support/test_tweaks.rb:33-end
apps/canvas-lms/app/models/account.rb:717-
apps/canvas-lms/app/models/account.rb:718-  def turnitin_shared_secret
apps/canvas-lms/app/models/account.rb:719-    return nil unless self.turnitin_salt && self.turnitin_crypted_secret
apps/canvas-lms/app/models/account.rb:720-    Canvas::Security.decrypt_password(self.turnitin_crypted_secret, self.turnitin_salt, 'instructure_turnitin_secret_shared')
apps/canvas-lms/app/models/account.rb:721-  end
apps/canvas-lms/app/models/account.rb:722-
apps/canvas-lms/app/models/account.rb:723-  def self.account_chain(starting_account_id)
apps/canvas-lms/app/models/account.rb:724-    chain = []
apps/canvas-lms/app/models/account.rb:725-
apps/canvas-lms/app/models/account.rb:726-    if (starting_account_id.is_a?(Account))
apps/canvas-lms/app/models/account.rb:727-      chain << starting_account_id
apps/canvas-lms/app/models/account.rb:728-      starting_account_id = starting_account_id.parent_account_id
apps/canvas-lms/app/models/account.rb:729-    end
apps/canvas-lms/app/models/account.rb:730-
apps/canvas-lms/app/models/account.rb:731-    if starting_account_id
apps/canvas-lms/app/models/account.rb:732:      if ActiveRecord::Base.configurations[Rails.env]['adapter'] == 'postgresql'
apps/canvas-lms/app/models/account.rb:733-        chain.concat(Shard.shard_for(starting_account_id).activate do
apps/canvas-lms/app/models/account.rb:734-          Account.find_by_sql(<<-SQL)
apps/canvas-lms/app/models/account.rb:735-                WITH RECURSIVE t AS (
apps/canvas-lms/app/models/account.rb:736-                  SELECT * FROM #{Account.quoted_table_name} WHERE id=#{Shard.local_id_for(starting_account_id).first}
apps/canvas-lms/app/models/account.rb:737-                  UNION
apps/canvas-lms/app/models/account.rb:738-                  SELECT accounts.* FROM #{Account.quoted_table_name} INNER JOIN t ON accounts.id=t.parent_account_id
apps/canvas-lms/app/models/account.rb:739-                )
apps/canvas-lms/app/models/account.rb:740-                SELECT * FROM t
apps/canvas-lms/app/models/account.rb:741-          SQL
apps/canvas-lms/app/models/account.rb:742-        end)
apps/canvas-lms/app/models/account.rb:743-      else
apps/canvas-lms/app/models/account.rb:744-        account = Account.find(starting_account_id)
apps/canvas-lms/app/models/account.rb:745-        chain << account
apps/canvas-lms/app/models/account.rb:746-        while account.parent_account
apps/canvas-lms/app/models/account.rb:747-          account = account.parent_account
--
apps/canvas-lms/app/models/account.rb:817-  def account_chain_loop
apps/canvas-lms/app/models/account.rb:818-    # this record hasn't been saved to the db yet, so if the the chain includes
apps/canvas-lms/app/models/account.rb:819-    # this account, it won't point to the new parent yet, and should still be
apps/canvas-lms/app/models/account.rb:820-    # valid
apps/canvas-lms/app/models/account.rb:821-    if self.parent_account.account_chain.include?(self)
apps/canvas-lms/app/models/account.rb:822-      errors.add(:parent_account_id,
apps/canvas-lms/app/models/account.rb:823-                 "Setting account #{self.sis_source_id || self.id}'s parent to #{self.parent_account.sis_source_id || self.parent_account_id} would create a loop")
apps/canvas-lms/app/models/account.rb:824-    end
apps/canvas-lms/app/models/account.rb:825-  end
apps/canvas-lms/app/models/account.rb:826-
apps/canvas-lms/app/models/account.rb:827-  # returns all sub_accounts recursively as far down as they go, in id order
apps/canvas-lms/app/models/account.rb:828-  # because this uses a custom sql query for postgresql, we can't use a normal
apps/canvas-lms/app/models/account.rb:829-  # named scope, so we pass the limit and offset into the method instead and
apps/canvas-lms/app/models/account.rb:830-  # build our own query string
apps/canvas-lms/app/models/account.rb:831-  def sub_accounts_recursive(limit, offset)
apps/canvas-lms/app/models/account.rb:832:    if ActiveRecord::Base.configurations[Rails.env]['adapter'] == 'postgresql'
apps/canvas-lms/app/models/account.rb:833-      Account.find_by_sql([<<-SQL, self.id, limit.to_i, offset.to_i])
apps/canvas-lms/app/models/account.rb:834-          WITH RECURSIVE t AS (
apps/canvas-lms/app/models/account.rb:835-            SELECT * FROM #{Account.quoted_table_name}
apps/canvas-lms/app/models/account.rb:836-            WHERE parent_account_id = ? AND workflow_state <>'deleted'
apps/canvas-lms/app/models/account.rb:837-            UNION
apps/canvas-lms/app/models/account.rb:838-            SELECT accounts.* FROM #{Account.quoted_table_name}
apps/canvas-lms/app/models/account.rb:839-            INNER JOIN t ON accounts.parent_account_id = t.id
apps/canvas-lms/app/models/account.rb:840-            WHERE accounts.workflow_state <>'deleted'
apps/canvas-lms/app/models/account.rb:841-          )
apps/canvas-lms/app/models/account.rb:842-          SELECT * FROM t ORDER BY parent_account_id, id LIMIT ? OFFSET ?
apps/canvas-lms/app/models/account.rb:843-      SQL
apps/canvas-lms/app/models/account.rb:844-    else
apps/canvas-lms/app/models/account.rb:845-      account_descendents = lambda do |id|
apps/canvas-lms/app/models/account.rb:846-        as = Account.where(:parent_account_id => id).active.order(:id)
apps/canvas-lms/app/models/account.rb:847-        as.empty? ?
apps/canvas-lms/config/initializers/active_record.rb:395-
apps/canvas-lms/config/initializers/active_record.rb:396-  def self.coalesce_chain(cols)
apps/canvas-lms/config/initializers/active_record.rb:397-    "(#{cols.map{|col| coalesce_clause(col)}.join(" || ' ' || ")})"
apps/canvas-lms/config/initializers/active_record.rb:398-  end
apps/canvas-lms/config/initializers/active_record.rb:399-
apps/canvas-lms/config/initializers/active_record.rb:400-  def self.coalesce_clause(column)
apps/canvas-lms/config/initializers/active_record.rb:401-    "COALESCE(LOWER(#{column}), '')"
apps/canvas-lms/config/initializers/active_record.rb:402-  end
apps/canvas-lms/config/initializers/active_record.rb:403-
apps/canvas-lms/config/initializers/active_record.rb:404-  def self.like_condition(value, pattern = '?', downcase = true)
apps/canvas-lms/config/initializers/active_record.rb:405-    value = "LOWER(#{value})" if downcase
apps/canvas-lms/config/initializers/active_record.rb:406-    "#{value} LIKE #{pattern}"
apps/canvas-lms/config/initializers/active_record.rb:407-  end
apps/canvas-lms/config/initializers/active_record.rb:408-
apps/canvas-lms/config/initializers/active_record.rb:409-  def self.best_unicode_collation_key(col)
apps/canvas-lms/config/initializers/active_record.rb:410:    val = if ActiveRecord::Base.configurations[Rails.env]['adapter'] == 'postgresql'
apps/canvas-lms/config/initializers/active_record.rb:411-      # For PostgreSQL, we can't trust a simple LOWER(column), with any collation, since
apps/canvas-lms/config/initializers/active_record.rb:412-      # Postgres just defers to the C library which is different for each platform. The best
apps/canvas-lms/config/initializers/active_record.rb:413-      # choice is the collkey function from pg_collkey which uses ICU to get a full unicode sort.
apps/canvas-lms/config/initializers/active_record.rb:414-      # If that extension isn't around, casting to a bytea sucks for international characters,
apps/canvas-lms/config/initializers/active_record.rb:415-      # but at least it's consistent, and orders commas before letters so you don't end up with
apps/canvas-lms/config/initializers/active_record.rb:416-      # Johnson, Bob sorting before Johns, Jimmy
apps/canvas-lms/config/initializers/active_record.rb:417-      unless @collkey&.key?(Shard.current.database_server.id)
apps/canvas-lms/config/initializers/active_record.rb:418-        @collkey ||= {}
apps/canvas-lms/config/initializers/active_record.rb:419-        @collkey[Shard.current.database_server.id] = connection.extension_installed?(:pg_collkey)
apps/canvas-lms/config/initializers/active_record.rb:420-      end
apps/canvas-lms/config/initializers/active_record.rb:421-      if (schema = @collkey[Shard.current.database_server.id])
apps/canvas-lms/config/initializers/active_record.rb:422-        # The collation level of 3 is the default, but is explicitly specified here and means that
apps/canvas-lms/config/initializers/active_record.rb:423-        # case, accents and base characters are all taken into account when creating a collation key
apps/canvas-lms/config/initializers/active_record.rb:424-        # for a string - more at https://pgxn.org/dist/pg_collkey/0.5.1/
apps/canvas-lms/config/initializers/active_record.rb:425-        # if you change these arguments, you need to rebuild all db indexes that use them,
--
apps/canvas-lms/config/initializers/active_record.rb:464-      string << "WHEN #{col} IN (" << Array(values).map{ |value| connection.quote(value) }.join(', ') << ") THEN #{i} "
apps/canvas-lms/config/initializers/active_record.rb:465-    } << "ELSE #{ary.size} END"
apps/canvas-lms/config/initializers/active_record.rb:466-    Arel.sql(sql)
apps/canvas-lms/config/initializers/active_record.rb:467-  end
apps/canvas-lms/config/initializers/active_record.rb:468-
apps/canvas-lms/config/initializers/active_record.rb:469-  def self.rank_hash(ary)
apps/canvas-lms/config/initializers/active_record.rb:470-    ary.each_with_index.inject(Hash.new(ary.size + 1)){ |hash, (values, i)|
apps/canvas-lms/config/initializers/active_record.rb:471-      Array(values).each{ |value| hash[value] = i + 1 }
apps/canvas-lms/config/initializers/active_record.rb:472-      hash
apps/canvas-lms/config/initializers/active_record.rb:473-    }
apps/canvas-lms/config/initializers/active_record.rb:474-  end
apps/canvas-lms/config/initializers/active_record.rb:475-
apps/canvas-lms/config/initializers/active_record.rb:476-  def self.distinct_values(column, include_nil: false)
apps/canvas-lms/config/initializers/active_record.rb:477-    column = column.to_s
apps/canvas-lms/config/initializers/active_record.rb:478-
apps/canvas-lms/config/initializers/active_record.rb:479:    result = if ActiveRecord::Base.configurations[Rails.env]['adapter'] == 'postgresql'
apps/canvas-lms/config/initializers/active_record.rb:480-      sql = ''
apps/canvas-lms/config/initializers/active_record.rb:481-      sql << "SELECT NULL AS #{column} WHERE EXISTS (SELECT * FROM #{quoted_table_name} WHERE #{column} IS NULL) UNION ALL (" if include_nil
apps/canvas-lms/config/initializers/active_record.rb:482-      sql << <<-SQL
apps/canvas-lms/config/initializers/active_record.rb:483-        WITH RECURSIVE t AS (
apps/canvas-lms/config/initializers/active_record.rb:484-          SELECT MIN(#{column}) AS #{column} FROM #{quoted_table_name}
apps/canvas-lms/config/initializers/active_record.rb:485-          UNION ALL
apps/canvas-lms/config/initializers/active_record.rb:486-          SELECT (SELECT MIN(#{column}) FROM #{quoted_table_name} WHERE #{column} > t.#{column})
apps/canvas-lms/config/initializers/active_record.rb:487-          FROM t
apps/canvas-lms/config/initializers/active_record.rb:488-          WHERE t.#{column} IS NOT NULL
apps/canvas-lms/config/initializers/active_record.rb:489-        )
apps/canvas-lms/config/initializers/active_record.rb:490-        SELECT #{column} FROM t WHERE #{column} IS NOT NULL
apps/canvas-lms/config/initializers/active_record.rb:491-      SQL
apps/canvas-lms/config/initializers/active_record.rb:492-      sql << ")" if include_nil
apps/canvas-lms/config/initializers/active_record.rb:493-      find_by_sql(sql)
apps/canvas-lms/config/initializers/active_record.rb:494-    else
apps/canvas-lms/config/initializers/delayed_job.rb:48-Delayed::Settings.num_strands               = ->(strand_name){ Setting.get("#{strand_name}_num_strands", nil) }
apps/canvas-lms/config/initializers/delayed_job.rb:49-Delayed::Settings.worker_procname_prefix    = ->{ "#{Shard.current(:delayed_jobs).id}~" }
apps/canvas-lms/config/initializers/delayed_job.rb:50-Delayed::Settings.pool_procname_suffix      = " (#{Canvas.revision})" if Canvas.revision
apps/canvas-lms/config/initializers/delayed_job.rb:51-Delayed::Settings.worker_health_check_type  = Delayed::CLI.instance&.config&.dig('health_check', 'type')&.to_sym || :none
apps/canvas-lms/config/initializers/delayed_job.rb:52-Delayed::Settings.worker_health_check_config = Delayed::CLI.instance&.config&.[]('health_check')
apps/canvas-lms/config/initializers/delayed_job.rb:53-
apps/canvas-lms/config/initializers/delayed_job.rb:54-Delayed::Settings.default_job_options = ->{
apps/canvas-lms/config/initializers/delayed_job.rb:55-  {
apps/canvas-lms/config/initializers/delayed_job.rb:56-    current_shard: Shard.current,
apps/canvas-lms/config/initializers/delayed_job.rb:57-  }
apps/canvas-lms/config/initializers/delayed_job.rb:58-}
apps/canvas-lms/config/initializers/delayed_job.rb:59-
apps/canvas-lms/config/initializers/delayed_job.rb:60-# load our periodic_jobs.yml (cron overrides config file)
apps/canvas-lms/config/initializers/delayed_job.rb:61-Delayed::Periodic.add_overrides(ConfigFile.load('periodic_jobs') || {})
apps/canvas-lms/config/initializers/delayed_job.rb:62-
apps/canvas-lms/config/initializers/delayed_job.rb:63:if ActiveRecord::Base.configurations[Rails.env]['queue']
apps/canvas-lms/config/initializers/delayed_job.rb:64-  ActiveSupport::Deprecation.warn("A queue section in database.yml is no longer supported. Please run migrations, then remove it.")
apps/canvas-lms/config/initializers/delayed_job.rb:65-end
apps/canvas-lms/config/initializers/delayed_job.rb:66-
apps/canvas-lms/config/initializers/delayed_job.rb:67-# configure autoscaling plugin
apps/canvas-lms/config/initializers/delayed_job.rb:68-if (config = Delayed::CLI.instance&.config&.[](:auto_scaling))
apps/canvas-lms/config/initializers/delayed_job.rb:69-  require 'jobs_autoscaling'
apps/canvas-lms/config/initializers/delayed_job.rb:70-  if config[:asg_name]
apps/canvas-lms/config/initializers/delayed_job.rb:71-    aws_config = config[:aws_config] || {}
apps/canvas-lms/config/initializers/delayed_job.rb:72-    aws_config[:region] ||= ApplicationController.region
apps/canvas-lms/config/initializers/delayed_job.rb:73-    action = JobsAutoscaling::AwsAction.new(asg_name: config[:asg_name],
apps/canvas-lms/config/initializers/delayed_job.rb:74-                                            aws_config: aws_config,
apps/canvas-lms/config/initializers/delayed_job.rb:75-                                            instance_id: ApplicationController.instance_id)
apps/canvas-lms/config/initializers/delayed_job.rb:76-  else
apps/canvas-lms/config/initializers/delayed_job.rb:77-    action = JobsAutoscaling::LoggerAction.new
apps/canvas-lms/config/initializers/delayed_job.rb:78-  end
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:8-# Software Foundation, version 3 of the License.
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:9-#
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:10-# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:11-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:12-# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:13-# details.
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:14-#
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:15-# You should have received a copy of the GNU Affero General Public License along
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:16-# with this program. If not, see <http://www.gnu.org/licenses/>.
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:17-
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:18-class MigrateQueueToDefaultShard < ActiveRecord::Migration[4.2]
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:19-  tag :predeploy
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:20-
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:21-  def up
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:22-    return unless Shard.current.default?
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:23:    return unless ActiveRecord::Base.configurations[Rails.env]['queue']
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:24-
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:25:    db_config = ActiveRecord::Base.configurations[Rails.env].dup
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:26-    queue_config = db_config.delete('queue')
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:27-
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:28-    # they're on the same db
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:29-    return if db_config == queue_config
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:30-    return if ActiveRecord::Base.connection.table_exists?(:delayed_jobs)
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:31-
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:32-    # create the correct schema in the default shard
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:33-    migrations = jobs_migrations
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:34-    migrations.each do |m|
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:35-      next unless ActiveRecord::SchemaMigration.where(version: m.version.to_s).exists?
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:36-      m.migrate(:up)
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:37-    end
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:38-
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:39-    # now copy stuff over
apps/canvas-lms/db/migrate/20120101163452_migrate_queue_to_default_shard.rb:40-    queue_conn = ActiveRecord::Base.postgresql_connection(queue_config)
apps/canvas-lms/lib/tasks/canvas.rake:163-  namespace :migrate do
apps/canvas-lms/lib/tasks/canvas.rake:164-    desc "Run all pending predeploy migrations"
apps/canvas-lms/lib/tasks/canvas.rake:165-    task :predeploy => [:environment, :load_config] do
apps/canvas-lms/lib/tasks/canvas.rake:166-      migrations = CANVAS_RAILS5_1 ?
apps/canvas-lms/lib/tasks/canvas.rake:167-        ActiveRecord::Migrator.migrations(ActiveRecord::Migrator.migrations_paths) :
apps/canvas-lms/lib/tasks/canvas.rake:168-        ActiveRecord::Base.connection.migration_context.migrations
apps/canvas-lms/lib/tasks/canvas.rake:169-      migrations = migrations.select { |m| m.tags.include?(:predeploy) }
apps/canvas-lms/lib/tasks/canvas.rake:170-      ActiveRecord::Migrator.new(:up, migrations).migrate
apps/canvas-lms/lib/tasks/canvas.rake:171-    end
apps/canvas-lms/lib/tasks/canvas.rake:172-  end
apps/canvas-lms/lib/tasks/canvas.rake:173-
apps/canvas-lms/lib/tasks/canvas.rake:174-  namespace :test do
apps/canvas-lms/lib/tasks/canvas.rake:175-    desc "Drop and regenerate the test db by running migrations"
apps/canvas-lms/lib/tasks/canvas.rake:176-    task :reset => [:environment, :load_config] do
apps/canvas-lms/lib/tasks/canvas.rake:177-      raise "Run with RAILS_ENV=test" unless Rails.env.test?
apps/canvas-lms/lib/tasks/canvas.rake:178:      config = ActiveRecord::Base.configurations['test']
apps/canvas-lms/lib/tasks/canvas.rake:179-      queue = config['queue']
apps/canvas-lms/lib/tasks/canvas.rake:180-      ActiveRecord::Tasks::DatabaseTasks.drop(queue) if queue rescue nil
apps/canvas-lms/lib/tasks/canvas.rake:181-      ActiveRecord::Tasks::DatabaseTasks.drop(config) rescue nil
apps/canvas-lms/lib/tasks/canvas.rake:182-      Canvas::Cassandra::DatabaseBuilder.config_names.each do |cass_config|
apps/canvas-lms/lib/tasks/canvas.rake:183-        db = Canvas::Cassandra::DatabaseBuilder.from_config(cass_config)
apps/canvas-lms/lib/tasks/canvas.rake:184-        db.tables.each do |table|
apps/canvas-lms/lib/tasks/canvas.rake:185-          db.execute("DROP TABLE #{table}")
apps/canvas-lms/lib/tasks/canvas.rake:186-        end
apps/canvas-lms/lib/tasks/canvas.rake:187-      end
apps/canvas-lms/lib/tasks/canvas.rake:188-      ActiveRecord::Tasks::DatabaseTasks.create(queue) if queue
apps/canvas-lms/lib/tasks/canvas.rake:189-      ActiveRecord::Tasks::DatabaseTasks.create(config)
apps/canvas-lms/lib/tasks/canvas.rake:190-      ::ActiveRecord::Base.connection.schema_cache.clear!
apps/canvas-lms/lib/tasks/canvas.rake:191-      ::ActiveRecord::Base.descendants.each(&:reset_column_information)
apps/canvas-lms/lib/tasks/canvas.rake:192-      Rake::Task['db:migrate'].invoke
apps/canvas-lms/lib/tasks/canvas.rake:193-    end
apps/canvas-lms/lib/tasks/db_nuke.rake:1-namespace :db do
apps/canvas-lms/lib/tasks/db_nuke.rake:2-  task :nuke => :environment do
apps/canvas-lms/lib/tasks/db_nuke.rake:3-    # dont kill db:nuke if it dies with destoying all the attachments.  
apps/canvas-lms/lib/tasks/db_nuke.rake:4-    # it probably is just because it tries to delete an attachment who's 
apps/canvas-lms/lib/tasks/db_nuke.rake:5-    # file on disk or s3 is no longer there.
apps/canvas-lms/lib/tasks/db_nuke.rake:6-    Attachment.destroy_all rescue nil
apps/canvas-lms/lib/tasks/db_nuke.rake:7:    abcs = ActiveRecord::Base.configurations
apps/canvas-lms/lib/tasks/db_nuke.rake:8-    ["development"].each do |db|
apps/canvas-lms/lib/tasks/db_nuke.rake:9-      case abcs[db]["adapter"]
apps/canvas-lms/lib/tasks/db_nuke.rake:10-        when "sqlite", "sqlite3"
apps/canvas-lms/lib/tasks/db_nuke.rake:11-          dbfile = abcs[db]["database"] || abcs[db]["dbfile"]
apps/canvas-lms/lib/tasks/db_nuke.rake:12-          begin
apps/canvas-lms/lib/tasks/db_nuke.rake:13-            File.delete(dbfile) if File.exist?(dbfile)
apps/canvas-lms/lib/tasks/db_nuke.rake:14-          rescue
apps/canvas-lms/lib/tasks/db_nuke.rake:15-            f = File.open(dbfile, "w")
apps/canvas-lms/lib/tasks/db_nuke.rake:16-            f.write("")
apps/canvas-lms/lib/tasks/db_nuke.rake:17-            f.close
apps/canvas-lms/lib/tasks/db_nuke.rake:18-          end
apps/canvas-lms/lib/tasks/db_nuke.rake:19-          ActiveRecord::Base.establish_connection(db.to_sym)
apps/canvas-lms/lib/tasks/db_nuke.rake:20-        else
apps/canvas-lms/lib/tasks/db_nuke.rake:21-          raise "Task not supported by '#{abcs[db]["adapter"]}'"
apps/canvas-lms/lib/tasks/db_nuke.rake:22-      end
apps/canvas-lms/spec/support/test_database_utils.rb:7-# the terms of the GNU Affero General Public License as published by the Free
apps/canvas-lms/spec/support/test_database_utils.rb:8-# Software Foundation, version 3 of the License.
apps/canvas-lms/spec/support/test_database_utils.rb:9-#
apps/canvas-lms/spec/support/test_database_utils.rb:10-# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
apps/canvas-lms/spec/support/test_database_utils.rb:11-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
apps/canvas-lms/spec/support/test_database_utils.rb:12-# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
apps/canvas-lms/spec/support/test_database_utils.rb:13-# details.
apps/canvas-lms/spec/support/test_database_utils.rb:14-#
apps/canvas-lms/spec/support/test_database_utils.rb:15-# You should have received a copy of the GNU Affero General Public License along
apps/canvas-lms/spec/support/test_database_utils.rb:16-# with this program. If not, see <http://www.gnu.org/licenses/>.
apps/canvas-lms/spec/support/test_database_utils.rb:17-
apps/canvas-lms/spec/support/test_database_utils.rb:18-module TestDatabaseUtils
apps/canvas-lms/spec/support/test_database_utils.rb:19-  class << self
apps/canvas-lms/spec/support/test_database_utils.rb:20-    # for when we fork
apps/canvas-lms/spec/support/test_database_utils.rb:21-    def reconnect!
apps/canvas-lms/spec/support/test_database_utils.rb:22:      ::ActiveRecord::Base.configurations['test']['database'] = "canvas_test_#{ENV["TEST_ENV_NUMBER"]}"
apps/canvas-lms/spec/support/test_database_utils.rb:23-      ::Switchman::DatabaseServer.remove_instance_variable(:@database_servers)
apps/canvas-lms/spec/support/test_database_utils.rb:24-      ::ActiveRecord::Base.establish_connection(:test)
apps/canvas-lms/spec/support/test_database_utils.rb:25-    end
apps/canvas-lms/spec/support/test_database_utils.rb:26-
apps/canvas-lms/spec/support/test_database_utils.rb:27-    def reset_database!
apps/canvas-lms/spec/support/test_database_utils.rb:28-      return unless truncate_all_tables? || randomize_sequences?
apps/canvas-lms/spec/support/test_database_utils.rb:29-
apps/canvas-lms/spec/support/test_database_utils.rb:30-      start = Time.now
apps/canvas-lms/spec/support/test_database_utils.rb:31-
apps/canvas-lms/spec/support/test_database_utils.rb:32-      # this won't create/migrate them, but it will let us with_each_shard any
apps/canvas-lms/spec/support/test_database_utils.rb:33-      # persistent ones that already exist
apps/canvas-lms/spec/support/test_database_utils.rb:34-      require "switchman/test_helper"
apps/canvas-lms/spec/support/test_database_utils.rb:35-      ::Switchman::TestHelper.recreate_persistent_test_shards(dont_create: true)
apps/canvas-lms/spec/support/test_database_utils.rb:36-
apps/canvas-lms/spec/support/test_database_utils.rb:37-      truncate_all_tables! if truncate_all_tables?
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:58-    end
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:59-
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:60-    context 'when master server is down' do
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:61-      before do
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:62-        @replica_connection = mock('replica_connection')
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:63-      end
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:64-
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:65-      after do
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:66-        pg_readonly_mode_key = Discourse::PG_READONLY_MODE_KEY
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:67-
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:68-        with_multisite_db(multisite_db) do
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:69-          Discourse.disable_readonly_mode(pg_readonly_mode_key)
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:70-        end
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:71-
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:72-        Discourse.disable_readonly_mode(pg_readonly_mode_key)
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:73:        ActiveRecord::Base.establish_connection(ActiveRecord::Base.configurations[Rails.env])
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:74-      end
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:75-
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:76-      it 'should failover to a replica server' do
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:77-        # erratically fails with: ActiveRecord::ConnectionTimeoutError:
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:78-        # could not obtain a connection from the pool within 5.000 seconds (waited 5.000 seconds); all pooled connections were in use
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:79-        #
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:80-        skip("This test is failing erratically")
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:81-
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:82-        RailsMultisite::ConnectionManagement.stubs(:all_dbs).returns(['default', multisite_db])
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:83-        postgresql_fallback_handler.expects(:verify_master).at_least(3)
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:84-
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:85-        [config, multisite_config].each do |configuration|
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:86-          ActiveRecord::Base.expects(:postgresql_connection).with(configuration).raises(PG::ConnectionBad)
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:87-          ActiveRecord::Base.expects(:verify_replica).with(@replica_connection)
apps/discourse/spec/components/active_record/connection_adapters/postgresql_fallback_adapter_spec.rb:88-
apps/empirical-core/services/QuillLMS/config/initializers/database.rb:1-#Prevents rack timeout from causing issues with active DB connections.
apps/empirical-core/services/QuillLMS/config/initializers/database.rb:2:ActiveRecord::Base.configurations[Rails.env].merge!(prepared_statements: false)
apps/empirical-core/services/QuillLMS/config/initializers/database.rb:3-
apps/empirical-core/services/QuillLMS/config/puma.rb:1-workers Integer(ENV['PUMA_WORKERS'] || 3)
apps/empirical-core/services/QuillLMS/config/puma.rb:2-threads Integer(ENV['MIN_THREADS']  || 1), Integer(ENV['MAX_THREADS'] || 10)
apps/empirical-core/services/QuillLMS/config/puma.rb:3-
apps/empirical-core/services/QuillLMS/config/puma.rb:4-preload_app!
apps/empirical-core/services/QuillLMS/config/puma.rb:5-
apps/empirical-core/services/QuillLMS/config/puma.rb:6-rackup      DefaultRackup
apps/empirical-core/services/QuillLMS/config/puma.rb:7-port        ENV['PORT']     || 3000
apps/empirical-core/services/QuillLMS/config/puma.rb:8-environment ENV['RACK_ENV'] || 'development'
apps/empirical-core/services/QuillLMS/config/puma.rb:9-
apps/empirical-core/services/QuillLMS/config/puma.rb:10-on_worker_boot do
apps/empirical-core/services/QuillLMS/config/puma.rb:11-  # worker specific setup
apps/empirical-core/services/QuillLMS/config/puma.rb:12-  ActiveSupport.on_load(:active_record) do
apps/empirical-core/services/QuillLMS/config/puma.rb:13:    config = ActiveRecord::Base.configurations[Rails.env] ||
apps/empirical-core/services/QuillLMS/config/puma.rb:14-                Rails.application.config.database_configuration[Rails.env]
apps/empirical-core/services/QuillLMS/config/puma.rb:15-    config['pool'] = ENV['MAX_THREADS'] || 16
apps/empirical-core/services/QuillLMS/config/puma.rb:16-    ActiveRecord::Base.establish_connection(config)
apps/empirical-core/services/QuillLMS/config/puma.rb:17-  end
apps/empirical-core/services/QuillLMS/config/puma.rb:18-end
apps/empirical-core/services/QuillLMS/config/puma.rb:19-
apps/empirical-core/services/QuillLMS/config/puma.rb:20-
apps/empirical-core/services/QuillLMS/config/puma.rb:21-
apps/foodsoft/lib/foodsoft_config.rb:204-    #
apps/foodsoft/lib/foodsoft_config.rb:205-    #   @return [Hash] Default configuration values
apps/foodsoft/lib/foodsoft_config.rb:206-    mattr_accessor :default_config
apps/foodsoft/lib/foodsoft_config.rb:207-
apps/foodsoft/lib/foodsoft_config.rb:208-
apps/foodsoft/lib/foodsoft_config.rb:209-    private
apps/foodsoft/lib/foodsoft_config.rb:210-
apps/foodsoft/lib/foodsoft_config.rb:211-    def set_config(foodcoop)
apps/foodsoft/lib/foodsoft_config.rb:212-      raise "No config for this environment (#{foodcoop}) available!" if APP_CONFIG[foodcoop].nil?
apps/foodsoft/lib/foodsoft_config.rb:213-      self.config = APP_CONFIG[foodcoop]
apps/foodsoft/lib/foodsoft_config.rb:214-      self.scope = foodcoop
apps/foodsoft/lib/foodsoft_config.rb:215-      set_missing
apps/foodsoft/lib/foodsoft_config.rb:216-    end
apps/foodsoft/lib/foodsoft_config.rb:217-
apps/foodsoft/lib/foodsoft_config.rb:218-    def setup_database
apps/foodsoft/lib/foodsoft_config.rb:219:      database_config = ActiveRecord::Base.configurations[Rails.env]
apps/foodsoft/lib/foodsoft_config.rb:220-      database_config = database_config.merge(config[:database]) if config[:database].present?
apps/foodsoft/lib/foodsoft_config.rb:221-      ActiveRecord::Base.establish_connection(database_config)
apps/foodsoft/lib/foodsoft_config.rb:222-    end
apps/foodsoft/lib/foodsoft_config.rb:223-
apps/foodsoft/lib/foodsoft_config.rb:224-    def setup_mailing
apps/foodsoft/lib/foodsoft_config.rb:225-      [:protocol, :host, :port, :script_name].each do |k|
apps/foodsoft/lib/foodsoft_config.rb:226-        ActionMailer::Base.default_url_options[k] = self[k] if self[k]
apps/foodsoft/lib/foodsoft_config.rb:227-      end
apps/foodsoft/lib/foodsoft_config.rb:228-      ActionMailer::Base.default_url_options[:foodcoop] = scope
apps/foodsoft/lib/foodsoft_config.rb:229-    end
apps/foodsoft/lib/foodsoft_config.rb:230-
apps/foodsoft/lib/foodsoft_config.rb:231-    # Completes foodcoop configuration with program defaults.
apps/foodsoft/lib/foodsoft_config.rb:232-    # @see #foodsoft_config
apps/foodsoft/lib/foodsoft_config.rb:233-    def set_missing
apps/foodsoft/lib/foodsoft_config.rb:234-      config.replace(default_config.deep_merge(config))
apps/gitlab-ci/db/migrate/limits_to_mysql.rb:1-class LimitsToMysql < ActiveRecord::Migration
apps/gitlab-ci/db/migrate/limits_to_mysql.rb:2-  def up
apps/gitlab-ci/db/migrate/limits_to_mysql.rb:3:    return unless ActiveRecord::Base.configurations[Rails.env]['adapter'] =~ /^mysql/
apps/gitlab-ci/db/migrate/limits_to_mysql.rb:4-
apps/gitlab-ci/db/migrate/limits_to_mysql.rb:5-    change_column :builds, :trace, :text, limit: 1073741823
apps/gitlab-ci/db/migrate/limits_to_mysql.rb:6-    change_column :commits, :push_data, :text, limit: 16777215
apps/gitlab-ci/db/migrate/limits_to_mysql.rb:7-  end
apps/gitlab-ci/db/migrate/limits_to_mysql.rb:8-end
apps/gitlab-ci/db/migrate/limits_to_mysql.rb:9-
apps/gitlabhq/db/migrate/20151020173516_ci_limits_to_mysql.rb:1-# rubocop:disable all
apps/gitlabhq/db/migrate/20151020173516_ci_limits_to_mysql.rb:2-class CiLimitsToMysql < ActiveRecord::Migration
apps/gitlabhq/db/migrate/20151020173516_ci_limits_to_mysql.rb:3-  def change
apps/gitlabhq/db/migrate/20151020173516_ci_limits_to_mysql.rb:4:    return unless ActiveRecord::Base.configurations[Rails.env]['adapter'] =~ /^mysql/
apps/gitlabhq/db/migrate/20151020173516_ci_limits_to_mysql.rb:5-
apps/gitlabhq/db/migrate/20151020173516_ci_limits_to_mysql.rb:6-    # CI
apps/gitlabhq/db/migrate/20151020173516_ci_limits_to_mysql.rb:7-    change_column :ci_builds, :trace, :text, limit: 1073741823
apps/gitlabhq/db/migrate/20151020173516_ci_limits_to_mysql.rb:8-    change_column :ci_commits, :push_data, :text, limit: 16777215
apps/gitlabhq/db/migrate/20151020173516_ci_limits_to_mysql.rb:9-  end
apps/gitlabhq/db/migrate/20151020173516_ci_limits_to_mysql.rb:10-end
apps/gitlabhq/db/migrate/20151020173516_ci_limits_to_mysql.rb:11-
apps/gitlabhq/db/migrate/limits_to_mysql.rb:1-# rubocop:disable all
apps/gitlabhq/db/migrate/limits_to_mysql.rb:2-class LimitsToMysql < ActiveRecord::Migration
apps/gitlabhq/db/migrate/limits_to_mysql.rb:3-  def up
apps/gitlabhq/db/migrate/limits_to_mysql.rb:4:    return unless ActiveRecord::Base.configurations[Rails.env]['adapter'] =~ /^mysql/
apps/gitlabhq/db/migrate/limits_to_mysql.rb:5-
apps/gitlabhq/db/migrate/limits_to_mysql.rb:6-    # These columns were removed in 10.3, but this is called from two places:
apps/gitlabhq/db/migrate/limits_to_mysql.rb:7-    # 1. A migration run after they were added, but before they were removed.
apps/gitlabhq/db/migrate/limits_to_mysql.rb:8-    # 2. A rake task which can be run at any time.
apps/gitlabhq/db/migrate/limits_to_mysql.rb:9-    #
apps/gitlabhq/db/migrate/limits_to_mysql.rb:10-    # Because of item 2, we need these checks.
apps/gitlabhq/db/migrate/limits_to_mysql.rb:11-    if column_exists?(:merge_request_diffs, :st_commits)
apps/gitlabhq/db/migrate/limits_to_mysql.rb:12-      change_column :merge_request_diffs, :st_commits, :text, limit: 2147483647
apps/gitlabhq/db/migrate/limits_to_mysql.rb:13-    end
apps/gitlabhq/db/migrate/limits_to_mysql.rb:14-
apps/gitlabhq/db/migrate/limits_to_mysql.rb:15-    if column_exists?(:merge_request_diffs, :st_diffs)
apps/gitlabhq/db/migrate/limits_to_mysql.rb:16-      change_column :merge_request_diffs, :st_diffs, :text, limit: 2147483647
apps/gitlabhq/db/migrate/limits_to_mysql.rb:17-    end
apps/gitlabhq/db/migrate/limits_to_mysql.rb:18-
apps/gitlabhq/db/migrate/limits_to_mysql.rb:19-    change_column :snippets, :content, :text, limit: 2147483647
apps/gitlabhq/lib/gitlab/database.rb:1-module Gitlab
apps/gitlabhq/lib/gitlab/database.rb:2-  module Database
apps/gitlabhq/lib/gitlab/database.rb:3-    # The max value of INTEGER type is the same between MySQL and PostgreSQL:
apps/gitlabhq/lib/gitlab/database.rb:4-    # https://www.postgresql.org/docs/9.2/static/datatype-numeric.html
apps/gitlabhq/lib/gitlab/database.rb:5-    # http://dev.mysql.com/doc/refman/5.7/en/integer-types.html
apps/gitlabhq/lib/gitlab/database.rb:6-    MAX_INT_VALUE = 2147483647
apps/gitlabhq/lib/gitlab/database.rb:7-    # The max value between MySQL's TIMESTAMP and PostgreSQL's timestampz:
apps/gitlabhq/lib/gitlab/database.rb:8-    # https://www.postgresql.org/docs/9.1/static/datatype-datetime.html
apps/gitlabhq/lib/gitlab/database.rb:9-    # https://dev.mysql.com/doc/refman/5.7/en/datetime.html
apps/gitlabhq/lib/gitlab/database.rb:10-    MAX_TIMESTAMP_VALUE = Time.at((1 << 31) - 1).freeze
apps/gitlabhq/lib/gitlab/database.rb:11-
apps/gitlabhq/lib/gitlab/database.rb:12-    def self.config
apps/gitlabhq/lib/gitlab/database.rb:13:      ActiveRecord::Base.configurations[Rails.env]
apps/gitlabhq/lib/gitlab/database.rb:14-    end
apps/gitlabhq/lib/gitlab/database.rb:15-
apps/gitlabhq/lib/gitlab/database.rb:16-    def self.username
apps/gitlabhq/lib/gitlab/database.rb:17-      config['username'] || ENV['USER']
apps/gitlabhq/lib/gitlab/database.rb:18-    end
apps/gitlabhq/lib/gitlab/database.rb:19-
apps/gitlabhq/lib/gitlab/database.rb:20-    def self.database_name
apps/gitlabhq/lib/gitlab/database.rb:21-      config['database']
apps/gitlabhq/lib/gitlab/database.rb:22-    end
apps/gitlabhq/lib/gitlab/database.rb:23-
apps/gitlabhq/lib/gitlab/database.rb:24-    def self.adapter_name
apps/gitlabhq/lib/gitlab/database.rb:25-      config['adapter']
apps/gitlabhq/lib/gitlab/database.rb:26-    end
apps/gitlabhq/lib/gitlab/database.rb:27-
apps/gitlabhq/lib/gitlab/database.rb:28-    def self.mysql?
--
apps/gitlabhq/lib/gitlab/database.rb:167-        result.values.map { |tuple| tuple[0].to_i }
apps/gitlabhq/lib/gitlab/database.rb:168-      else
apps/gitlabhq/lib/gitlab/database.rb:169-        []
apps/gitlabhq/lib/gitlab/database.rb:170-      end
apps/gitlabhq/lib/gitlab/database.rb:171-    end
apps/gitlabhq/lib/gitlab/database.rb:172-
apps/gitlabhq/lib/gitlab/database.rb:173-    def self.sanitize_timestamp(timestamp)
apps/gitlabhq/lib/gitlab/database.rb:174-      MAX_TIMESTAMP_VALUE > timestamp ? timestamp : MAX_TIMESTAMP_VALUE.dup
apps/gitlabhq/lib/gitlab/database.rb:175-    end
apps/gitlabhq/lib/gitlab/database.rb:176-
apps/gitlabhq/lib/gitlab/database.rb:177-    # pool_size - The size of the DB pool.
apps/gitlabhq/lib/gitlab/database.rb:178-    # host - An optional host name to use instead of the default one.
apps/gitlabhq/lib/gitlab/database.rb:179-    def self.create_connection_pool(pool_size, host = nil)
apps/gitlabhq/lib/gitlab/database.rb:180-      # See activerecord-4.2.7.1/lib/active_record/connection_adapters/connection_specification.rb
apps/gitlabhq/lib/gitlab/database.rb:181-      env = Rails.env
apps/gitlabhq/lib/gitlab/database.rb:182:      original_config = ActiveRecord::Base.configurations
apps/gitlabhq/lib/gitlab/database.rb:183-
apps/gitlabhq/lib/gitlab/database.rb:184-      env_config = original_config[env].merge('pool' => pool_size)
apps/gitlabhq/lib/gitlab/database.rb:185-      env_config['host'] = host if host
apps/gitlabhq/lib/gitlab/database.rb:186-
apps/gitlabhq/lib/gitlab/database.rb:187-      config = original_config.merge(env => env_config)
apps/gitlabhq/lib/gitlab/database.rb:188-
apps/gitlabhq/lib/gitlab/database.rb:189-      spec =
apps/gitlabhq/lib/gitlab/database.rb:190-        ActiveRecord::
apps/gitlabhq/lib/gitlab/database.rb:191-          ConnectionAdapters::
apps/gitlabhq/lib/gitlab/database.rb:192-          ConnectionSpecification::Resolver.new(config).spec(env.to_sym)
apps/gitlabhq/lib/gitlab/database.rb:193-
apps/gitlabhq/lib/gitlab/database.rb:194-      ActiveRecord::ConnectionAdapters::ConnectionPool.new(spec)
apps/gitlabhq/lib/gitlab/database.rb:195-    end
apps/gitlabhq/lib/gitlab/database.rb:196-
apps/gitlabhq/lib/gitlab/database.rb:197-    def self.connection
apps/hours/config/unicorn.rb:9-    puts 'Unicorn master intercepting TERM and sending myself QUIT instead'
apps/hours/config/unicorn.rb:10-    Process.kill 'QUIT', Process.pid
apps/hours/config/unicorn.rb:11-  end
apps/hours/config/unicorn.rb:12-
apps/hours/config/unicorn.rb:13-  if defined? ActiveRecord::Base
apps/hours/config/unicorn.rb:14-    ActiveRecord::Base.connection.disconnect!
apps/hours/config/unicorn.rb:15-  end
apps/hours/config/unicorn.rb:16-end
apps/hours/config/unicorn.rb:17-
apps/hours/config/unicorn.rb:18-after_fork do |server, worker|
apps/hours/config/unicorn.rb:19-  Signal.trap 'TERM' do
apps/hours/config/unicorn.rb:20-    puts 'Unicorn worker intercepting TERM and doing nothing. Wait for master to sent QUIT'
apps/hours/config/unicorn.rb:21-  end
apps/hours/config/unicorn.rb:22-
apps/hours/config/unicorn.rb:23-  if defined? ActiveRecord::Base
apps/hours/config/unicorn.rb:24:    config = ActiveRecord::Base.configurations[Rails.env] || Rails.application.config.database_configuration[Rails.env]
apps/hours/config/unicorn.rb:25-    config['reaping_frequency'] = (ENV['DB_REAPING_FREQUENCY'] || 10).to_i
apps/hours/config/unicorn.rb:26-    config['pool'] = (ENV['DB_POOL'] || 2).to_i
apps/hours/config/unicorn.rb:27-    ActiveRecord::Base.establish_connection(config)
apps/hours/config/unicorn.rb:28-  end
apps/hours/config/unicorn.rb:29-end
apps/hours/config/unicorn.rb:30-
apps/huboard-web/config/initializers/database_connection.rb:1-#Rails.application.config.after_initialize do
apps/huboard-web/config/initializers/database_connection.rb:2-#  ActiveRecord::Base.connection_pool.disconnect!
apps/huboard-web/config/initializers/database_connection.rb:3-#
apps/huboard-web/config/initializers/database_connection.rb:4-#  ActiveSupport.on_load(:active_record) do
apps/huboard-web/config/initializers/database_connection.rb:5:#    if config = ActiveRecord::Base.configurations[Rails.env] || Rails.application.config.database_configuration[Rails.env]
apps/huboard-web/config/initializers/database_connection.rb:6-#      config['reaping_frequency'] = ENV['DB_REAP_FREQ'] || 10 # seconds
apps/huboard-web/config/initializers/database_connection.rb:7-#      config['pool']              = ENV['MAX_THREADS']      || 5
apps/huboard-web/config/initializers/database_connection.rb:8-#      ActiveRecord::Base.establish_connection(config)
apps/huboard-web/config/initializers/database_connection.rb:9-#    end
apps/huboard-web/config/initializers/database_connection.rb:10-#  end
apps/huboard-web/config/initializers/database_connection.rb:11-#end
apps/huboard-web/config/initializers/database_connection.rb:12-defined?(Redis) and
apps/huboard-web/config/initializers/database_connection.rb:13-  $redis = Redis.current = ConnectionPool::Wrapper.new( size: (ENV['MAX_THREADS'] || 5) ) { Redis.new( url: ENV['REDIS_URL'] ) }
apps/huboard-web/config/initializers/database_connection.rb:14-
apps/hummingbird/lib/tasks/bulk_import_tvdb.rake:1-# This file is basically one big disaster
apps/hummingbird/lib/tasks/bulk_import_tvdb.rake:2-# I look forward to the day we delete it
apps/hummingbird/lib/tasks/bulk_import_tvdb.rake:3-desc "Bulk import info from TVDB"
apps/hummingbird/lib/tasks/bulk_import_tvdb.rake:4-task :bulk_import_tvdb, [] => [:environment] do |t, args|
apps/hummingbird/lib/tasks/bulk_import_tvdb.rake:5-  require 'parallel'
apps/hummingbird/lib/tasks/bulk_import_tvdb.rake:6-
apps/hummingbird/lib/tasks/bulk_import_tvdb.rake:7-  ActiveRecord::Base.connection_pool.disconnect!
apps/hummingbird/lib/tasks/bulk_import_tvdb.rake:8:  config = ActiveRecord::Base.configurations[Rails.env]
apps/hummingbird/lib/tasks/bulk_import_tvdb.rake:9-  config['pool'] = 16
apps/hummingbird/lib/tasks/bulk_import_tvdb.rake:10-  ActiveRecord::Base.establish_connection(config)
apps/hummingbird/lib/tasks/bulk_import_tvdb.rake:11-
apps/hummingbird/lib/tasks/bulk_import_tvdb.rake:12-  # This fixes some threaded autoloading issues
apps/hummingbird/lib/tasks/bulk_import_tvdb.rake:13-  Episode
apps/hummingbird/lib/tasks/bulk_import_tvdb.rake:14-
apps/hummingbird/lib/tasks/bulk_import_tvdb.rake:15-  $results = {
apps/hummingbird/lib/tasks/bulk_import_tvdb.rake:16-    failure: 0,
apps/hummingbird/lib/tasks/bulk_import_tvdb.rake:17-    success: 0,
apps/hummingbird/lib/tasks/bulk_import_tvdb.rake:18-    skipped: 0
apps/hummingbird/lib/tasks/bulk_import_tvdb.rake:19-  }
apps/hummingbird/lib/tasks/bulk_import_tvdb.rake:20-
apps/hummingbird/lib/tasks/bulk_import_tvdb.rake:21-  KEY = '21F012C4F48D4288'
apps/hummingbird/lib/tasks/bulk_import_tvdb.rake:22-  def tvdb(path)
apps/hummingbird/lib/tasks/bulk_import_tvdb.rake:23-    begin
apps/hummingbird/lib/tasks/tvdb_load_csv.rake:1-desc "Load a CSV of TVDB IDs into the database"
apps/hummingbird/lib/tasks/tvdb_load_csv.rake:2-task :tvdb_load_csv, [:file] => [:environment] do |t, args|
apps/hummingbird/lib/tasks/tvdb_load_csv.rake:3-  csv = CSV.foreach(args[:file], headers: true)
apps/hummingbird/lib/tasks/tvdb_load_csv.rake:4-
apps/hummingbird/lib/tasks/tvdb_load_csv.rake:5-  ActiveRecord::Base.connection_pool.disconnect!
apps/hummingbird/lib/tasks/tvdb_load_csv.rake:6:  config = ActiveRecord::Base.configurations[Rails.env]
apps/hummingbird/lib/tasks/tvdb_load_csv.rake:7-  config['pool'] = 16
apps/hummingbird/lib/tasks/tvdb_load_csv.rake:8-  ActiveRecord::Base.establish_connection(config)
apps/hummingbird/lib/tasks/tvdb_load_csv.rake:9-
apps/hummingbird/lib/tasks/tvdb_load_csv.rake:10-  # This fixes some threaded autoloading issues
apps/hummingbird/lib/tasks/tvdb_load_csv.rake:11-  Episode
apps/hummingbird/lib/tasks/tvdb_load_csv.rake:12-  Anime
apps/hummingbird/lib/tasks/tvdb_load_csv.rake:13-
apps/hummingbird/lib/tasks/tvdb_load_csv.rake:14-  Parallel.each(csv, in_threads: 8, progress: 'Loading CSV') do |row|
apps/hummingbird/lib/tasks/tvdb_load_csv.rake:15-    next if row['tvdb_series_id'].nil? || row['tvdb_series_id'] == -1
apps/hummingbird/lib/tasks/tvdb_load_csv.rake:16-    $stderr.puts "HUMANPLS #{Hash[row].to_json}" if row['tvdb_season_id'].try(:downcase) == 'nuck'
apps/hummingbird/lib/tasks/tvdb_load_csv.rake:17-    begin
apps/hummingbird/lib/tasks/tvdb_load_csv.rake:18-      Anime.update(row['id'], {
apps/hummingbird/lib/tasks/tvdb_load_csv.rake:19-        thetvdb_series_id: row['tvdb_series_id'],
apps/hummingbird/lib/tasks/tvdb_load_csv.rake:20-        thetvdb_season_id: row['tvdb_season_id'].try(:downcase)
apps/hummingbird/lib/tasks/tvdb_load_csv.rake:21-      })
apps/klaxon/config/puma.rb:1-environment ENV['RACK_ENV'] || 'development'
apps/klaxon/config/puma.rb:2-
apps/klaxon/config/puma.rb:3-workers Integer(ENV['PUMA_WORKERS'] || 4)
apps/klaxon/config/puma.rb:4-threads Integer(ENV['MIN_THREADS']  || 4), Integer(ENV['MAX_THREADS'] || 4)
apps/klaxon/config/puma.rb:5-
apps/klaxon/config/puma.rb:6-preload_app!
apps/klaxon/config/puma.rb:7-
apps/klaxon/config/puma.rb:8-on_worker_boot do
apps/klaxon/config/puma.rb:9-  ActiveRecord::Base.connection_pool.disconnect!
apps/klaxon/config/puma.rb:10-  ActiveSupport.on_load(:active_record) do
apps/klaxon/config/puma.rb:11:    config = ActiveRecord::Base.configurations[Rails.env] || Rails.application.config.database_configuration[Rails.env]
apps/klaxon/config/puma.rb:12-    config['reaping_frequency'] = ENV['DB_REAP_FREQ'] || 10 # seconds
apps/klaxon/config/puma.rb:13-    config['pool']              = (ENV['DB_POOL'] || 5).to_i
apps/klaxon/config/puma.rb:14-    ActiveRecord::Base.establish_connection
apps/klaxon/config/puma.rb:15-  end
apps/klaxon/config/puma.rb:16-end
apps/klaxon/config/puma.rb:17-
apps/klaxon/config/puma.rb:18-port = Integer(ENV['PORT'] || 3000)
apps/klaxon/config/puma.rb:19-
apps/klaxon/config/puma.rb:20-bind "tcp://0.0.0.0:#{port}"
apps/klaxon/config/puma.rb:21-
apps/loomio/config/initializers/database.rb:1-#config/initializers/database_connection.rb
apps/loomio/config/initializers/database.rb:2-# TODO: do we need this?
apps/loomio/config/initializers/database.rb:3-Rails.application.config.after_initialize do
apps/loomio/config/initializers/database.rb:4-  ActiveRecord::Base.connection_pool.disconnect!
apps/loomio/config/initializers/database.rb:5-
apps/loomio/config/initializers/database.rb:6-  ActiveSupport.on_load(:active_record) do
apps/loomio/config/initializers/database.rb:7:    config = ActiveRecord::Base.configurations[Rails.env] ||
apps/loomio/config/initializers/database.rb:8-                Rails.application.config.database_configuration[Rails.env]
apps/loomio/config/initializers/database.rb:9-    config['pool']              = ENV['MAX_THREADS'] || 5
apps/loomio/config/initializers/database.rb:10-    ActiveRecord::Base.establish_connection(config)
apps/loomio/config/initializers/database.rb:11-  end
apps/loomio/config/initializers/database.rb:12-end
apps/loomio/config/initializers/database.rb:13-
apps/manageiq/lib/embedded_ansible.rb:99-  end
apps/manageiq/lib/embedded_ansible.rb:100-
apps/manageiq/lib/embedded_ansible.rb:101-  def generate_password
apps/manageiq/lib/embedded_ansible.rb:102-    SecureRandom.base64(18).tr("+/", "-_")
apps/manageiq/lib/embedded_ansible.rb:103-  end
apps/manageiq/lib/embedded_ansible.rb:104-
apps/manageiq/lib/embedded_ansible.rb:105-  def miq_database
apps/manageiq/lib/embedded_ansible.rb:106-    MiqDatabase.first
apps/manageiq/lib/embedded_ansible.rb:107-  end
apps/manageiq/lib/embedded_ansible.rb:108-
apps/manageiq/lib/embedded_ansible.rb:109-  def database_connection
apps/manageiq/lib/embedded_ansible.rb:110-    ActiveRecord::Base.connection
apps/manageiq/lib/embedded_ansible.rb:111-  end
apps/manageiq/lib/embedded_ansible.rb:112-
apps/manageiq/lib/embedded_ansible.rb:113-  def database_configuration
apps/manageiq/lib/embedded_ansible.rb:114:    @db_config ||= ActiveRecord::Base.configurations[Rails.env]
apps/manageiq/lib/embedded_ansible.rb:115-  end
apps/manageiq/lib/embedded_ansible.rb:116-end
apps/manageiq/lib/embedded_ansible.rb:117-
apps/manageiq/lib/embedded_ansible.rb:118-Dir.glob(File.join(File.dirname(__FILE__), "embedded_ansible/*.rb")).each { |f| require_dependency f }
apps/manageiq/lib/embedded_ansible.rb:119-
apps/manageiq/lib/evm_database.rb:83-            raise
apps/manageiq/lib/evm_database.rb:84-          end
apps/manageiq/lib/evm_database.rb:85-        else
apps/manageiq/lib/evm_database.rb:86-          _log.error("Class #{klass} does not have a seed")
apps/manageiq/lib/evm_database.rb:87-        end
apps/manageiq/lib/evm_database.rb:88-      end
apps/manageiq/lib/evm_database.rb:89-    end
apps/manageiq/lib/evm_database.rb:90-
apps/manageiq/lib/evm_database.rb:91-    _log.info("Seeding... Complete")
apps/manageiq/lib/evm_database.rb:92-  rescue Timeout::Error
apps/manageiq/lib/evm_database.rb:93-    _log.error("Timed out seeding database (#{lock_timeout} seconds).")
apps/manageiq/lib/evm_database.rb:94-    raise
apps/manageiq/lib/evm_database.rb:95-  end
apps/manageiq/lib/evm_database.rb:96-
apps/manageiq/lib/evm_database.rb:97-  def self.host
apps/manageiq/lib/evm_database.rb:98:    ActiveRecord::Base.configurations.fetch_path(ENV['RAILS_ENV'], 'host')
apps/manageiq/lib/evm_database.rb:99-  end
apps/manageiq/lib/evm_database.rb:100-
apps/manageiq/lib/evm_database.rb:101-  def self.local?
apps/manageiq/lib/evm_database.rb:102-    host.blank? || ["localhost", "localhost.localdomain", "127.0.0.1", "0.0.0.0"].include?(host)
apps/manageiq/lib/evm_database.rb:103-  end
apps/manageiq/lib/evm_database.rb:104-
apps/manageiq/lib/evm_database.rb:105-  # Determines the average time to the database in milliseconds
apps/manageiq/lib/evm_database.rb:106-  def self.ping(connection = ActiveRecord::Base.connection)
apps/manageiq/lib/evm_database.rb:107-    query = "SELECT 1"
apps/manageiq/lib/evm_database.rb:108-    Benchmark.realtime { 10.times { connection.select_value(query) } } / 10 * 1000
apps/manageiq/lib/evm_database.rb:109-  end
apps/manageiq/lib/evm_database.rb:110-
apps/manageiq/lib/evm_database.rb:111-  def self.raise_server_event(event)
apps/manageiq/lib/evm_database.rb:112-    msg = "Server IP: #{MiqServer.my_server.ipaddress}, Server Host Name: #{MiqServer.my_server.hostname}"
apps/manageiq/lib/evm_database.rb:113-    MiqEvent.raise_evm_event_queue(MiqServer.my_server, event, :event_details => msg)
apps/manageiq/lib/tasks/evm_dba.rake:83-    task :destroy do
apps/manageiq/lib/tasks/evm_dba.rake:84-      begin
apps/manageiq/lib/tasks/evm_dba.rake:85-        Rake::Task['environment'].invoke
apps/manageiq/lib/tasks/evm_dba.rake:86-      rescue => err
apps/manageiq/lib/tasks/evm_dba.rake:87-        # Allow "destroying" a database that doesn't exist
apps/manageiq/lib/tasks/evm_dba.rake:88-        raise unless err.message =~ /does not exist$/
apps/manageiq/lib/tasks/evm_dba.rake:89-      end
apps/manageiq/lib/tasks/evm_dba.rake:90-
apps/manageiq/lib/tasks/evm_dba.rake:91-      Rake::Task['db:drop'].invoke
apps/manageiq/lib/tasks/evm_dba.rake:92-      Rake::Task['db:create'].invoke
apps/manageiq/lib/tasks/evm_dba.rake:93-
apps/manageiq/lib/tasks/evm_dba.rake:94-      # db:create creates a temporary connection to the default database, but doesn't
apps/manageiq/lib/tasks/evm_dba.rake:95-      # remove the connection in the event of a failed create, so we drop the connection
apps/manageiq/lib/tasks/evm_dba.rake:96-      # and reestablish it to the environment's database.
apps/manageiq/lib/tasks/evm_dba.rake:97-      ActiveRecord::Base.remove_connection
apps/manageiq/lib/tasks/evm_dba.rake:98:      ActiveRecord::Base.establish_connection(ActiveRecord::Base.configurations[Rails.env])
apps/manageiq/lib/tasks/evm_dba.rake:99-    end
apps/manageiq/lib/tasks/evm_dba.rake:100-
apps/manageiq/lib/tasks/evm_dba.rake:101-    desc "Resets the ManageIQ EVM Database (VMDB) of all tables, views and indices"
apps/manageiq/lib/tasks/evm_dba.rake:102-    task :reset => [:destroy, 'db:migrate']
apps/manageiq/lib/tasks/evm_dba.rake:103-
apps/manageiq/lib/tasks/evm_dba.rake:104-    # Example usage:
apps/manageiq/lib/tasks/evm_dba.rake:105-    #   RAILS_ENV=production bin/rake evm:db:region -- --region 99
apps/manageiq/lib/tasks/evm_dba.rake:106-
apps/manageiq/lib/tasks/evm_dba.rake:107-    desc 'Set the region of the current ManageIQ EVM Database (VMDB)'
apps/manageiq/lib/tasks/evm_dba.rake:108-    task :region do
apps/manageiq/lib/tasks/evm_dba.rake:109-      require 'trollop'
apps/manageiq/lib/tasks/evm_dba.rake:110-      opts = Trollop.options(EvmRakeHelper.extract_command_options) do
apps/manageiq/lib/tasks/evm_dba.rake:111-        opt :region, "Region number", :type => :integer, :required => ENV["REGION"].blank?
apps/manageiq/lib/tasks/evm_dba.rake:112-      end
apps/manageiq/lib/tasks/evm_dba.rake:113-
apps/mastodon/lib/mastodon/migration_helpers.rb:31-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
apps/mastodon/lib/mastodon/migration_helpers.rb:32-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
apps/mastodon/lib/mastodon/migration_helpers.rb:33-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
apps/mastodon/lib/mastodon/migration_helpers.rb:34-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
apps/mastodon/lib/mastodon/migration_helpers.rb:35-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
apps/mastodon/lib/mastodon/migration_helpers.rb:36-# THE SOFTWARE.
apps/mastodon/lib/mastodon/migration_helpers.rb:37-
apps/mastodon/lib/mastodon/migration_helpers.rb:38-# This is bad form, but there are enough differences that it's impractical to do
apps/mastodon/lib/mastodon/migration_helpers.rb:39-# otherwise:
apps/mastodon/lib/mastodon/migration_helpers.rb:40-# rubocop:disable all
apps/mastodon/lib/mastodon/migration_helpers.rb:41-
apps/mastodon/lib/mastodon/migration_helpers.rb:42-module Mastodon
apps/mastodon/lib/mastodon/migration_helpers.rb:43-  module MigrationHelpers
apps/mastodon/lib/mastodon/migration_helpers.rb:44-    # Stub for Database.postgresql? from GitLab
apps/mastodon/lib/mastodon/migration_helpers.rb:45-    def self.postgresql?
apps/mastodon/lib/mastodon/migration_helpers.rb:46:      ActiveRecord::Base.configurations[Rails.env]['adapter'].casecmp('postgresql').zero?
apps/mastodon/lib/mastodon/migration_helpers.rb:47-    end
apps/mastodon/lib/mastodon/migration_helpers.rb:48-
apps/mastodon/lib/mastodon/migration_helpers.rb:49-    # Stub for Database.mysql? from GitLab
apps/mastodon/lib/mastodon/migration_helpers.rb:50-    def self.mysql?
apps/mastodon/lib/mastodon/migration_helpers.rb:51:      ActiveRecord::Base.configurations[Rails.env]['adapter'].casecmp('mysql2').zero?
apps/mastodon/lib/mastodon/migration_helpers.rb:52-    end
apps/mastodon/lib/mastodon/migration_helpers.rb:53-
apps/mastodon/lib/mastodon/migration_helpers.rb:54-    # Model that can be used for querying permissions of a SQL user.
apps/mastodon/lib/mastodon/migration_helpers.rb:55-    class Grant < ActiveRecord::Base
apps/mastodon/lib/mastodon/migration_helpers.rb:56-      self.table_name =
apps/mastodon/lib/mastodon/migration_helpers.rb:57-        if Mastodon::MigrationHelpers.postgresql?
apps/mastodon/lib/mastodon/migration_helpers.rb:58-          'information_schema.role_table_grants'
apps/mastodon/lib/mastodon/migration_helpers.rb:59-        else
apps/mastodon/lib/mastodon/migration_helpers.rb:60-          'mysql.user'
apps/mastodon/lib/mastodon/migration_helpers.rb:61-        end
apps/mastodon/lib/mastodon/migration_helpers.rb:62-
apps/mastodon/lib/mastodon/migration_helpers.rb:63-      def self.scope_to_current_user
apps/mastodon/lib/mastodon/migration_helpers.rb:64-        if Mastodon::MigrationHelpers.postgresql?
apps/mastodon/lib/mastodon/migration_helpers.rb:65-          where('grantee = user')
apps/mastodon/lib/mastodon/migration_helpers.rb:66-        else
--
apps/mastodon/lib/mastodon/migration_helpers.rb:867-      while sidekiq_queue_length(queue_from) > 0
apps/mastodon/lib/mastodon/migration_helpers.rb:868-        Sidekiq.redis do |conn|
apps/mastodon/lib/mastodon/migration_helpers.rb:869-          conn.rpoplpush "queue:#{queue_from}", "queue:#{to}"
apps/mastodon/lib/mastodon/migration_helpers.rb:870-        end
apps/mastodon/lib/mastodon/migration_helpers.rb:871-      end
apps/mastodon/lib/mastodon/migration_helpers.rb:872-    end
apps/mastodon/lib/mastodon/migration_helpers.rb:873-
apps/mastodon/lib/mastodon/migration_helpers.rb:874-    def sidekiq_queue_length(queue_name)
apps/mastodon/lib/mastodon/migration_helpers.rb:875-      Sidekiq.redis do |conn|
apps/mastodon/lib/mastodon/migration_helpers.rb:876-        conn.llen("queue:#{queue_name}")
apps/mastodon/lib/mastodon/migration_helpers.rb:877-      end
apps/mastodon/lib/mastodon/migration_helpers.rb:878-    end
apps/mastodon/lib/mastodon/migration_helpers.rb:879-
apps/mastodon/lib/mastodon/migration_helpers.rb:880-    def check_trigger_permissions!(table)
apps/mastodon/lib/mastodon/migration_helpers.rb:881-      unless Grant.create_and_execute_trigger?(table)
apps/mastodon/lib/mastodon/migration_helpers.rb:882:        dbname = ActiveRecord::Base.configurations[Rails.env]['database']
apps/mastodon/lib/mastodon/migration_helpers.rb:883:        user = ActiveRecord::Base.configurations[Rails.env]['username'] || ENV['USER']
apps/mastodon/lib/mastodon/migration_helpers.rb:884-
apps/mastodon/lib/mastodon/migration_helpers.rb:885-        raise <<-EOF
apps/mastodon/lib/mastodon/migration_helpers.rb:886-Your database user is not allowed to create, drop, or execute triggers on the
apps/mastodon/lib/mastodon/migration_helpers.rb:887-table #{table}.
apps/mastodon/lib/mastodon/migration_helpers.rb:888-
apps/mastodon/lib/mastodon/migration_helpers.rb:889-If you are using PostgreSQL you can solve this by logging in to the GitLab
apps/mastodon/lib/mastodon/migration_helpers.rb:890-database (#{dbname}) using a super user and running:
apps/mastodon/lib/mastodon/migration_helpers.rb:891-
apps/mastodon/lib/mastodon/migration_helpers.rb:892-    ALTER #{user} WITH SUPERUSER
apps/mastodon/lib/mastodon/migration_helpers.rb:893-
apps/mastodon/lib/mastodon/migration_helpers.rb:894-For MySQL you instead need to run:
apps/mastodon/lib/mastodon/migration_helpers.rb:895-
apps/mastodon/lib/mastodon/migration_helpers.rb:896-    GRANT ALL PRIVILEGES ON *.* TO #{user}@'%'
apps/mastodon/lib/mastodon/migration_helpers.rb:897-
apps/mastodon/lib/mastodon/migration_helpers.rb:898-Both queries will grant the user super user permissions, ensuring you don't run
apps/mastodon/lib/tasks/db.rake:7-  # This is a somewhat hacky way to do this, so here's why:
apps/mastodon/lib/tasks/db.rake:8-  # 1. We have to define this before we load the schema, or we won't
apps/mastodon/lib/tasks/db.rake:9-  #    have a timestamp_id function when we get to it in the schema.
apps/mastodon/lib/tasks/db.rake:10-  # 2. db:setup calls db:schema:load_if_ruby, which calls
apps/mastodon/lib/tasks/db.rake:11-  #    db:schema:load, which we define above as having a prerequisite
apps/mastodon/lib/tasks/db.rake:12-  #    of this task.
apps/mastodon/lib/tasks/db.rake:13-  # 3. db:schema:load ends up running
apps/mastodon/lib/tasks/db.rake:14-  #    ActiveRecord::Tasks::DatabaseTasks.load_schema_current, which
apps/mastodon/lib/tasks/db.rake:15-  #    calls a private method `each_current_configuration`, which
apps/mastodon/lib/tasks/db.rake:16-  #    explicitly also does the loading for the `test` environment
apps/mastodon/lib/tasks/db.rake:17-  #    if the current environment is `development`, so we end up
apps/mastodon/lib/tasks/db.rake:18-  #    needing to do the same, and we can't even use the same method
apps/mastodon/lib/tasks/db.rake:19-  #    to do it.
apps/mastodon/lib/tasks/db.rake:20-
apps/mastodon/lib/tasks/db.rake:21-  if Rails.env == 'development'
apps/mastodon/lib/tasks/db.rake:22:    test_conf = ActiveRecord::Base.configurations['test']
apps/mastodon/lib/tasks/db.rake:23-
apps/mastodon/lib/tasks/db.rake:24-    if test_conf['database']&.present?
apps/mastodon/lib/tasks/db.rake:25-      ActiveRecord::Base.establish_connection(:test)
apps/mastodon/lib/tasks/db.rake:26-      yield
apps/mastodon/lib/tasks/db.rake:27-      ActiveRecord::Base.establish_connection(Rails.env.to_sym)
apps/mastodon/lib/tasks/db.rake:28-    end
apps/mastodon/lib/tasks/db.rake:29-  end
apps/mastodon/lib/tasks/db.rake:30-
apps/mastodon/lib/tasks/db.rake:31-  yield
apps/mastodon/lib/tasks/db.rake:32-end
apps/mastodon/lib/tasks/db.rake:33-
apps/mastodon/lib/tasks/db.rake:34-namespace :db do
apps/mastodon/lib/tasks/db.rake:35-  namespace :migrate do
apps/mastodon/lib/tasks/db.rake:36-    desc 'Setup the db or migrate depending on state of db'
apps/mastodon/lib/tasks/db.rake:37-    task setup: :environment do
apps/open-build-service/src/api/lib/tasks/cleanup_sessions.rake:1-namespace :db do
apps/open-build-service/src/api/lib/tasks/cleanup_sessions.rake:2-  desc 'Deletes sessions not running - run often'
apps/open-build-service/src/api/lib/tasks/cleanup_sessions.rake:3-  task cleanup_sessions: :environment do
apps/open-build-service/src/api/lib/tasks/cleanup_sessions.rake:4:    abcs = ActiveRecord::Base.configurations
apps/open-build-service/src/api/lib/tasks/cleanup_sessions.rake:5-    case abcs[Rails.env]['adapter']
apps/open-build-service/src/api/lib/tasks/cleanup_sessions.rake:6-    when 'mysql2'
apps/open-build-service/src/api/lib/tasks/cleanup_sessions.rake:7-      ActiveRecord::Base.establish_connection(abcs[Rails.env])
apps/open-build-service/src/api/lib/tasks/cleanup_sessions.rake:8-      ActiveRecord::Base.connection.execute 'DELETE FROM sessions WHERE updated_at < DATE_SUB(NOW(), INTERVAL 1 DAY)'
apps/open-build-service/src/api/lib/tasks/cleanup_sessions.rake:9-    else
apps/open-build-service/src/api/lib/tasks/cleanup_sessions.rake:10-      raise "Task not supported by '#{abcs[Rails.env]['adapter']}'"
apps/open-build-service/src/api/lib/tasks/cleanup_sessions.rake:11-    end
apps/open-build-service/src/api/lib/tasks/cleanup_sessions.rake:12-  end
apps/open-build-service/src/api/lib/tasks/cleanup_sessions.rake:13-end
apps/open-build-service/src/api/lib/tasks/cleanup_sessions.rake:14-
apps/open-build-service/src/api/lib/tasks/databases.rake:19-        Rake.application.redefine_task(self, args, &block)
apps/open-build-service/src/api/lib/tasks/databases.rake:20-      end
apps/open-build-service/src/api/lib/tasks/databases.rake:21-    end
apps/open-build-service/src/api/lib/tasks/databases.rake:22-  end
apps/open-build-service/src/api/lib/tasks/databases.rake:23-end
apps/open-build-service/src/api/lib/tasks/databases.rake:24-
apps/open-build-service/src/api/lib/tasks/databases.rake:25-def redefine_task(args, &block)
apps/open-build-service/src/api/lib/tasks/databases.rake:26-  Rake::Task.redefine_task(args, &block)
apps/open-build-service/src/api/lib/tasks/databases.rake:27-end
apps/open-build-service/src/api/lib/tasks/databases.rake:28-
apps/open-build-service/src/api/lib/tasks/databases.rake:29-namespace :db do
apps/open-build-service/src/api/lib/tasks/databases.rake:30-  namespace :structure do
apps/open-build-service/src/api/lib/tasks/databases.rake:31-    desc 'Dump the database structure to a SQL file'
apps/open-build-service/src/api/lib/tasks/databases.rake:32-    task dump: :environment do
apps/open-build-service/src/api/lib/tasks/databases.rake:33-      structure = ''
apps/open-build-service/src/api/lib/tasks/databases.rake:34:      abcs = ActiveRecord::Base.configurations
apps/open-build-service/src/api/lib/tasks/databases.rake:35-      case abcs[Rails.env]['adapter']
apps/open-build-service/src/api/lib/tasks/databases.rake:36-      when 'mysql2'
apps/open-build-service/src/api/lib/tasks/databases.rake:37-        ActiveRecord::Base.establish_connection(abcs[Rails.env])
apps/open-build-service/src/api/lib/tasks/databases.rake:38-        con = ActiveRecord::Base.connection
apps/open-build-service/src/api/lib/tasks/databases.rake:39-
apps/open-build-service/src/api/lib/tasks/databases.rake:40-        sql = "SHOW FULL TABLES WHERE Table_type = 'BASE TABLE'"
apps/open-build-service/src/api/lib/tasks/databases.rake:41-
apps/open-build-service/src/api/lib/tasks/databases.rake:42-        structure = con.select_all(sql, 'SCHEMA').map do |table|
apps/open-build-service/src/api/lib/tasks/databases.rake:43-          table.delete('Table_type')
apps/open-build-service/src/api/lib/tasks/databases.rake:44-          sql = "SHOW CREATE TABLE #{con.quote_table_name(table.to_a.first.last)}"
apps/open-build-service/src/api/lib/tasks/databases.rake:45-          con.exec_query(sql, 'SCHEMA').first['Create Table'] + ";\n\n"
apps/open-build-service/src/api/lib/tasks/databases.rake:46-        end.join
apps/open-build-service/src/api/lib/tasks/databases.rake:47-      else
apps/open-build-service/src/api/lib/tasks/databases.rake:48-        raise "Task not supported by '#{abcs[Rails.env]['adapter']}'"
apps/open-build-service/src/api/lib/tasks/databases.rake:49-      end
apps/open-data-certificate/config/puma.rb:1-workers Integer(ENV['WEB_CONCURRENCY'] || 2)
apps/open-data-certificate/config/puma.rb:2-threads_count = Integer(ENV['RAILS_MAX_THREADS'] || 5)
apps/open-data-certificate/config/puma.rb:3-threads threads_count, threads_count
apps/open-data-certificate/config/puma.rb:4-
apps/open-data-certificate/config/puma.rb:5-preload_app!
apps/open-data-certificate/config/puma.rb:6-
apps/open-data-certificate/config/puma.rb:7-rackup      DefaultRackup
apps/open-data-certificate/config/puma.rb:8-port        ENV['PORT']     || 3000
apps/open-data-certificate/config/puma.rb:9-environment ENV['RACK_ENV'] || 'development'
apps/open-data-certificate/config/puma.rb:10-
apps/open-data-certificate/config/puma.rb:11-on_worker_boot do
apps/open-data-certificate/config/puma.rb:12-  # See: https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server#on-worker-boot
apps/open-data-certificate/config/puma.rb:13-  # Valid on Rails up to 4.1 the initializer method of setting `pool` size
apps/open-data-certificate/config/puma.rb:14-  ActiveSupport.on_load(:active_record) do
apps/open-data-certificate/config/puma.rb:15:    config = ActiveRecord::Base.configurations[Rails.env] ||
apps/open-data-certificate/config/puma.rb:16-             Rails.application.config.database_configuration[Rails.env]
apps/open-data-certificate/config/puma.rb:17-    config['pool'] = ENV['RAILS_MAX_THREADS'] || 5
apps/open-data-certificate/config/puma.rb:18-    ActiveRecord::Base.establish_connection(config)
apps/open-data-certificate/config/puma.rb:19-  end
apps/open-data-certificate/config/puma.rb:20-end
apps/open-data-certificate/config/puma.rb:21-
apps/opengovernment/app/models/user.rb:1-class User < ActiveRecord::Base
apps/opengovernment/app/models/user.rb:2:  if ActiveRecord::Base.configurations.has_key?('opencongress')
apps/opengovernment/app/models/user.rb:3-    establish_connection 'opencongress'
apps/opengovernment/app/models/user.rb:4-
apps/opengovernment/app/models/user.rb:5-    # some column name differences between OC implementation and devise
apps/opengovernment/app/models/user.rb:6-    # these columns should be renamed and methods removed before launch
apps/opengovernment/app/models/user.rb:7-    def encrypted_password
apps/opengovernment/app/models/user.rb:8-      self.crypted_password
apps/opengovernment/app/models/user.rb:9-    end
apps/opengovernment/app/models/user.rb:10-
apps/opengovernment/app/models/user.rb:11-    def encrypted_password=(val)
apps/opengovernment/app/models/user.rb:12-      self.crypted_password = val
apps/opengovernment/app/models/user.rb:13-    end
apps/opengovernment/app/models/user.rb:14-
apps/opengovernment/app/models/user.rb:15-    def password_salt
apps/opengovernment/app/models/user.rb:16-      self.salt
apps/opengovernment/app/models/user.rb:17-    end
apps/opengovernment/lib/open_gov/shapefile.rb:13-      raise "File not found" unless File.exist?(shp_filename)
apps/opengovernment/lib/open_gov/shapefile.rb:14-
apps/opengovernment/lib/open_gov/shapefile.rb:15-      if shp_basename =~ /(.*)\.shp/
apps/opengovernment/lib/open_gov/shapefile.rb:16-        table_name = $1.downcase
apps/opengovernment/lib/open_gov/shapefile.rb:17-
apps/opengovernment/lib/open_gov/shapefile.rb:18-        #drop in case it already exists
apps/opengovernment/lib/open_gov/shapefile.rb:19-        if ActiveRecord::Base.connection.table_exists?(table_name)
apps/opengovernment/lib/open_gov/shapefile.rb:20-          raise "Table already exists; try again with :drop_table => true option to drop." unless drop_table
apps/opengovernment/lib/open_gov/shapefile.rb:21-          ActiveRecord::Schema.drop_table(table_name)
apps/opengovernment/lib/open_gov/shapefile.rb:22-        end
apps/opengovernment/lib/open_gov/shapefile.rb:23-      end
apps/opengovernment/lib/open_gov/shapefile.rb:24-
apps/opengovernment/lib/open_gov/shapefile.rb:25-      # This creates an SQL file in the same directory as the shapefile
apps/opengovernment/lib/open_gov/shapefile.rb:26-      to_sql(shp_filename, table_name)
apps/opengovernment/lib/open_gov/shapefile.rb:27-
apps/opengovernment/lib/open_gov/shapefile.rb:28:      abcs = ActiveRecord::Base.configurations
apps/opengovernment/lib/open_gov/shapefile.rb:29-      ENV['PGHOST']     = abcs[Rails.env]["host"] if abcs[Rails.env]["host"]
apps/opengovernment/lib/open_gov/shapefile.rb:30-      ENV['PGPORT']     = abcs[Rails.env]["port"].to_s if abcs[Rails.env]["port"]
apps/opengovernment/lib/open_gov/shapefile.rb:31-      ENV['PGPASSWORD'] = abcs[Rails.env]["password"].to_s if abcs[Rails.env]["password"]
apps/opengovernment/lib/open_gov/shapefile.rb:32-
apps/opengovernment/lib/open_gov/shapefile.rb:33-      # Parse our shape SQL file
apps/opengovernment/lib/open_gov/shapefile.rb:34-      `psql -U "#{abcs[Rails.env]["username"]}" -f #{File.join(File.dirname(shapefile), table_name)}.sql #{abcs[Rails.env]["database"]}`
apps/opengovernment/lib/open_gov/shapefile.rb:35-    end
apps/opengovernment/lib/open_gov/shapefile.rb:36-
apps/opengovernment/lib/open_gov/shapefile.rb:37-    def self.cleanup(shapefile)
apps/opengovernment/lib/open_gov/shapefile.rb:38-      shp_filename = shapefile
apps/opengovernment/lib/open_gov/shapefile.rb:39-      shp_basename = File.basename(shapefile)
apps/opengovernment/lib/open_gov/shapefile.rb:40-
apps/opengovernment/lib/open_gov/shapefile.rb:41-      raise "File not found" unless File.exist?(shp_filename)
apps/opengovernment/lib/open_gov/shapefile.rb:42-
apps/opengovernment/lib/open_gov/shapefile.rb:43-      if shp_basename =~ /(.*)\.shp/
apps/opengovernment/lib/tasks/database.rake:93-
apps/opengovernment/lib/tasks/database.rake:94-        if File.exists?(File.join(postgis_dir, 'postgis.sql'))
apps/opengovernment/lib/tasks/database.rake:95-          load_pgsql_files(File.join(postgis_dir, 'postgis.sql'),
apps/opengovernment/lib/tasks/database.rake:96-                           File.join(postgis_dir, 'spatial_ref_sys.sql'))
apps/opengovernment/lib/tasks/database.rake:97-        else
apps/opengovernment/lib/tasks/database.rake:98-          raise "Please install PostGIS before continuing."
apps/opengovernment/lib/tasks/database.rake:99-        end
apps/opengovernment/lib/tasks/database.rake:100-
apps/opengovernment/lib/tasks/database.rake:101-      else
apps/opengovernment/lib/tasks/database.rake:102-        puts "Looks like you already have PostGIS installed in your database. No action taken."
apps/opengovernment/lib/tasks/database.rake:103-      end
apps/opengovernment/lib/tasks/database.rake:104-    end
apps/opengovernment/lib/tasks/database.rake:105-  end
apps/opengovernment/lib/tasks/database.rake:106-
apps/opengovernment/lib/tasks/database.rake:107-  def load_pgsql_files(*fns)
apps/opengovernment/lib/tasks/database.rake:108:    abcs = ActiveRecord::Base.configurations
apps/opengovernment/lib/tasks/database.rake:109-    ENV['PGHOST']     = abcs[Rails.env]["host"] if abcs[Rails.env]["host"]
apps/opengovernment/lib/tasks/database.rake:110-    ENV['PGPORT']     = abcs[Rails.env]["port"].to_s if abcs[Rails.env]["port"]
apps/opengovernment/lib/tasks/database.rake:111-    ENV['PGPASSWORD'] = abcs[Rails.env]["password"].to_s if abcs[Rails.env]["password"]
apps/opengovernment/lib/tasks/database.rake:112-
apps/opengovernment/lib/tasks/database.rake:113-    `createlang plpgsql -U "#{abcs[Rails.env]["username"]}" #{abcs[Rails.env]["database"]}`
apps/opengovernment/lib/tasks/database.rake:114-
apps/opengovernment/lib/tasks/database.rake:115-    fns.each do |fn|
apps/opengovernment/lib/tasks/database.rake:116-      `psql -U "#{abcs[Rails.env]["username"]}" -f #{fn} #{abcs[Rails.env]["database"]}`
apps/opengovernment/lib/tasks/database.rake:117-    end
apps/opengovernment/lib/tasks/database.rake:118-  end
apps/opengovernment/lib/tasks/database.rake:119-end
apps/opengovernment/lib/tasks/database.rake:120-
apps/opengovernment/lib/tasks/test.rake:1-Rake.application.remove_task 'db:test:prepare'
apps/opengovernment/lib/tasks/test.rake:2-
apps/opengovernment/lib/tasks/test.rake:3-namespace :db do
apps/opengovernment/lib/tasks/test.rake:4-  namespace :test do 
apps/opengovernment/lib/tasks/test.rake:5-    task :prepare => 'db:abort_if_pending_migrations' do
apps/opengovernment/lib/tasks/test.rake:6:      if defined?(ActiveRecord) && !ActiveRecord::Base.configurations.blank?
apps/opengovernment/lib/tasks/test.rake:7-        #Rake::Task[{ :sql  => "db:test:clone_structure", :ruby => "db:test:load" }[ActiveRecord::Base.schema_format]].invoke
apps/opengovernment/lib/tasks/test.rake:8-      end
apps/opengovernment/lib/tasks/test.rake:9-    end
apps/opengovernment/lib/tasks/test.rake:10-  end
apps/opengovernment/lib/tasks/test.rake:11-end
apps/opengovernment/lib/tasks/test.rake:12-
apps/opengovernment/lib/tasks/install.rake:19-    if ENV['SHARED_CONFIG_DIR']
apps/opengovernment/lib/tasks/install.rake:20-      # All files in our external config dir will be symlinked to the local config dir if they don't already
apps/opengovernment/lib/tasks/install.rake:21-      # exist in that dir. This is mainly used for TeamCity CI.
apps/opengovernment/lib/tasks/install.rake:22-      config_dir = File.join(Rails.root, 'config')
apps/opengovernment/lib/tasks/install.rake:23-      all_files = File.join(ENV['SHARED_CONFIG_DIR'], "*")
apps/opengovernment/lib/tasks/install.rake:24-      Dir.glob(all_files).each_with_index do |file, i|
apps/opengovernment/lib/tasks/install.rake:25-        unless File.exists?(File.join(config_dir, File.basename(file)))
apps/opengovernment/lib/tasks/install.rake:26-          system "ln -s #{file} #{File.join(config_dir, File.basename(file))}"
apps/opengovernment/lib/tasks/install.rake:27-        end
apps/opengovernment/lib/tasks/install.rake:28-      end
apps/opengovernment/lib/tasks/install.rake:29-    end
apps/opengovernment/lib/tasks/install.rake:30-  end
apps/opengovernment/lib/tasks/install.rake:31-
apps/opengovernment/lib/tasks/install.rake:32-  desc "Install clean database: prepare database, fetch all data, load data"
apps/opengovernment/lib/tasks/install.rake:33-  task :install => :environment do
apps/opengovernment/lib/tasks/install.rake:34:    abcs = ActiveRecord::Base.configurations
apps/opengovernment/lib/tasks/install.rake:35-
apps/opengovernment/lib/tasks/install.rake:36-    unless abcs[Rails.env]["adapter"] == 'postgresql'
apps/opengovernment/lib/tasks/install.rake:37-      raise "Sorry, OpenGovernment requires PostgreSQL"
apps/opengovernment/lib/tasks/install.rake:38-    end
apps/opengovernment/lib/tasks/install.rake:39-
apps/opengovernment/lib/tasks/install.rake:40-    if State.table_exists? && State.count > 0
apps/opengovernment/lib/tasks/install.rake:41-      puts "It appears you've already run rake install; skipping DB setup and fixture imports."
apps/opengovernment/lib/tasks/install.rake:42-    else
apps/opengovernment/lib/tasks/install.rake:43-      Rake::Task['db:prepare'].invoke
apps/opengovernment/lib/tasks/install.rake:44-    end
apps/opengovernment/lib/tasks/install.rake:45-    Rake::Task['fetch:all'].invoke
apps/opengovernment/lib/tasks/install.rake:46-    Rake::Task['load:all'].invoke
apps/opengovernment/lib/tasks/install.rake:47-  end
apps/opengovernment/lib/tasks/install.rake:48-
apps/opengovernment/lib/tasks/install.rake:49-  desc "Set up an initial dev environment (with minimal data import)"
apps/opengovernment/vendor/plugins/geokit-rails/test/boot.rb:5-require 'test/unit/testcase'
apps/opengovernment/vendor/plugins/geokit-rails/test/boot.rb:6-require 'active_support/testing/setup_and_teardown'
apps/opengovernment/vendor/plugins/geokit-rails/test/boot.rb:7-
apps/opengovernment/vendor/plugins/geokit-rails/test/boot.rb:8-require 'active_record'
apps/opengovernment/vendor/plugins/geokit-rails/test/boot.rb:9-require 'active_record/fixtures'
apps/opengovernment/vendor/plugins/geokit-rails/test/boot.rb:10-
apps/opengovernment/vendor/plugins/geokit-rails/test/boot.rb:11-require 'action_controller'
apps/opengovernment/vendor/plugins/geokit-rails/test/boot.rb:12-require 'action_controller/test_process'
apps/opengovernment/vendor/plugins/geokit-rails/test/boot.rb:13-
apps/opengovernment/vendor/plugins/geokit-rails/test/boot.rb:14-PLUGIN_ROOT = File.join(File.dirname(__FILE__), '..')
apps/opengovernment/vendor/plugins/geokit-rails/test/boot.rb:15-ADAPTER = ENV['DB'] || 'mysql'
apps/opengovernment/vendor/plugins/geokit-rails/test/boot.rb:16-
apps/opengovernment/vendor/plugins/geokit-rails/test/boot.rb:17-$LOAD_PATH << File.join(PLUGIN_ROOT, 'lib') << File.join(PLUGIN_ROOT, 'test', 'models')
apps/opengovernment/vendor/plugins/geokit-rails/test/boot.rb:18-
apps/opengovernment/vendor/plugins/geokit-rails/test/boot.rb:19-FIXTURES_PATH = File.join(PLUGIN_ROOT, 'test', 'fixtures')
apps/opengovernment/vendor/plugins/geokit-rails/test/boot.rb:20:ActiveRecord::Base.configurations = config = YAML::load(IO.read(File.join(PLUGIN_ROOT, 'test', 'database.yml')))
apps/opengovernment/vendor/plugins/geokit-rails/test/boot.rb:21-ActiveRecord::Base.logger = Logger.new(File.join(PLUGIN_ROOT, 'test', "#{ADAPTER}-debug.log"))
apps/opengovernment/vendor/plugins/geokit-rails/test/boot.rb:22-ActiveRecord::Base.establish_connection(config[ADAPTER])
apps/opengovernment/vendor/plugins/geokit-rails/test/boot.rb:23-
apps/opengovernment/vendor/plugins/geokit-rails/test/boot.rb:24-ActiveRecord::Migration.verbose = false
apps/opengovernment/vendor/plugins/geokit-rails/test/boot.rb:25-load File.join(PLUGIN_ROOT, 'test', 'schema.rb')

apps/openproject/lib/tasks/backup.rake:99-            Kernel.system(*pg_restore_call)
apps/openproject/lib/tasks/backup.rake:100-          end
apps/openproject/lib/tasks/backup.rake:101-        end
apps/openproject/lib/tasks/backup.rake:102-      when /MySQL2/i
apps/openproject/lib/tasks/backup.rake:103-        with_mysql_config(config) do |config_file|
apps/openproject/lib/tasks/backup.rake:104-          Kernel.system "mysql --defaults-file=\"#{config_file}\" \"#{config['database']}\" < \"#{args[:path_to_backup]}\""
apps/openproject/lib/tasks/backup.rake:105-        end
apps/openproject/lib/tasks/backup.rake:106-      else
apps/openproject/lib/tasks/backup.rake:107-        raise "Database '#{config['adapter']}' not supported."
apps/openproject/lib/tasks/backup.rake:108-      end
apps/openproject/lib/tasks/backup.rake:109-    end
apps/openproject/lib/tasks/backup.rake:110-
apps/openproject/lib/tasks/backup.rake:111-    private
apps/openproject/lib/tasks/backup.rake:112-
apps/openproject/lib/tasks/backup.rake:113-    def database_configuration
apps/openproject/lib/tasks/backup.rake:114:      ActiveRecord::Base.configurations[Rails.env] || Rails.application.config.database_configuration[Rails.env]
apps/openproject/lib/tasks/backup.rake:115-    end
apps/openproject/lib/tasks/backup.rake:116-
apps/openproject/lib/tasks/backup.rake:117-    def with_pg_config(config, &blk)
apps/openproject/lib/tasks/backup.rake:118-      file = Tempfile.new('op_pg_config')
apps/openproject/lib/tasks/backup.rake:119-      file.write "*:*:*:*:#{config['password']}"
apps/openproject/lib/tasks/backup.rake:120-      file.close
apps/openproject/lib/tasks/backup.rake:121-      blk.yield file.path
apps/openproject/lib/tasks/backup.rake:122-      file.unlink
apps/openproject/lib/tasks/backup.rake:123-    end
apps/openproject/lib/tasks/backup.rake:124-
apps/openproject/lib/tasks/backup.rake:125-    def with_mysql_config(config, &blk)
apps/openproject/lib/tasks/backup.rake:126-      file = Tempfile.new('op_mysql_config')
apps/openproject/lib/tasks/backup.rake:127-      file.write sql_dump_tempfile(config)
apps/openproject/lib/tasks/backup.rake:128-      file.close
apps/openproject/lib/tasks/backup.rake:129-      blk.yield file.path
apps/pester/config/unicorn.rb:9-    puts "Unicorn master intercepting TERM and sending myself QUIT instead"
apps/pester/config/unicorn.rb:10-    Process.kill "QUIT", Process.pid
apps/pester/config/unicorn.rb:11-  end
apps/pester/config/unicorn.rb:12-
apps/pester/config/unicorn.rb:13-  if defined? ActiveRecord::Base
apps/pester/config/unicorn.rb:14-    ActiveRecord::Base.connection.disconnect!
apps/pester/config/unicorn.rb:15-  end
apps/pester/config/unicorn.rb:16-end
apps/pester/config/unicorn.rb:17-
apps/pester/config/unicorn.rb:18-after_fork do |server, worker|
apps/pester/config/unicorn.rb:19-  Signal.trap "TERM" do
apps/pester/config/unicorn.rb:20-    puts "Unicorn worker intercepting TERM and doing nothing. Wait for master to send QUIT"
apps/pester/config/unicorn.rb:21-  end
apps/pester/config/unicorn.rb:22-
apps/pester/config/unicorn.rb:23-  if defined? ActiveRecord::Base
apps/pester/config/unicorn.rb:24:    config = ActiveRecord::Base.configurations[Rails.env] ||
apps/pester/config/unicorn.rb:25-      Rails.application.config.database_configuration[Rails.env]
apps/pester/config/unicorn.rb:26-    config["reaping_frequency"] = (ENV["DB_REAPING_FREQUENCY"] || 10).to_i
apps/pester/config/unicorn.rb:27-    config["pool"] = (ENV["DB_POOL"] || 2).to_i
apps/pester/config/unicorn.rb:28-    ActiveRecord::Base.establish_connection(config)
apps/pester/config/unicorn.rb:29-  end
apps/pester/config/unicorn.rb:30-end
apps/pester/config/unicorn.rb:31-
apps/projectjellyfish-api/config/puma.rb:1-workers Integer(ENV['PUMA_WORKERS'] || 3)
apps/projectjellyfish-api/config/puma.rb:2-threads Integer(ENV['MIN_THREADS'] || 8), Integer(ENV['MAX_THREADS'] || 16)
apps/projectjellyfish-api/config/puma.rb:3-
apps/projectjellyfish-api/config/puma.rb:4-preload_app!
apps/projectjellyfish-api/config/puma.rb:5-
apps/projectjellyfish-api/config/puma.rb:6-rackup DefaultRackup
apps/projectjellyfish-api/config/puma.rb:7-port ENV['PORT'] || 3000
apps/projectjellyfish-api/config/puma.rb:8-environment ENV['RACK_ENV'] || 'development'
apps/projectjellyfish-api/config/puma.rb:9-
apps/projectjellyfish-api/config/puma.rb:10-on_worker_boot do
apps/projectjellyfish-api/config/puma.rb:11-  # worker specific setup
apps/projectjellyfish-api/config/puma.rb:12-  ActiveSupport.on_load(:active_record) do
apps/projectjellyfish-api/config/puma.rb:13:    config = ActiveRecord::Base.configurations[Rails.env] || Rails.application.config.database_configuration[Rails.env]
apps/projectjellyfish-api/config/puma.rb:14-    config['pool'] = ENV['MAX_THREADS'] || 16
apps/projectjellyfish-api/config/puma.rb:15-    ActiveRecord::Base.establish_connection(config)
apps/projectjellyfish-api/config/puma.rb:16-  end
apps/projectjellyfish-api/config/puma.rb:17-end
apps/projectjellyfish-api/config/puma.rb:18-
apps/ror_ecommerce/spec/support/truncate_helper.rb:44-                        'variant_properties',
apps/ror_ecommerce/spec/support/truncate_helper.rb:45-                        'variant_suppliers'
apps/ror_ecommerce/spec/support/truncate_helper.rb:46-                      ]
apps/ror_ecommerce/spec/support/truncate_helper.rb:47-
apps/ror_ecommerce/spec/support/truncate_helper.rb:48-    def truncate_all
apps/ror_ecommerce/spec/support/truncate_helper.rb:49-      tables = ActiveRecord::Base.connection.tables
apps/ror_ecommerce/spec/support/truncate_helper.rb:50-      tables.each { |table| truncate table }
apps/ror_ecommerce/spec/support/truncate_helper.rb:51-    end
apps/ror_ecommerce/spec/support/truncate_helper.rb:52-
apps/ror_ecommerce/spec/support/truncate_helper.rb:53-
apps/ror_ecommerce/spec/support/truncate_helper.rb:54-    def trunctate_unseeded
apps/ror_ecommerce/spec/support/truncate_helper.rb:55-      UNSEEDED_TABLES.each { |table| truncate table }
apps/ror_ecommerce/spec/support/truncate_helper.rb:56-    end
apps/ror_ecommerce/spec/support/truncate_helper.rb:57-
apps/ror_ecommerce/spec/support/truncate_helper.rb:58-    def truncate table
apps/ror_ecommerce/spec/support/truncate_helper.rb:59:      config = ActiveRecord::Base.configurations[Rails.env]
apps/ror_ecommerce/spec/support/truncate_helper.rb:60-
apps/ror_ecommerce/spec/support/truncate_helper.rb:61-      if config['adapter'] == 'sqlite3'
apps/ror_ecommerce/spec/support/truncate_helper.rb:62-        ActiveRecord::Base.connection.execute "DELETE FROM #{table}"
apps/ror_ecommerce/spec/support/truncate_helper.rb:63-      else
apps/ror_ecommerce/spec/support/truncate_helper.rb:64-        ActiveRecord::Base.connection.execute "TRUNCATE TABLE #{table}"
apps/ror_ecommerce/spec/support/truncate_helper.rb:65-      end
apps/ror_ecommerce/spec/support/truncate_helper.rb:66-    end
apps/ror_ecommerce/spec/support/truncate_helper.rb:67-  end
apps/ror_ecommerce/spec/support/truncate_helper.rb:68-end
apps/ror_ecommerce/spec/support/truncate_helper.rb:69-
apps/samson/config/initializers/mysql_utf8_mb4.rb:1-# frozen_string_literal: true
apps/samson/config/initializers/mysql_utf8_mb4.rb:2-# We would like to be able to create an index on a string that is larger than 191 characters
apps/samson/config/initializers/mysql_utf8_mb4.rb:3-# We also want our mysql databases to use utf8_mb4 encoding (the real unicode)
apps/samson/config/initializers/mysql_utf8_mb4.rb:4-# This monkey patch is from the following Github comment:
apps/samson/config/initializers/mysql_utf8_mb4.rb:5-# https://github.com/rails/rails/issues/9855#issuecomment-57665404
apps/samson/config/initializers/mysql_utf8_mb4.rb:6:config = ActiveRecord::Base.configurations[Rails.env]
apps/samson/config/initializers/mysql_utf8_mb4.rb:7-
apps/samson/config/initializers/mysql_utf8_mb4.rb:8-if ENV['USE_UTF8MB4'] && config['adapter'] == 'mysql2'
apps/samson/config/initializers/mysql_utf8_mb4.rb:9-  config['encoding'] = 'utf8mb4'
apps/samson/config/initializers/mysql_utf8_mb4.rb:10-  config['collation'] = 'utf8mb4_bin'
apps/samson/config/initializers/mysql_utf8_mb4.rb:11-
apps/samson/config/initializers/mysql_utf8_mb4.rb:12-  ActiveRecord::ConnectionAdapters::Mysql2Adapter.class_eval do
apps/samson/config/initializers/mysql_utf8_mb4.rb:13-    # enhance included create_table method
apps/samson/config/initializers/mysql_utf8_mb4.rb:14-    def create_table(table_name, options = {}) #:nodoc:
apps/samson/config/initializers/mysql_utf8_mb4.rb:15-      sql_options = options[:options] # always passed in via lib/active_record/migration/compatibility.rb
apps/samson/config/initializers/mysql_utf8_mb4.rb:16-      sql_options = "ROW_FORMAT=DYNAMIC #{sql_options}" unless sql_options.to_s.include?("ROW_FORMAT")
apps/samson/config/initializers/mysql_utf8_mb4.rb:17-      super(table_name, options.merge(options: sql_options))
apps/samson/config/initializers/mysql_utf8_mb4.rb:18-    end
apps/samson/config/initializers/mysql_utf8_mb4.rb:19-  end
apps/samson/config/initializers/mysql_utf8_mb4.rb:20-end
apps/samson/config/initializers/mysql_utf8_mb4.rb:21-
apps/trailmix/config/unicorn.rb:9-    puts "Unicorn master intercepting TERM and sending myself QUIT instead"
apps/trailmix/config/unicorn.rb:10-    Process.kill "QUIT", Process.pid
apps/trailmix/config/unicorn.rb:11-  end
apps/trailmix/config/unicorn.rb:12-
apps/trailmix/config/unicorn.rb:13-  if defined? ActiveRecord::Base
apps/trailmix/config/unicorn.rb:14-    ActiveRecord::Base.connection.disconnect!
apps/trailmix/config/unicorn.rb:15-  end
apps/trailmix/config/unicorn.rb:16-end
apps/trailmix/config/unicorn.rb:17-
apps/trailmix/config/unicorn.rb:18-after_fork do |server, worker|
apps/trailmix/config/unicorn.rb:19-  Signal.trap "TERM" do
apps/trailmix/config/unicorn.rb:20-    puts "Unicorn worker intercepting TERM and doing nothing. Wait for master to send QUIT"
apps/trailmix/config/unicorn.rb:21-  end
apps/trailmix/config/unicorn.rb:22-
apps/trailmix/config/unicorn.rb:23-  if defined? ActiveRecord::Base
apps/trailmix/config/unicorn.rb:24:    config = ActiveRecord::Base.configurations[Rails.env] ||
apps/trailmix/config/unicorn.rb:25-      Rails.application.config.database_configuration[Rails.env]
apps/trailmix/config/unicorn.rb:26-    config["reaping_frequency"] = (ENV["DB_REAPING_FREQUENCY"] || 10).to_i
apps/trailmix/config/unicorn.rb:27-    config["pool"] = (ENV["DB_POOL"] || 2).to_i
apps/trailmix/config/unicorn.rb:28-    ActiveRecord::Base.establish_connection(config)
apps/trailmix/config/unicorn.rb:29-  end
apps/trailmix/config/unicorn.rb:30-end
apps/trailmix/config/unicorn.rb:31-
apps/whitehall/lib/tasks/export.rake:1-require "csv"
apps/whitehall/lib/tasks/export.rake:2-require "fileutils"
apps/whitehall/lib/tasks/export.rake:3-
apps/whitehall/lib/tasks/export.rake:4-namespace :export do
apps/whitehall/lib/tasks/export.rake:5-  def routes_helper
apps/whitehall/lib/tasks/export.rake:6-    @routes_helper ||= Whitehall.url_maker
apps/whitehall/lib/tasks/export.rake:7-  end
apps/whitehall/lib/tasks/export.rake:8-
apps/whitehall/lib/tasks/export.rake:9-  desc "Export mappings (for eg the Transition app to consume)"
apps/whitehall/lib/tasks/export.rake:10-  task mappings: :environment do
apps/whitehall/lib/tasks/export.rake:11-    # Read off the MySQL slave - we want performance here and
apps/whitehall/lib/tasks/export.rake:12-    # non-contention as this job runs for up to 45 minutes.
apps/whitehall/lib/tasks/export.rake:13-    if Rails.env.production?
apps/whitehall/lib/tasks/export.rake:14:      mysql_slave_config = ActiveRecord::Base.configurations['production_slave']
apps/whitehall/lib/tasks/export.rake:15-      ActiveRecord::Base.establish_connection(mysql_slave_config)
apps/whitehall/lib/tasks/export.rake:16-    end
apps/whitehall/lib/tasks/export.rake:17-
apps/whitehall/lib/tasks/export.rake:18-    exporter = Whitehall::Exporters::Mappings.new
apps/whitehall/lib/tasks/export.rake:19-
apps/whitehall/lib/tasks/export.rake:20-    filename = 'public/government/mappings.csv'
apps/whitehall/lib/tasks/export.rake:21-    temporary_filename = filename + '.new'
apps/whitehall/lib/tasks/export.rake:22-    CSV.open(Rails.root.join(temporary_filename), 'wb') do |csv_out|
apps/whitehall/lib/tasks/export.rake:23-      exporter.export(csv_out)
apps/whitehall/lib/tasks/export.rake:24-    end
apps/whitehall/lib/tasks/export.rake:25-
apps/whitehall/lib/tasks/export.rake:26-    FileUtils.mv(temporary_filename, filename)
apps/whitehall/lib/tasks/export.rake:27-  end
apps/whitehall/lib/tasks/export.rake:28-
apps/whitehall/lib/tasks/export.rake:29-  desc "Export list of documents"
apps/whitehall/test/integration/sanitise_db_test.rb:72-    fact_check = create(:fact_check_request, email_address: "important-person@example.com", comments: "Secret data", instructions: "Secret data", key: "abcdefghijklmnop")
apps/whitehall/test/integration/sanitise_db_test.rb:73-
apps/whitehall/test/integration/sanitise_db_test.rb:74-    run_script
apps/whitehall/test/integration/sanitise_db_test.rb:75-
apps/whitehall/test/integration/sanitise_db_test.rb:76-    fact_check.reload
apps/whitehall/test/integration/sanitise_db_test.rb:77-    refute fact_check.email_address =~ /important-person/, "Expected email to be sanitised"
apps/whitehall/test/integration/sanitise_db_test.rb:78-    assert_equal "", fact_check.comments, "Expected comments to be sanitised"
apps/whitehall/test/integration/sanitise_db_test.rb:79-    assert_equal "", fact_check.instructions, "Expected instructions to be sanitised"
apps/whitehall/test/integration/sanitise_db_test.rb:80-    refute fact_check.key =~ /abcdefghijklmnop/, "Expected key to be sanitised"
apps/whitehall/test/integration/sanitise_db_test.rb:81-  end
apps/whitehall/test/integration/sanitise_db_test.rb:82-
apps/whitehall/test/integration/sanitise_db_test.rb:83-private
apps/whitehall/test/integration/sanitise_db_test.rb:84-
apps/whitehall/test/integration/sanitise_db_test.rb:85-  def run_script
apps/whitehall/test/integration/sanitise_db_test.rb:86-    database, username, password = %w(database username password).map do |key|
apps/whitehall/test/integration/sanitise_db_test.rb:87:      ActiveRecord::Base.configurations[Rails.env][key]
apps/whitehall/test/integration/sanitise_db_test.rb:88-    end
apps/whitehall/test/integration/sanitise_db_test.rb:89-
apps/whitehall/test/integration/sanitise_db_test.rb:90-    `./script/scrub-database --no-copy -D #{database} -U #{username} -P #{password}`
apps/whitehall/test/integration/sanitise_db_test.rb:91-  end
apps/whitehall/test/integration/sanitise_db_test.rb:92-end
apps/whitehall/test/integration/sanitise_db_test.rb:93-
apps/whitehall/test/parallel_test_runner.rb:1-class ParallelTestRunner < TestQueue::Runner::MiniTest
apps/whitehall/test/parallel_test_runner.rb:2-  def after_fork(number)
apps/whitehall/test/parallel_test_runner.rb:3-    super
apps/whitehall/test/parallel_test_runner.rb:4-
apps/whitehall/test/parallel_test_runner.rb:5-    # Use separate mysql database for each fork.
apps/whitehall/test/parallel_test_runner.rb:6:    ActiveRecord::Base.configurations['test']['database'] << database_number_for(number)
apps/whitehall/test/parallel_test_runner.rb:7-    ActiveRecord::Base.establish_connection(:test)
apps/whitehall/test/parallel_test_runner.rb:8-
apps/whitehall/test/parallel_test_runner.rb:9-    # Allow the app to instrospect the current test environment number
apps/whitehall/test/parallel_test_runner.rb:10-    ENV['TEST_ENV_NUMBER'] = number.to_s
apps/whitehall/test/parallel_test_runner.rb:11-
apps/whitehall/test/parallel_test_runner.rb:12-    # Blow away the incoming/clean test uploads for this env to avoid clashes during test run
apps/whitehall/test/parallel_test_runner.rb:13-    [(Whitehall.incoming_uploads_root + '/system'), (Whitehall.clean_uploads_root + '/system'), (Whitehall.infected_uploads_root + '/system')].each do |folder|
apps/whitehall/test/parallel_test_runner.rb:14-      FileUtils.rm_rf(folder) if Dir.exist?(folder)
apps/whitehall/test/parallel_test_runner.rb:15-    end
apps/whitehall/test/parallel_test_runner.rb:16-  end
apps/whitehall/test/parallel_test_runner.rb:17-
apps/whitehall/test/parallel_test_runner.rb:18-  # We are relying on the parallel test databases created and used by parallel_test, which are
apps/whitehall/test/parallel_test_runner.rb:19-  # whitehall_test, whitehall_test2 ,whitehall_test3, whitehall_test4, etc.
apps/whitehall/test/parallel_test_runner.rb:20-  def database_number_for(number)
apps/whitehall/test/parallel_test_runner.rb:21-    number == 1 ? '' : number.to_s
engines/administrate/config/unicorn.rb:9-    puts "Unicorn master intercepting TERM, sending myself QUIT instead"
engines/administrate/config/unicorn.rb:10-    Process.kill "QUIT", Process.pid
engines/administrate/config/unicorn.rb:11-  end
engines/administrate/config/unicorn.rb:12-
engines/administrate/config/unicorn.rb:13-  if defined? ActiveRecord::Base
engines/administrate/config/unicorn.rb:14-    ActiveRecord::Base.connection.disconnect!
engines/administrate/config/unicorn.rb:15-  end
engines/administrate/config/unicorn.rb:16-end
engines/administrate/config/unicorn.rb:17-
engines/administrate/config/unicorn.rb:18-after_fork do |_server, _worker|
engines/administrate/config/unicorn.rb:19-  Signal.trap "TERM" do
engines/administrate/config/unicorn.rb:20-    puts "Unicorn worker intercepting TERM, waiting for master to send QUIT"
engines/administrate/config/unicorn.rb:21-  end
engines/administrate/config/unicorn.rb:22-
engines/administrate/config/unicorn.rb:23-  if defined? ActiveRecord::Base
engines/administrate/config/unicorn.rb:24:    config = ActiveRecord::Base.configurations[Rails.env] ||
engines/administrate/config/unicorn.rb:25-      Rails.application.config.database_configuration[Rails.env]
engines/administrate/config/unicorn.rb:26-    config["reaping_frequency"] = (ENV["DB_REAPING_FREQUENCY"] || 10).to_i
engines/administrate/config/unicorn.rb:27-    config["pool"] = (ENV["DB_POOL"] || 2).to_i
engines/administrate/config/unicorn.rb:28-    ActiveRecord::Base.establish_connection(config)
engines/administrate/config/unicorn.rb:29-  end
engines/administrate/config/unicorn.rb:30-end
engines/administrate/config/unicorn.rb:31-
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment