pg-migrator 1.0.0 → 1.1.0

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.
@@ -1,5 +1,5 @@
1
1
  module PG
2
2
  class Migrator
3
- VERSION = "1.0.0"
3
+ VERSION = "1.1.0"
4
4
  end
5
5
  end
data/lib/pg-migrator.rb CHANGED
@@ -1,17 +1,15 @@
1
1
  #encoding: utf-8
2
2
  require_relative 'pg-migrator/version'
3
3
  require 'pg'
4
+ require 'logger'
4
5
 
5
6
  module PG
6
7
  class Migrator
7
- def initialize(database_url, migrations_dir = './db/migrations')
8
+ def initialize(database_url, migrations_dir = './db/migrations', logger = Logger.new(STDOUT))
8
9
  @pg = PGconn.connect database_url
9
10
  @pg.exec 'SET client_min_messages = warning'
10
11
  @migrations_dir = migrations_dir
11
- end
12
-
13
- def close
14
- @pg.finish
12
+ @log = logger
15
13
  end
16
14
 
17
15
  def reset
@@ -35,7 +33,7 @@ module PG
35
33
  id = m.sub /.*\/(\d+)_.*/, '\1'
36
34
  name = m.sub /.*\/\d+_([^\.]*).sql$/, '\1'
37
35
  next if applied.any? { |a| a['id'] == id }
38
- puts "Applying #{File.basename m}"
36
+ @log.info "Applying #{File.basename m}"
39
37
  conn.exec File.read m
40
38
  conn.exec 'INSERT INTO migration (id, name) VALUES ($1, $2)', [id, name]
41
39
  end
@@ -49,13 +47,17 @@ module PG
49
47
  name = applied.first['name']
50
48
  down_sql_file = "#{@migrations_dir}/#{id}_#{name}_down.sql"
51
49
  unless File.exists? down_sql_file
52
- puts "No down migration found for #{id} #{name} at #{down_sql_file}"
50
+ @log.error "No down migration found for #{id} #{name} at #{down_sql_file}"
53
51
  return
54
52
  end
55
- puts "Applying #{File.basename down_sql_file}"
53
+ @log.info "Applying #{File.basename down_sql_file}"
56
54
  conn.exec File.read down_sql_file
57
55
  conn.exec "DELETE FROM migration WHERE id = $1", [id]
58
56
  end
59
57
  end
58
+
59
+ def close
60
+ @pg.finish
61
+ end
60
62
  end
61
63
  end
data/pg-migrator.gemspec CHANGED
@@ -4,9 +4,9 @@ require File.expand_path('../lib/pg-migrator/version', __FILE__)
4
4
  Gem::Specification.new do |gem|
5
5
  gem.authors = ["Carl Hörberg"]
6
6
  gem.email = ["carl.hoerberg@gmail.com"]
7
- gem.description = %q{Simple PG Migrator}
8
- gem.summary = %q{Drop raw sql files in db/migrations and add require 'pg-migrator/tasks' in your Rakefile}
9
- gem.homepage = ""
7
+ gem.description = %q{Rake migration tasks which utilities pure SQL files}
8
+ gem.summary = %q{Drop raw SQL files in db/migrations and add require 'pg-migrator/tasks' to your Rakefile}
9
+ gem.homepage = "https://github.com/carlhoerberg/pg-migrator"
10
10
 
11
11
  gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
12
12
  gem.files = `git ls-files`.split("\n")
@@ -4,7 +4,9 @@ require './lib/pg-migrator'
4
4
  describe PG::Migrator do
5
5
  before do
6
6
  @pg = PGconn.connect :dbname => 'pg-migrator'
7
- @migrator = PG::Migrator.new({:dbname => 'pg-migrator'}, '/tmp')
7
+ logger = Logger.new STDERR
8
+ logger.level = Logger::FATAL
9
+ @migrator = PG::Migrator.new({:dbname => 'pg-migrator'}, '/tmp', logger)
8
10
  end
9
11
 
10
12
  describe 'reset' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg-migrator
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-10-24 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: pg
16
- requirement: &70197375124040 !ruby/object:Gem::Requirement
16
+ requirement: &70154890788080 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70197375124040
24
+ version_requirements: *70154890788080
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: minitest
27
- requirement: &70197375123620 !ruby/object:Gem::Requirement
27
+ requirement: &70154890787660 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,8 +32,8 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70197375123620
36
- description: Simple PG Migrator
35
+ version_requirements: *70154890787660
36
+ description: Rake migration tasks which utilities pure SQL files
37
37
  email:
38
38
  - carl.hoerberg@gmail.com
39
39
  executables: []
@@ -49,7 +49,7 @@ files:
49
49
  - lib/pg-migrator/version.rb
50
50
  - pg-migrator.gemspec
51
51
  - spec/migrator_spec.rb
52
- homepage: ''
52
+ homepage: https://github.com/carlhoerberg/pg-migrator
53
53
  licenses: []
54
54
  post_install_message:
55
55
  rdoc_options: []
@@ -72,7 +72,7 @@ rubyforge_project:
72
72
  rubygems_version: 1.8.6
73
73
  signing_key:
74
74
  specification_version: 3
75
- summary: Drop raw sql files in db/migrations and add require 'pg-migrator/tasks' in
75
+ summary: Drop raw SQL files in db/migrations and add require 'pg-migrator/tasks' to
76
76
  your Rakefile
77
77
  test_files:
78
78
  - spec/migrator_spec.rb