]> source.dussan.org Git - sonarqube.git/blob
443606ced93a22b942ba7cde671020e2c17f06f1
[sonarqube.git] /
1 require 'jdbc_adapter/tsql_helper'
2
3 module ::JdbcSpec
4   module ActiveRecordExtensions
5     def cachedb_connection( config )
6       config[:port] ||= 1972
7       config[:url] ||= "jdbc:Cache://#{config[:host]}:#{config[:port]}/#{ config[:database]}"
8       config[:driver] ||= "com.intersys.jdbc.CacheDriver"
9       jdbc_connection( config )
10     end
11   end
12
13   module CacheDB
14     include TSqlMethods
15
16     def self.column_selector
17       [ /cache/i, lambda {  | cfg, col | col.extend( ::JdbcSpec::CacheDB::Column ) } ]
18     end
19
20     def self.adapter_selector
21       [ /cache/i, lambda {  | cfg, adapt | adapt.extend( ::JdbcSpec::CacheDB ) } ]
22     end
23
24     module Column
25     end
26     
27     def create_table(name, options = { })
28       super(name, options)
29       primary_key = options[:primary_key] || "id"
30       execute "ALTER TABLE #{name} ADD CONSTRAINT #{name}_PK PRIMARY KEY(#{primary_key})" unless options[:id] == false
31     end
32   end
33 end