db-clone 1.0.0 → 1.0.1

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 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