class method self.new

Ruby on Rails edge

Since v4.0.13

Available in: v4.0.13 v4.1.16 v4.2.11.3 v5.0.7.2 v5.1.7 v5.2.8.1 v6.0.6.1 v6.1.7.10 v7.0.10 v7.1.6 v7.2.3.2 v8.0.5.1 v8.1.3.1 edge

Signature

self.new(...)

No documentation comment.

Parameters

... req
Source
# File activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb, line 156
      def initialize(...)
        super

        @memory_database = false
        case @config[:database].to_s
        when ""
          raise ArgumentError, "No database file specified. Missing argument: database"
        when ":memory:"
          @memory_database = true
        else
          database_path = SQLite3Adapter.resolve_path(@config[:database])
          @config[:database] = database_path unless @config[:database].to_s.start_with?("file:")
          dirname = File.dirname(database_path)
          unless File.directory?(dirname)
            begin
              FileUtils.mkdir_p(dirname)
            rescue SystemCallError
              raise ActiveRecord::NoDatabaseError.new(connection_pool: @pool)
            end
          end
        end

        @previous_read_uncommitted = nil
        @config[:strict] = ConnectionAdapters::SQLite3Adapter.strict_strings_by_default unless @config.key?(:strict)

        extensions = @config.fetch(:extensions, []).map do |extension|
          extension.safe_constantize || extension
        end

        @connection_parameters = @config.merge(
          database: @config[:database].to_s,
          results_as_hash: true,
          default_transaction_mode: :immediate,
          extensions: extensions
        )
      end

Defined in activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb line 156 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActiveRecord::ConnectionAdapters::SQLite3Adapter

Type at least 2 characters to search.

Use the arrow keys to navigate results, Enter to open one, Escape to close.

Keyboard shortcuts

/
Focus search
⌘K / Ctrl-K
Command palette
?
This help
Esc
Close