dbsync 0.0.1 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,64 @@
1
+ # dbsync
2
+
3
+ A set of rake tasks to help you sync your production
4
+ data with your local database for development.
5
+
6
+ Currently only supports:
7
+ * Rails
8
+ * MySQL
9
+
10
+ Support for more things will happen if anybody needs it.
11
+
12
+ ## Usage
13
+
14
+ Add to your gemfile for the groups that will need it:
15
+
16
+ group :development, :staging do
17
+ gem 'dbsync'
18
+ end
19
+
20
+ Add the following to your `config/environments/development.rb`
21
+ file. Depending on your staging setup, it may also be useful
22
+ to you to add some `dbsync` config to your `staging.rb`
23
+ environment file. **Note** `dbsync` will not run in production.
24
+
25
+ config.dbsync = ActiveSupport::OrderedOptions.new
26
+
27
+ config.dbsync.filename = "yourapp_production_data.dump" # The name of the remote dumpfile
28
+ config.dbsync.local_dir = "#{Rails.root}/../dbsync" # The local directory to store the dump file. No trailing slash
29
+ config.dbsync.remote_host = "66.123.4.567" # Remote server where the dumpfile is
30
+ config.dbsync.remote_dir = "~dbsync" # The directory on the remote server where the dumpfile is
31
+
32
+ Now just make sure you have something on the remote
33
+ server updating that dumpfile. I recommend a cronjob:
34
+
35
+ 0 */12 * * * /usr/bin/mysqldump yourapp_production > /home/dbsync/yourapp_production_data.dump
36
+
37
+
38
+ You will need proper SSH access into the remote server,
39
+ as the tasks use `rsync` and `scp` directly.
40
+
41
+ Run `rake -T dbsync` for all of the available tasks. The
42
+ tasks are named after `git` commands mostly, so they
43
+ should be pretty straight-forward for those who use `git`:
44
+
45
+ rake dbsync # Alias for dbsync:pull
46
+ rake dbsync:clone # Copy the remote dump file, reset the local database, and load in the dump file
47
+ rake dbsync:clone_dump # Copy the remote dump file to a local destination
48
+ rake dbsync:config # Show the dbsync configuration
49
+ rake dbsync:fetch # Update the local dump file from the remote source
50
+ rake dbsync:merge # Merge the local dump file into the local database
51
+ rake dbsync:pull # Update the local dump file, and merge it into the local database
52
+ rake dbsync:reset # Drop & Create the database, then load the dump file.
53
+
54
+ ### TODO
55
+
56
+ - Specs!
57
+
58
+ ### Copyright
59
+
60
+ Copyright (c) 2012 Bryan Ricker/SCPR.
61
+
62
+ ### Licence
63
+
64
+ See MIT-LICENSE for more.
@@ -2,25 +2,23 @@
2
2
  $:.push File.expand_path("../lib", __FILE__)
3
3
  require "dbsync/version"
4
4
 
5
- Gem::Specification.new do |s|
6
- s.name = "dbsync"
7
- s.version = Dbsync::VERSION
8
- s.authors = ["Bryan Ricker"]
9
- s.email = ["bricker88@gmail.com"]
10
- s.homepage = "http://github.com/bricker88/dbsync"
11
- s.summary = %q{Easy syncing from remote to development database in Rails.}
12
- s.description = %q{A set of rake tasks to help you sync your remote production data with your local database for development.}
5
+ Gem::Specification.new do |gem|
6
+ gem.name = "dbsync"
7
+ gem.version = Dbsync::VERSION
8
+ gem.authors = ["Bryan Ricker"]
9
+ gem.email = ["bricker88@gmail.com"]
10
+ gem.description = %q{A set of rake tasks to help you sync your remote production data with your local database for development.}
11
+ gem.summary = %q{Easy syncing from remote to development database in Rails.}
12
+ gem.homepage = "http://github.com/bricker/dbsync"
13
13
 
14
- s.rubyforge_project = "dbsync"
14
+ gem.rubyforge_project = "dbsync"
15
15
 
16
- s.files = `git ls-files`.split("\n")
17
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
- s.require_paths = ["lib", "lib/tasks"]
16
+ gem.files = `git ls-files`.split("\n")
17
+ gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ gem.require_paths = ["lib", "lib/tasks"]
20
20
 
21
- # specify any dependencies here; for example:
22
- # s.add_development_dependency "rspec"
23
- s.add_runtime_dependency "activesupport", "~> 3.2.8"
24
- s.add_runtime_dependency "activerecord", "~> 3.2.8"
25
- s.add_runtime_dependency "railties", "~> 3.2.8"
21
+ gem.add_runtime_dependency "activesupport", "~> 3.2.8"
22
+ gem.add_runtime_dependency "activerecord", "~> 3.2.8"
23
+ gem.add_runtime_dependency "railties", "~> 3.2.8"
26
24
  end
@@ -1,3 +1,3 @@
1
1
  module Dbsync
2
- VERSION = "0.0.1"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dbsync
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-05 00:00:00.000000000 Z
12
+ date: 2012-12-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
16
- requirement: &70099915000180 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: 3.2.8
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70099915000180
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 3.2.8
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: activerecord
27
- requirement: &70099914999600 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ~>
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: 3.2.8
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *70099914999600
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 3.2.8
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: railties
38
- requirement: &70099914999120 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ~>
@@ -43,7 +53,12 @@ dependencies:
43
53
  version: 3.2.8
44
54
  type: :runtime
45
55
  prerelease: false
46
- version_requirements: *70099914999120
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 3.2.8
47
62
  description: A set of rake tasks to help you sync your remote production data with
48
63
  your local database for development.
49
64
  email:
@@ -55,13 +70,13 @@ files:
55
70
  - .gitignore
56
71
  - Gemfile
57
72
  - MIT-LICENSE
58
- - README.rdoc
73
+ - README.markdown
59
74
  - Rakefile
60
75
  - dbsync.gemspec
61
76
  - lib/dbsync.rb
62
77
  - lib/dbsync/version.rb
63
78
  - lib/tasks/dbsync.rake
64
- homepage: http://github.com/bricker88/dbsync
79
+ homepage: http://github.com/bricker/dbsync
65
80
  licenses: []
66
81
  post_install_message:
67
82
  rdoc_options: []
@@ -82,7 +97,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
82
97
  version: '0'
83
98
  requirements: []
84
99
  rubyforge_project: dbsync
85
- rubygems_version: 1.8.16
100
+ rubygems_version: 1.8.24
86
101
  signing_key:
87
102
  specification_version: 3
88
103
  summary: Easy syncing from remote to development database in Rails.
@@ -1,48 +0,0 @@
1
- = dbsync
2
-
3
- A set of rake tasks to help you sync your production
4
- data with your local database for development.
5
-
6
- Currently only supports:
7
- * Rails
8
- * MySQL
9
-
10
- Support for more things will happen if anybody needs it.
11
-
12
- Add the following to your +config/environments/development.rb+
13
- file:
14
- config.dbsync = ActiveSupport::OrderedOptions.new
15
-
16
- config.dbsync.filename = "yourapp_production_data.dump" # The name of the remote dumpfile
17
- config.dbsync.local_dir = "#{Rails.root}/../dbsync" # The local directory to store the dump file. No trailing slash
18
- config.dbsync.remote_host = "66.123.4.567" # Remote server where the dumpfile is
19
- config.dbsync.remote_dir = "~dbsync" # The directory on the remote server where the dumpfile is
20
-
21
- Now just make sure you have something on the remote
22
- server updating that dumpfile. I recommend a cronjob:
23
- 0 */12 * * * /usr/bin/mysqldump yourapp_production > /home/dbsync/yourapp_production_data.dump
24
-
25
- You will need proper SSH access into the remote server,
26
- as the tasks use +rsync+ and +scp+ directly.
27
-
28
- Run +rake -T dbsync+ for all of the available tasks:
29
- rake dbsync # Alias for dbsync:pull
30
- rake dbsync:clone # Copy the remote dump file, reset the local database, and load in the dump file
31
- rake dbsync:clone_dump # Copy the remote dump file to a local destination
32
- rake dbsync:config # Show the dbsync configuration
33
- rake dbsync:fetch # Update the local dump file from the remote source
34
- rake dbsync:merge # Merge the local dump file into the local database
35
- rake dbsync:pull # Update the local dump file, and merge it into the local database
36
- rake dbsync:reset # Drop & Create the database, then load the dump file.
37
-
38
- == TODO
39
-
40
- - Specs!
41
-
42
- == Copyright
43
-
44
- Copyright (c) 2012 Bryan Ricker/SCPR.
45
-
46
- == Licence
47
-
48
- See MIT-LICENSE for more.