db-migrate 0.0.4 → 0.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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/bin/migrate +60 -56
  4. data/db-migrate.gemspec +1 -1
  5. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: eab419426da9f80e43140f1f4b25f5f56b7970e6
4
- data.tar.gz: e2840d27dc6129e8aa4176100e87d60c1f3fa62b
3
+ metadata.gz: ac44f2774f5bba1b5c0dd8dfc04e423361e92d70
4
+ data.tar.gz: 48aadd589116df00d4e840a827fa0a94e98f26e1
5
5
  SHA512:
6
- metadata.gz: 45ad601cb4e91159d8574972ad8db33f69f2d0690d9074b279228b1ce551aa47a61f50ca283b6ac5bde84e9d7f96b1cc5868c31720001b2828f1ea7a1e1117e6
7
- data.tar.gz: cccb1098e5f70782fe3e471a82869245c08d294065337a3cc56f5e45b50bce6b69f9227a31ff59214ab9ab1994f9e4817e9bfc986e54063994107cd4766934db
6
+ metadata.gz: 4174f718724905b41d451e9ac0a3d1fea778f657bb04e590b62053b011e4a7eec3283d9140f9472f9854bea07bad425b93a8df5d64dd94b8bafe490857c107bf
7
+ data.tar.gz: 24d4d0239d8b23262b6daa86b89d8f8e37ba43e6c7f853cb43915d669b47f916011f37adbca9a2e3916d56ca7b751a1c69415fa8982fe3c9e40c5f20563c113e
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- db-migrate (0.0.4)
4
+ db-migrate (0.1.0)
5
5
  colorize (= 0.7.7)
6
6
  highline (= 1.7.8)
7
7
  json (= 1.8.3)
data/bin/migrate CHANGED
@@ -26,9 +26,9 @@ class CLI < Thor
26
26
  def initialize(*args)
27
27
  super
28
28
  @config = Conf.new(options["root"], options["config"])
29
-
30
29
  init_invoked = ARGV.length > 0 && ARGV[0] == "init"
31
- if not init_invoked and @config.exists?
30
+
31
+ if @config.exists?
32
32
  @config.load!
33
33
  @migrator = Migrator.new(@config)
34
34
  elsif not init_invoked
@@ -41,72 +41,76 @@ class CLI < Thor
41
41
 
42
42
  desc "init", "make configuration file"
43
43
  def init
44
- Log.info("Creating configuration...")
44
+ if @migrator == nil
45
+ Log.info("Creating configuration...")
45
46
 
46
- storage = nil
47
- $asker.choose do |menu|
48
- menu.prompt = "Which database do you prefer?"
47
+ storage = nil
48
+ $asker.choose do |menu|
49
+ menu.prompt = "Which database do you prefer?"
49
50
 
50
- menu.choice(:mysql) { storage = "mysql" }
51
- menu.choices(:pg) { storage = "pg" }
52
- end
51
+ menu.choice(:mysql) { storage = "mysql" }
52
+ menu.choices(:pg) { storage = "pg" }
53
+ end
53
54
 
54
- install_dep = ""
55
- case storage
56
- when "pg"
57
- if `gem list -i pg`.to_b != true
58
- install_dep = "sudo gem install pg -v #{@@pg_version}"
59
- Log.info "pg package not installed. Will install it."
55
+ install_dep = ""
56
+ case storage
57
+ when "pg"
58
+ if `gem list -i pg`.to_b != true
59
+ install_dep = "sudo gem install pg -v #{@@pg_version}"
60
+ Log.info "pg package not installed. Will install it."
61
+ end
62
+ when "mysql"
63
+ if `gem list -i mysql2`.to_b != "true"
64
+ install_dep = "sudo gem install mysql2 -v #{@@mysql_version}"
65
+ Log.info "mysql2 package not installed. Will install it."
66
+ end
60
67
  end
61
- when "mysql"
62
- if `gem list -i mysql2`.to_b != "true"
63
- install_dep = "sudo gem install mysql2 -v #{@@mysql_version}"
64
- Log.info "mysql2 package not installed. Will install it."
68
+
69
+ unless install_dep.empty?
70
+ Log.info "Running '#{install_dep}'"
71
+ unless system(install_dep)
72
+ raise "Wrror while install dependencies. Please try to run '#{install_dep}' manually and try running 'init' again."
73
+ else
74
+ Log.info "Missing dependencies installed"
75
+ end
65
76
  end
66
- end
67
77
 
68
- unless install_dep.empty?
69
- Log.info "Running '#{install_dep}'"
70
- unless system(install_dep)
71
- raise "Wrror while install dependencies. Please try to run '#{install_dep}' manually and try running 'init' again."
72
- else
73
- Log.info "Missing dependencies installed"
78
+ db_defaults = case storage
79
+ when "mysql"
80
+ { :port => "3306", :user => "root" }
81
+ when "pg"
82
+ { :port => "5432", :user => "postgres" }
74
83
  end
75
- end
76
84
 
77
- db_defaults = case storage
78
- when "mysql"
79
- { :port => "3306", :user => "root" }
80
- when "pg"
81
- { :port => "5432", :user => "postgres" }
82
- end
85
+ lang = nil
86
+ $asker.choose do |menu|
87
+ menu.prompt = "What language would you like use for your migration scripts?"
83
88
 
84
- lang = nil
85
- $asker.choose do |menu|
86
- menu.prompt = "What language would you like use for your migration scripts?"
89
+ menu.choice(:sql) { lang = "sql" }
90
+ menu.choices(:ruby) { lang = "ruby" }
91
+ menu.choice(:javascript) { lang = "javascript" }
92
+ menu.choice(:go) { lang = "go" }
93
+ menu.choice(:python) { lang = "python" }
94
+ end
87
95
 
88
- menu.choice(:sql) { lang = "sql" }
89
- menu.choices(:ruby) { lang = "ruby" }
90
- menu.choice(:javascript) { lang = "javascript" }
91
- menu.choice(:go) { lang = "go" }
92
- menu.choice(:python) { lang = "python" }
96
+ config = {
97
+ storage: storage,
98
+ lang: lang,
99
+ host: $asker.ask("Host: ") {|q| q.default = "localhost"},
100
+ port: ($asker.ask("Port: ") {|q| q.default = db_defaults[:port]}).to_i,
101
+ database: $asker.ask("Database Name: ") {|q| q.default = "mydb"},
102
+ user: $asker.ask("User: ") {|q| q.default = db_defaults[:user]},
103
+ password: $asker.ask("Password: ") {|q| q.echo = "x"},
104
+ version_info: $asker.ask("Version info table: ") {|q| q.default = "version_info"},
105
+ version_number: $asker.ask("Version number table: ") {|q| q.default = "version_number"}
106
+ }
107
+
108
+ @config.init(config)
109
+ @config.load!
110
+ @migrator = Migrator.new(@config)
93
111
  end
94
112
 
95
- config = {
96
- storage: storage,
97
- lang: lang,
98
- host: $asker.ask("Host: ") {|q| q.default = "localhost"},
99
- port: ($asker.ask("Port: ") {|q| q.default = db_defaults[:port]}).to_i,
100
- database: $asker.ask("Database Name: ") {|q| q.default = "mydb"},
101
- user: $asker.ask("User: ") {|q| q.default = db_defaults[:user]},
102
- password: $asker.ask("Password: ") {|q| q.echo = "x"},
103
- version_info: $asker.ask("Version info table: ") {|q| q.default = "version_info"},
104
- version_number: $asker.ask("Version number table: ") {|q| q.default = "version_number"}
105
- }
106
-
107
- @config.init(config)
108
- @config.load!
109
- Migrator.new(@config).init
113
+ @migrator.init
110
114
  rescue Exception => e
111
115
  Log.error("Error while initialization.", e)
112
116
  @config.delete
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.0.4'
3
+ s.version = '0.1.0'
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,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: db-migrate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Pusic