db-clone 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e1ab0818f5cf4ec50e0e763f3ec4aba7fed545fa
4
- data.tar.gz: 62d920d4cab87adde594c102329469209dc82ed9
3
+ metadata.gz: fcd326c93a4c6b9b352dc708d6162af97069b798
4
+ data.tar.gz: e2f9818beb86828373daf75c5ed7c341f6442473
5
5
  SHA512:
6
- metadata.gz: c26ba96324376ce1ce7609643116df1ad2ea6484ba42fd61e085a734b5f8748af0c858ffddb33c08865d463d1ebea2f5e3f0997264cbde6e0ceebbd58de9a03d
7
- data.tar.gz: 3d12bba1f9f407419c68a11e3b9f315cdc1fa7e51515646c3a2a5556c94f81d810426915606e63d7cf4985e747246932656d82be9dc787bdb5c69f4edeb0a136
6
+ metadata.gz: 09f9de4e8c1ab172b344f60c14cc5360d46ef9f86bebe3d2baa9d274c556489607eecd662dcee69a61d47e402c0a824ded3acee9366cd51de6890783b001b6b0
7
+ data.tar.gz: 72c2c5bc5c50e32a78c0ca50fbe9054a4754b56b22b608d64d3b3bc15474ccf253a2685fe871371ba9825de4ae8c49a14869a562c07167911417231075481093
data/README.rdoc CHANGED
@@ -1,3 +1,3 @@
1
- = DbSync
1
+ = DbClone
2
2
 
3
3
  This project rocks and uses MIT-LICENSE.
@@ -1,4 +1,4 @@
1
- module DbSync
1
+ module DbClone
2
2
  class ApplicationController < ActionController::Base
3
3
  protect_from_forgery with: :exception
4
4
  end
@@ -1,4 +1,4 @@
1
- module DbSync
1
+ module DbClone
2
2
  module ApplicationHelper
3
3
  end
4
4
  end
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>DbClone</title>
5
+ <%= stylesheet_link_tag "db-clone/application", media: "all" %>
6
+ <%= javascript_include_tag "db-clone/application" %>
7
+ <%= csrf_meta_tags %>
8
+ </head>
9
+ <body>
10
+
11
+ <%= yield %>
12
+
13
+ </body>
14
+ </html>
data/config/routes.rb CHANGED
@@ -1,2 +1,2 @@
1
- DbSync::Engine.routes.draw do
1
+ DbClone::Engine.routes.draw do
2
2
  end
@@ -1,16 +1,16 @@
1
1
  require 'colorize'
2
- require 'db_sync/cmd_builder'
3
- require 'db_sync/db_selections'
4
- require 'db_sync/engine'
2
+ require 'db-clone/cmd_builder'
3
+ require 'db-clone/db_selections'
4
+ require 'db-clone/engine'
5
5
 
6
- module DbSync
6
+ module DbClone
7
7
  mattr_accessor :config
8
8
 
9
- def self.sync!( **opts )
10
- DbSync.config ||= {}
11
- DbSync.config[:ignore_tables] ||= []
12
- DbSync.config[:default_source] ||= 'production'
13
- DbSync.config[:default_destination] ||= 'development'
9
+ def self.clone!( **opts )
10
+ DbClone.config ||= {}
11
+ DbClone.config[:ignore_tables] ||= []
12
+ DbClone.config[:default_source] ||= 'production'
13
+ DbClone.config[:default_destination] ||= 'development'
14
14
 
15
15
  ds = DbSelections.new Rails.root.join('config', 'database.yml')
16
16
  src_dest = if opts[:manual]
@@ -1,4 +1,4 @@
1
- module DbSync
1
+ module DbClone
2
2
  class CmdBuilder
3
3
  VALID_DB_KEYS = ['host', 'port', 'username', 'database', 'password']
4
4
  SUPPORTED_DBS = [:mysql, :postgresql]
@@ -27,7 +27,7 @@ module DbSync
27
27
  "--port=#{src_dest[:src]['port']}"
28
28
  ]
29
29
 
30
- DbSync.config[:ignore_tables].each{|tbl| mysqldump_args << "--ignore-table=#{src_dest[:dest]['database']}.#{tbl}"} if DbSync.config && DbSync.config[:ignore_tables].is_a?(Array)
30
+ DbClone.config[:ignore_tables].each{|tbl| mysqldump_args << "--ignore-table=#{src_dest[:dest]['database']}.#{tbl}"} if DbClone.config && DbClone.config[:ignore_tables].is_a?(Array)
31
31
 
32
32
  (mysqldump_args + [
33
33
  "#{src_dest[:src]['database']}",
@@ -1,13 +1,13 @@
1
1
  require 'yaml'
2
2
 
3
- module DbSync
3
+ module DbClone
4
4
  class DbSelections
5
5
  # read database blocks from config/database.yml
6
6
  def initialize( database_yml )
7
7
  h = YAML.load_file database_yml
8
8
  @dbs = h.sort_by{|k,v| k}.map{|k,v| v.merge(label: k)}
9
- @default_src_idx = @dbs.find_index{|db| db[:label] == DbSync.config[:default_source]}
10
- @default_dest_idx = @dbs.find_index{|db| db[:label] == DbSync.config[:default_destination]}
9
+ @default_src_idx = @dbs.find_index{|db| db[:label] == DbClone.config[:default_source]}
10
+ @default_dest_idx = @dbs.find_index{|db| db[:label] == DbClone.config[:default_destination]}
11
11
  @selections = {src: nil, dest: nil}
12
12
  end
13
13
 
@@ -1,6 +1,6 @@
1
- module DbSync
1
+ module DbClone
2
2
  class Engine < ::Rails::Engine
3
- isolate_namespace DbSync
3
+ isolate_namespace DbClone
4
4
 
5
5
  config.generators do |g|
6
6
  g.test_framework :rspec, :fixture => false
@@ -0,0 +1,3 @@
1
+ module DbClone
2
+ VERSION = '1.0.1'
3
+ end
@@ -0,0 +1,6 @@
1
+ namespace :db do
2
+ desc 'clones a source database to a destination database'
3
+ task :clone, [:manual] => :environment do |t, args|
4
+ DbClone.clone! manual: args[:manual].present?
5
+ end
6
+ end
@@ -1,6 +1,6 @@
1
1
  require 'rails_helper'
2
2
 
3
- module DbSync
3
+ module DbClone
4
4
  describe CmdBuilder do
5
5
  describe 'postgresql command builder' do
6
6
  h = {
@@ -62,7 +62,7 @@ module DbSync
62
62
  end
63
63
 
64
64
  it 'should be able to generate a mysqldump command with ignore tables' do
65
- DbSync.config = {
65
+ DbClone.config = {
66
66
  ignore_tables: ['tableAAAA', 'tableBBBB', 'tableCCCC']
67
67
  }
68
68
  cb = CmdBuilder.new @h
@@ -1,9 +1,9 @@
1
1
  require 'rails_helper'
2
2
 
3
- module DbSync
4
- describe DbSync do
5
- it 'should be able to auto sync' do
6
- DbSync.config = {
3
+ module DbClone
4
+ describe DbClone do
5
+ it 'should be able to auto clone' do
6
+ DbClone.config = {
7
7
  default_source: 'second_test_mysql',
8
8
  default_destination: 'test_mysql',
9
9
  }
@@ -1,9 +1,9 @@
1
1
  require 'rails_helper'
2
2
 
3
- module DbSync
3
+ module DbClone
4
4
  describe DbSelections do
5
5
  describe 'db selections' do
6
- DbSync.config = {
6
+ DbClone.config = {
7
7
  default_source: 'production',
8
8
  default_destination: 'development',
9
9
  }
@@ -61,7 +61,7 @@ module DbSync
61
61
  describe 'db mismatched selections' do
62
62
  ds = DbSelections.new Rails.root.join('config', 'database.yml')
63
63
 
64
- it 'should prohibit syncing between different adapters' do
64
+ it 'should prohibit cloneing between different adapters' do
65
65
  expect { ds.source_prompt }.to output.to_stdout
66
66
  allow(STDIN).to receive(:gets) { '7' }
67
67
  expect { ds.source_get }.to output.to_stdout
@@ -9,7 +9,7 @@ require "sprockets/railtie"
9
9
  # require "rails/test_unit/railtie"
10
10
 
11
11
  Bundler.require(*Rails.groups)
12
- require "db_sync"
12
+ require "db-clone"
13
13
 
14
14
  module Dummy
15
15
  class Application < Rails::Application
@@ -1,4 +1,4 @@
1
1
  Rails.application.routes.draw do
2
2
 
3
- mount DbSync::Engine => "/db_sync"
3
+ mount DbClone::Engine => "/db-clone"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: db-clone
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Huber
@@ -80,8 +80,8 @@ dependencies:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '3.4'
83
- description: rake db:sync[manual] provides a CLI for selecting a specific source database
84
- to copy to a specific destination database. Supports postgreql and mysql.
83
+ description: rake db:clone[manual] provides a CLI for selecting a specific source
84
+ database to copy to a specific destination database. Supports postgreql and mysql.
85
85
  email:
86
86
  - seanhuber@seanhuber.com
87
87
  executables: []
@@ -91,21 +91,21 @@ files:
91
91
  - MIT-LICENSE
92
92
  - README.rdoc
93
93
  - Rakefile
94
- - app/assets/javascripts/db_sync/application.js
95
- - app/assets/stylesheets/db_sync/application.css
94
+ - app/assets/javascripts/db-clone/application.js
95
+ - app/assets/stylesheets/db-clone/application.css
96
96
  - app/controllers/db_sync/application_controller.rb
97
- - app/helpers/db_sync/application_helper.rb
98
- - app/views/layouts/db_sync/application.html.erb
97
+ - app/helpers/db-clone/application_helper.rb
98
+ - app/views/layouts/db-clone/application.html.erb
99
99
  - config/routes.rb
100
- - lib/db_sync.rb
101
- - lib/db_sync/cmd_builder.rb
102
- - lib/db_sync/db_selections.rb
103
- - lib/db_sync/engine.rb
104
- - lib/db_sync/version.rb
105
- - lib/tasks/db_sync_tasks.rake
100
+ - lib/db-clone.rb
101
+ - lib/db-clone/cmd_builder.rb
102
+ - lib/db-clone/db_selections.rb
103
+ - lib/db-clone/engine.rb
104
+ - lib/db-clone/version.rb
105
+ - lib/tasks/db-clone_tasks.rake
106
106
  - spec/cmd_builder_spec.rb
107
+ - spec/db-clone_spec.rb
107
108
  - spec/db_selections_spec.rb
108
- - spec/db_sync_spec.rb
109
109
  - spec/dummy/README.rdoc
110
110
  - spec/dummy/Rakefile
111
111
  - spec/dummy/app/assets/javascripts/application.js
@@ -145,7 +145,7 @@ files:
145
145
  - spec/dummy/public/favicon.ico
146
146
  - spec/rails_helper.rb
147
147
  - spec/spec_helper.rb
148
- homepage: https://github.com/seanhuber/db-sync
148
+ homepage: https://github.com/seanhuber/db-clone
149
149
  licenses:
150
150
  - MIT
151
151
  metadata: {}
@@ -168,11 +168,11 @@ rubyforge_project:
168
168
  rubygems_version: 2.5.1
169
169
  signing_key:
170
170
  specification_version: 4
171
- summary: rake db:sync will clone your production database to development
171
+ summary: rake db:clone will clone your production database to development
172
172
  test_files:
173
173
  - spec/cmd_builder_spec.rb
174
+ - spec/db-clone_spec.rb
174
175
  - spec/db_selections_spec.rb
175
- - spec/db_sync_spec.rb
176
176
  - spec/dummy/app/assets/javascripts/application.js
177
177
  - spec/dummy/app/assets/stylesheets/application.css
178
178
  - spec/dummy/app/controllers/application_controller.rb
@@ -1,14 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>DbSync</title>
5
- <%= stylesheet_link_tag "db_sync/application", media: "all" %>
6
- <%= javascript_include_tag "db_sync/application" %>
7
- <%= csrf_meta_tags %>
8
- </head>
9
- <body>
10
-
11
- <%= yield %>
12
-
13
- </body>
14
- </html>
@@ -1,3 +0,0 @@
1
- module DbSync
2
- VERSION = '1.0.0'
3
- end
@@ -1,6 +0,0 @@
1
- namespace :db do
2
- desc 'syncs a source database to a destination database'
3
- task :sync, [:manual] => :environment do |t, args|
4
- DbSync.sync! manual: args[:manual].present?
5
- end
6
- end