ridgepole 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/ridgepole +2 -0
- data/lib/ridgepole.rb +3 -0
- data/lib/ridgepole/client.rb +7 -0
- data/lib/ridgepole/logger.rb +5 -0
- data/lib/ridgepole/migration_ext.rb +9 -0
- data/lib/ridgepole/schema_dumper_ext.rb +10 -0
- data/lib/ridgepole/version.rb +1 -1
- data/ridgepole.gemspec +1 -1
- data/spec/spec_helper.rb +1 -0
- metadata +8 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 36d0e8ae5a1edb544c859d94f04d1fe55c7e5f91
|
4
|
+
data.tar.gz: 38726492ccfcc8c5612698e55b82af65a3355852
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ec2885b06f1c5903a3fc2db1527948f8c4ac971cbae02ee7efd8c0a705b7723114ddb0b0bd66df15d7f7007d7e960af2b87e693261bf907aff405debcb60c4b7
|
7
|
+
data.tar.gz: 7d30b1d675fb3065d180c4d3376e59735bfe8eddd4c1c9daab6b50c73c03ffa1f274317e0d7dfbac59217ab6ceb220b5d59ad2718f3e95f48cecc1ee314af3e9
|
data/bin/ridgepole
CHANGED
@@ -38,6 +38,7 @@ ARGV.options do |opt|
|
|
38
38
|
opt.on('-o', '--output FILE') {|v| output_file = v }
|
39
39
|
opt.on('-t', '--tables TABLES', Array) {|v| options[:tables] = v }
|
40
40
|
opt.on('', '--disable-mysql-unsigned') { options[:disable_mysql_unsigned] = true }
|
41
|
+
opt.on('' , '--verbose') { Ridgepole::Logger.verbose = true }
|
41
42
|
opt.on('' , '--debug') { options[:debug] = true }
|
42
43
|
opt.parse!
|
43
44
|
|
@@ -115,6 +116,7 @@ begin
|
|
115
116
|
if options[:dry_run]
|
116
117
|
puts delta.script if delta.differ?
|
117
118
|
else
|
119
|
+
logger.verbose_info('# Update schema')
|
118
120
|
delta.migrate
|
119
121
|
end
|
120
122
|
|
data/lib/ridgepole.rb
CHANGED
@@ -3,6 +3,7 @@ require 'singleton'
|
|
3
3
|
require 'stringio'
|
4
4
|
|
5
5
|
require 'active_record'
|
6
|
+
require 'active_support'
|
6
7
|
|
7
8
|
module Ridgepole; end
|
8
9
|
require 'ridgepole/client'
|
@@ -11,5 +12,7 @@ require 'ridgepole/diff'
|
|
11
12
|
require 'ridgepole/dsl_parser'
|
12
13
|
require 'ridgepole/dumper'
|
13
14
|
require 'ridgepole/logger'
|
15
|
+
require 'ridgepole/migration_ext'
|
16
|
+
require 'ridgepole/schema_dumper_ext'
|
14
17
|
require 'ridgepole/string_ext'
|
15
18
|
require 'ridgepole/version'
|
data/lib/ridgepole/client.rb
CHANGED
@@ -13,12 +13,19 @@ class Ridgepole::Client
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def dump(&block)
|
16
|
+
logger = Ridgepole::Logger.instance
|
17
|
+
logger.verbose_info('# Load tables')
|
16
18
|
@dumper.dump(&block)
|
17
19
|
end
|
18
20
|
|
19
21
|
def diff(dsl, opts = {})
|
22
|
+
logger = Ridgepole::Logger.instance
|
23
|
+
|
24
|
+
logger.verbose_info('# Parse DSL')
|
20
25
|
expected_definition = @parser.parse(dsl, opts)
|
26
|
+
logger.verbose_info('# Load tables')
|
21
27
|
current_definition = @parser.parse(@dumper.dump)
|
28
|
+
logger.verbose_info('# Compare definitions')
|
22
29
|
@diff.diff(current_definition, expected_definition)
|
23
30
|
end
|
24
31
|
end
|
data/lib/ridgepole/logger.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
class Ridgepole::Logger < ::Logger
|
2
2
|
include Singleton
|
3
|
+
cattr_accessor :verbose
|
3
4
|
|
4
5
|
def initialize
|
5
6
|
super($stdout)
|
@@ -11,6 +12,10 @@ class Ridgepole::Logger < ::Logger
|
|
11
12
|
self.level = Logger::INFO
|
12
13
|
end
|
13
14
|
|
15
|
+
def verbose_info(msg)
|
16
|
+
info(msg) if verbose
|
17
|
+
end
|
18
|
+
|
14
19
|
def set_debug(value)
|
15
20
|
self.level = value ? Logger::DEBUG : Logger::INFO
|
16
21
|
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
require 'active_record/schema_dumper'
|
2
|
+
|
3
|
+
class ActiveRecord::SchemaDumper
|
4
|
+
def table_with_logging(table, stream)
|
5
|
+
logger = Ridgepole::Logger.instance
|
6
|
+
logger.verbose_info("# #{table}")
|
7
|
+
table_without_logging(table, stream)
|
8
|
+
end
|
9
|
+
alias_method_chain :table, :logging
|
10
|
+
end
|
data/lib/ridgepole/version.rb
CHANGED
data/ridgepole.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ['lib']
|
20
20
|
|
21
|
-
spec.add_dependency 'activerecord'
|
21
|
+
spec.add_dependency 'activerecord', '= 4.1.1'
|
22
22
|
spec.add_dependency 'activerecord-mysql-unsigned'
|
23
23
|
spec.add_development_dependency 'bundler'
|
24
24
|
spec.add_development_dependency 'rake'
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ridgepole
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Genki Sugawara
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
11
|
+
date: 2014-06-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - '
|
17
|
+
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 4.1.1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - '
|
24
|
+
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 4.1.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: activerecord-mysql-unsigned
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -117,6 +117,8 @@ files:
|
|
117
117
|
- lib/ridgepole/dsl_parser.rb
|
118
118
|
- lib/ridgepole/dumper.rb
|
119
119
|
- lib/ridgepole/logger.rb
|
120
|
+
- lib/ridgepole/migration_ext.rb
|
121
|
+
- lib/ridgepole/schema_dumper_ext.rb
|
120
122
|
- lib/ridgepole/string_ext.rb
|
121
123
|
- lib/ridgepole/version.rb
|
122
124
|
- ridgepole.gemspec
|