db-migrate 0.2.1 → 0.2.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.
- checksums.yaml +4 -4
- data/Gemfile.lock +2 -2
- data/README.md +1 -0
- data/bin/migrate +27 -22
- data/db-migrate.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 42acbadfd251338d4cc0057c37ea5a26ebfe8ccb
|
4
|
+
data.tar.gz: bc59c6d021cdbd64afa73194798f418079faad35
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6888cfd65e6ea9fbe5665dc7e8358d3ff18e4f29b0444935497a1ce105014bc88b9b38fbd5f39aa14da3d7ff203579112b9e6c23fdd8423e377b4ae75ca5e56e
|
7
|
+
data.tar.gz: 1c9a64b485ffbe5cc8c5ea81d781961c0263a100fe196dec0f6b45864f6088cb01588359cebb4d8b0954629289cd13278563f7082c32b9821c6927a5769975e2
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
db-migrate (0.2.
|
4
|
+
db-migrate (0.2.2)
|
5
5
|
colorize (= 0.7.7)
|
6
6
|
highline (= 1.7.8)
|
7
7
|
json (= 1.8.3)
|
@@ -24,7 +24,7 @@ GEM
|
|
24
24
|
rspec-core (~> 3.4.0)
|
25
25
|
rspec-expectations (~> 3.4.0)
|
26
26
|
rspec-mocks (~> 3.4.0)
|
27
|
-
rspec-core (3.4.
|
27
|
+
rspec-core (3.4.3)
|
28
28
|
rspec-support (~> 3.4.0)
|
29
29
|
rspec-expectations (3.4.0)
|
30
30
|
diff-lcs (>= 1.2.0, < 2.0)
|
data/README.md
CHANGED
@@ -10,6 +10,7 @@ gem install db-migrate
|
|
10
10
|
```
|
11
11
|
|
12
12
|
If you are going to use for example Postgres with **migrate**, make sure that you have Postgresql server running.
|
13
|
+
**migrate** is using lazy installation of database specific gems, so it will install `pg` or `mysql2` (if they are not installed already) gem when you choose database type. It is recommended that you install them manually ([officialy-supported-versions](https://github.com/ivpusic/migrate/blob/master/bin/migrate#L13)).
|
13
14
|
|
14
15
|
## Demo
|
15
16
|

|
data/bin/migrate
CHANGED
@@ -30,6 +30,7 @@ class CLI < Thor
|
|
30
30
|
|
31
31
|
if @config.exists?
|
32
32
|
@config.load!
|
33
|
+
CLI.install_deps(@config.storage)
|
33
34
|
@migrator = Migrator.new(@config)
|
34
35
|
elsif not init_invoked
|
35
36
|
Log.error("Configuration not found in `#{Pathname.new(@config.root).expand_path}`. " \
|
@@ -39,6 +40,31 @@ class CLI < Thor
|
|
39
40
|
end
|
40
41
|
end
|
41
42
|
|
43
|
+
def self.install_deps(storage)
|
44
|
+
install_dep = ""
|
45
|
+
case storage
|
46
|
+
when "pg"
|
47
|
+
if `gem list -i pg`.to_b != true
|
48
|
+
install_dep = "gem install pg -v #{@@pg_version}"
|
49
|
+
Log.info "pg package not installed. Will install it."
|
50
|
+
end
|
51
|
+
when "mysql"
|
52
|
+
if `gem list -i mysql2`.to_b != "true"
|
53
|
+
install_dep = "gem install mysql2 -v #{@@mysql_version}"
|
54
|
+
Log.info "mysql2 package not installed. Will install it."
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
unless install_dep.empty?
|
59
|
+
Log.info "Running '#{install_dep}'"
|
60
|
+
unless system(install_dep)
|
61
|
+
raise "Wrror while install dependencies. Please try to run '#{install_dep}' manually and try running 'init' again."
|
62
|
+
else
|
63
|
+
Log.info "Missing dependencies installed"
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
42
68
|
desc "init", "make configuration file"
|
43
69
|
def init
|
44
70
|
generated_config = false
|
@@ -55,28 +81,7 @@ class CLI < Thor
|
|
55
81
|
menu.choices(:pg) { storage = "pg" }
|
56
82
|
end
|
57
83
|
|
58
|
-
|
59
|
-
case storage
|
60
|
-
when "pg"
|
61
|
-
if `gem list -i pg`.to_b != true
|
62
|
-
install_dep = "gem install pg -v #{@@pg_version}"
|
63
|
-
Log.info "pg package not installed. Will install it."
|
64
|
-
end
|
65
|
-
when "mysql"
|
66
|
-
if `gem list -i mysql2`.to_b != "true"
|
67
|
-
install_dep = "gem install mysql2 -v #{@@mysql_version}"
|
68
|
-
Log.info "mysql2 package not installed. Will install it."
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
unless install_dep.empty?
|
73
|
-
Log.info "Running '#{install_dep}'"
|
74
|
-
unless system(install_dep)
|
75
|
-
raise "Wrror while install dependencies. Please try to run '#{install_dep}' manually and try running 'init' again."
|
76
|
-
else
|
77
|
-
Log.info "Missing dependencies installed"
|
78
|
-
end
|
79
|
-
end
|
84
|
+
CLI.install_deps(storage)
|
80
85
|
|
81
86
|
db_defaults = case storage
|
82
87
|
when "mysql"
|
data/db-migrate.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'db-migrate'
|
3
|
-
s.version = '0.2.
|
3
|
+
s.version = '0.2.2'
|
4
4
|
s.licenses = ['MIT']
|
5
5
|
s.summary = "Tool for managing and executing your database migrations."
|
6
6
|
s.description = "#{s.summary} It supports multiple databases and multiple languages for writing migration scripts."
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: db-migrate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ivan Pusic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-03-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|