pg_migrate 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,73 @@
1
+ module PgMigrate
2
+
3
+ class Util
4
+
5
+ LOGGER = Logging.logger[self]
6
+
7
+ # recommended to create all connections via this method,
8
+ # so that we can put NOTICE/CONTEXT into logger instead of stderr
9
+ def self.create_conn(args)
10
+ conn = PG::Connection.open(args)
11
+ conn.set_notice_receiver do |result|
12
+ #result.res_status(result.result_status)
13
+ LOGGER.debug result.error_message
14
+ end
15
+ return conn
16
+ end
17
+
18
+ def self.get_conn(connection_options)
19
+ if !connection_options[:pgconn].nil?
20
+ return connection_options[:pgconn]
21
+ elsif !connection_options[:connstring].nil?
22
+ create_conn(connection_options[:connstring])
23
+ elsif !connection_options[:connopts].nil?
24
+ return create_conn(connection_options[:connopts])
25
+ else
26
+ return create_conn(connection_options)
27
+ end
28
+ end
29
+
30
+ # the 'out-of-band' conn is a connection to a database that you aren't
31
+ # interested in modifying; it's basically a landing pad so that you can do:
32
+ # DROP DATABSE BLAH; CREATE DATABASE BLAH -- for testing
33
+ def self.get_oob_conn(connection_options)
34
+
35
+ if !connection_options[:oob_pgconn].nil?
36
+ return connection_options[:oob_pgconn]
37
+ elsif !connection_options[:oob_connstring].nil?
38
+ return create_conn(connection_options[:oob_connstring])
39
+ elsif !connection_options[:oob_connopts].nil?
40
+ return create_conn(connection_options[:oob_connopts])
41
+ else
42
+ return create_conn(connection_options)
43
+ end
44
+ end
45
+
46
+ # finds dbname from connection_options
47
+ def self.get_db_name(connection_options)
48
+ dbname = nil
49
+ if !connection_options[:pgconn].nil?
50
+ dbname = connection_options[:pgconn].db
51
+ elsif !connection_options[:connstring].nil?
52
+ connstring = connection_options[:connstring]
53
+ bits = connstring.split(" ")
54
+ bits.each do |bit|
55
+ if bit.start_with? "dbname="
56
+ dbname = bit["dbname=".length..-1]
57
+ break
58
+ end
59
+ end
60
+ elsif !connection_options[:connopts].nil?
61
+ dbname = connection_options[:connopts]["dbname"]
62
+ else
63
+ dbname = connection_options["dbname"]
64
+ end
65
+
66
+ if dbname.nil?
67
+ raise "db name is null. tried finding dbname in #{connection_options.inspect}"
68
+ end
69
+
70
+ return dbname
71
+ end
72
+ end
73
+ end
@@ -1,3 +1,3 @@
1
1
  module PgMigrate
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg_migrate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -90,6 +90,7 @@ files:
90
90
  - lib/pg_migrate/package_templates/lib/gem/version.rb
91
91
  - lib/pg_migrate/props.rb
92
92
  - lib/pg_migrate/sql_reader.rb
93
+ - lib/pg_migrate/util.rb
93
94
  - lib/pg_migrate/version.rb
94
95
  - pg_migrate.gemspec
95
96
  - spec/database.yml