Module: ActiveRecord::ConnectionHandling

Defined in:
lib/active_record/connection_adapters/bigquery_adapter.rb

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#bigquery_connection(config) ⇒ Object

bigquery adapter reuses GoogleBigquery::Auth.



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/active_record/connection_adapters/bigquery_adapter.rb', line 30

def bigquery_connection(config)

  # Require database.
  unless config[:database]
    raise ArgumentError, "No database file specified. Missing argument: database"
  end
  db = GoogleBigquery::Auth.authorized? ? GoogleBigquery::Auth.client : GoogleBigquery::Auth.new.authorize
  #db #quizas deberia ser auth.api o auth.client

  #In case we are using a bigquery adapter as standard config in database.yml
  #All models are BigQuery enabled
  ActiveRecord::Base.send :include, ActiveRecord::BigQueryPersistence
  ActiveRecord::SchemaMigration.send :include, ActiveRecord::BigQuerySchemaMigration
  ActiveRecord::Migrator.send :include, ActiveRecord::BigQueryMigrator
  ActiveRecord::Relation.send :include, ActiveRecord::BigQueryRelation
  ActiveRecord::Base.send :include, ActiveRecord::BigQuerying

  #db.busy_timeout(ConnectionAdapters::SQLite3Adapter.type_cast_config_to_integer(config[:timeout])) if config[:timeout]
  ConnectionAdapters::BigqueryAdapter.new(db, logger, config)
rescue  => e
  raise e
  #Errno::ENOENT => error
  #if error.message.include?("No such file or directory")
  #  raise ActiveRecord::NoDatabaseError.new(error.message)
  #else
  #  raise error
  #end
end