myreplicator 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (154) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +3 -0
  3. data/Rakefile +40 -0
  4. data/app/assets/javascripts/myreplicator/application.js +21 -0
  5. data/app/assets/javascripts/myreplicator/chosen.jquery.min.js +10 -0
  6. data/app/assets/javascripts/myreplicator/cronwtf.js +156 -0
  7. data/app/assets/javascripts/myreplicator/exports.js +2 -0
  8. data/app/assets/javascripts/myreplicator/jquery.tipTip.minified.js +21 -0
  9. data/app/assets/stylesheets/myreplicator/FrancoisOne.ttf +0 -0
  10. data/app/assets/stylesheets/myreplicator/application.css +544 -0
  11. data/app/assets/stylesheets/myreplicator/asc-white.gif +0 -0
  12. data/app/assets/stylesheets/myreplicator/bg.gif +0 -0
  13. data/app/assets/stylesheets/myreplicator/bg.png +0 -0
  14. data/app/assets/stylesheets/myreplicator/chosen-sprite.png +0 -0
  15. data/app/assets/stylesheets/myreplicator/chosen.css +398 -0
  16. data/app/assets/stylesheets/myreplicator/clipboard-list.png +0 -0
  17. data/app/assets/stylesheets/myreplicator/cross.png +0 -0
  18. data/app/assets/stylesheets/myreplicator/desc-white.gif +0 -0
  19. data/app/assets/stylesheets/myreplicator/exports.css +4 -0
  20. data/app/assets/stylesheets/myreplicator/gear.png +0 -0
  21. data/app/assets/stylesheets/myreplicator/plus.png +0 -0
  22. data/app/assets/stylesheets/myreplicator/status-busy.png +0 -0
  23. data/app/assets/stylesheets/myreplicator/status.png +0 -0
  24. data/app/assets/stylesheets/myreplicator/tipTip.css +113 -0
  25. data/app/assets/stylesheets/myreplicator/websymbols-regular-webfont.eot +0 -0
  26. data/app/assets/stylesheets/myreplicator/websymbols-regular-webfont.svg +108 -0
  27. data/app/assets/stylesheets/myreplicator/websymbols-regular-webfont.ttf +0 -0
  28. data/app/assets/stylesheets/myreplicator/websymbols-regular-webfont.woff +0 -0
  29. data/app/assets/stylesheets/scaffold.css +56 -0
  30. data/app/controllers/myreplicator/application_controller.rb +4 -0
  31. data/app/controllers/myreplicator/exports_controller.rb +106 -0
  32. data/app/controllers/myreplicator/home_controller.rb +23 -0
  33. data/app/helpers/myreplicator/application_helper.rb +12 -0
  34. data/app/helpers/myreplicator/exports_helper.rb +4 -0
  35. data/app/models/myreplicator/export.rb +121 -0
  36. data/app/views/layouts/myreplicator/application.html.erb +24 -0
  37. data/app/views/myreplicator/exports/_form.html.erb +117 -0
  38. data/app/views/myreplicator/exports/edit.html.erb +2 -0
  39. data/app/views/myreplicator/exports/index.html.erb +56 -0
  40. data/app/views/myreplicator/exports/new.html.erb +2 -0
  41. data/app/views/myreplicator/exports/show.html.erb +28 -0
  42. data/app/views/myreplicator/home/_home_menu.erb +5 -0
  43. data/app/views/myreplicator/home/errors.html.erb +10 -0
  44. data/app/views/myreplicator/home/index.html.erb +58 -0
  45. data/config/routes.rb +6 -0
  46. data/db/migrate/20121025191622_create_myreplicator_exports.rb +35 -0
  47. data/lib/configuration.rb +25 -0
  48. data/lib/exporter/export_metadata.rb +198 -0
  49. data/lib/exporter/export_metadata.rb~ +9 -0
  50. data/lib/exporter/mysql_exporter.rb +187 -0
  51. data/lib/exporter/sql_commands.rb +126 -0
  52. data/lib/exporter/sql_commands.rb~ +5 -0
  53. data/lib/exporter.rb +3 -0
  54. data/lib/loader/import_sql.rb +91 -0
  55. data/lib/loader/import_sql.rb~ +27 -0
  56. data/lib/loader/loader.rb +122 -0
  57. data/lib/loader/loader.rb~ +4 -0
  58. data/lib/myreplicator/engine.rb +5 -0
  59. data/lib/myreplicator/version.rb +3 -0
  60. data/lib/myreplicator.rb +34 -0
  61. data/lib/tasks/myreplicator_tasks.rake +4 -0
  62. data/lib/transporter/parallelizer.rb +78 -0
  63. data/lib/transporter/transporter.rb +80 -0
  64. data/test/dummy/README.rdoc +261 -0
  65. data/test/dummy/Rakefile +7 -0
  66. data/test/dummy/app/assets/javascripts/application.js +15 -0
  67. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  68. data/test/dummy/app/controllers/application_controller.rb +3 -0
  69. data/test/dummy/app/helpers/application_helper.rb +2 -0
  70. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  71. data/test/dummy/config/application.rb +59 -0
  72. data/test/dummy/config/boot.rb +10 -0
  73. data/test/dummy/config/database.yml +42 -0
  74. data/test/dummy/config/database.yml.sample +47 -0
  75. data/test/dummy/config/database.yml.sample~ +26 -0
  76. data/test/dummy/config/database.yml~ +35 -0
  77. data/test/dummy/config/environment.rb +5 -0
  78. data/test/dummy/config/environments/development.rb +37 -0
  79. data/test/dummy/config/environments/production.rb +67 -0
  80. data/test/dummy/config/environments/test.rb +37 -0
  81. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  82. data/test/dummy/config/initializers/inflections.rb +15 -0
  83. data/test/dummy/config/initializers/mime_types.rb +5 -0
  84. data/test/dummy/config/initializers/secret_token.rb +7 -0
  85. data/test/dummy/config/initializers/session_store.rb +8 -0
  86. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  87. data/test/dummy/config/locales/en.yml +5 -0
  88. data/test/dummy/config/myreplicator.yml +22 -0
  89. data/test/dummy/config/myreplicator.yml.sample +23 -0
  90. data/test/dummy/config/myreplicator.yml~ +21 -0
  91. data/test/dummy/config/routes.rb +4 -0
  92. data/test/dummy/config.ru +4 -0
  93. data/test/dummy/db/migrate/20121101005152_sample_data.rb +24 -0
  94. data/test/dummy/db/migrate/20121115194022_create_myreplicator_exports.myreplicator.rb +36 -0
  95. data/test/dummy/db/schema.rb +45 -0
  96. data/test/dummy/db/seeds.rb +13 -0
  97. data/test/dummy/db/seeds.rb~ +1 -0
  98. data/test/dummy/log/development.log +1364 -0
  99. data/test/dummy/log/test.log +49 -0
  100. data/test/dummy/public/404.html +26 -0
  101. data/test/dummy/public/422.html +26 -0
  102. data/test/dummy/public/500.html +25 -0
  103. data/test/dummy/public/favicon.ico +0 -0
  104. data/test/dummy/script/rails +6 -0
  105. data/test/dummy/test/fixtures/myreplicator_exports.yml +0 -0
  106. data/test/dummy/tmp/cache/assets/C2E/D00/sprockets%2F667019818351638709494c01bddb5f68 +0 -0
  107. data/test/dummy/tmp/cache/assets/C83/BA0/sprockets%2F701a6339a558e5af28f150c161f43878 +0 -0
  108. data/test/dummy/tmp/cache/assets/C8B/150/sprockets%2F37163d05e55ad0b31b602ac5330412e3 +0 -0
  109. data/test/dummy/tmp/cache/assets/CBF/800/sprockets%2F00142a873933017aaa760316d0e2dcea +0 -0
  110. data/test/dummy/tmp/cache/assets/CC5/870/sprockets%2F4e91734f6f02a779d39f8272f627dd24 +0 -0
  111. data/test/dummy/tmp/cache/assets/CC9/1C0/sprockets%2Fa7a2b5a56180e1b21f783a9b30c03167 +0 -0
  112. data/test/dummy/tmp/cache/assets/CD5/B90/sprockets%2Fc999d13a6a21113981c0d820e8043bdf +0 -0
  113. data/test/dummy/tmp/cache/assets/CD7/030/sprockets%2F9ba4859590582b8b72a650b2b00b6cd2 +0 -0
  114. data/test/dummy/tmp/cache/assets/CDE/780/sprockets%2F6982ce9303b4e69c26f2a1a246a180e7 +0 -0
  115. data/test/dummy/tmp/cache/assets/CE5/670/sprockets%2Fe9e4122f1706626a21da6f8457f088ce +0 -0
  116. data/test/dummy/tmp/cache/assets/CF7/820/sprockets%2F6284656df87a7eb2545ed9b957560a7b +0 -0
  117. data/test/dummy/tmp/cache/assets/D00/9B0/sprockets%2F2bc203eb4802b393a589093debb65c04 +0 -0
  118. data/test/dummy/tmp/cache/assets/D00/A90/sprockets%2F3fa6fcf2205c530208681446cbc36bd3 +0 -0
  119. data/test/dummy/tmp/cache/assets/D0B/B30/sprockets%2F55059589d999952597c5c86e5becaf4e +0 -0
  120. data/test/dummy/tmp/cache/assets/D0D/DA0/sprockets%2F34d6b075a16a5a58ff4050988d8bd4b0 +0 -0
  121. data/test/dummy/tmp/cache/assets/D12/B40/sprockets%2F9c825562fe2a2a38bd6f41a635265bd9 +0 -0
  122. data/test/dummy/tmp/cache/assets/D1B/D40/sprockets%2F7cc2142509e95f7168a82a652d8d9dea +0 -0
  123. data/test/dummy/tmp/cache/assets/D1D/700/sprockets%2Ffe9cb975216709e2881c74b3d1d3e35f +0 -0
  124. data/test/dummy/tmp/cache/assets/D20/A20/sprockets%2Fb503e93ff1966dd94d03e79f291d75c1 +0 -0
  125. data/test/dummy/tmp/cache/assets/D26/A70/sprockets%2F63d95ae156df465783cd78e95069b2cc +0 -0
  126. data/test/dummy/tmp/cache/assets/D2B/E60/sprockets%2F8615ecf645b553c959544af9ff8438da +0 -0
  127. data/test/dummy/tmp/cache/assets/D34/F70/sprockets%2Fb93de9992473bee94e369fe3198c529c +0 -0
  128. data/test/dummy/tmp/cache/assets/D36/4D0/sprockets%2Fc050a64b5a803a638e155d05dcfe577d +0 -0
  129. data/test/dummy/tmp/cache/assets/D3E/310/sprockets%2F333a2a7535eac766267ebb7d5c2ab489 +0 -0
  130. data/test/dummy/tmp/cache/assets/D3F/A00/sprockets%2F7a803404e1f60b8d672d763cb9ba8af5 +0 -0
  131. data/test/dummy/tmp/cache/assets/D50/570/sprockets%2F6c1d20a178f66e798958d1e437fdb5da +0 -0
  132. data/test/dummy/tmp/cache/assets/D57/420/sprockets%2F937ea7429c536578ec7b688dee0cdf41 +0 -0
  133. data/test/dummy/tmp/cache/assets/D69/6F0/sprockets%2F94fff7f55bc4c300b25f3f9361ac1a52 +0 -0
  134. data/test/dummy/tmp/cache/assets/D86/D00/sprockets%2Fa4f32b4234d0d1bba272cd75e0d48e1d +0 -0
  135. data/test/dummy/tmp/cache/assets/D8B/B60/sprockets%2Faa32227c440a378ccd21218eefeb80bf +0 -0
  136. data/test/dummy/tmp/cache/assets/D9F/0B0/sprockets%2Faf0d2e69be3a6b56a76c20bf14d9e468 +0 -0
  137. data/test/dummy/tmp/cache/assets/DA8/910/sprockets%2Fab5775c4a837bd4d97ac394d473cda9b +0 -0
  138. data/test/dummy/tmp/cache/assets/DC0/100/sprockets%2F7a5d4f0d352bceed0dce0449c82251bd +0 -0
  139. data/test/dummy/tmp/cache/assets/DD2/490/sprockets%2Fa452ee92a092bc2feabc572cce49896d +0 -0
  140. data/test/dummy/tmp/cache/assets/DE1/320/sprockets%2F9f44ecdec8ceeef70871e15d88a448b1 +0 -0
  141. data/test/dummy/tmp/cache/assets/DF8/5D0/sprockets%2Fb815ed34d61cfed96222daa3bfd1d84d +0 -0
  142. data/test/dummy/tmp/cache/assets/E16/C70/sprockets%2F21ad93418ff75ceac86c7a85dfffe8f6 +0 -0
  143. data/test/dummy/tmp/cache/assets/E35/4F0/sprockets%2F96b1cdf8db6a1c8eb8abcce05958ae74 +0 -0
  144. data/test/dummy/tmp/cache/assets/E4E/300/sprockets%2Fefaae6e1a19a7c8f3acebdd5a36a6103 +0 -0
  145. data/test/fixtures/myreplicator/exports.yml +11 -0
  146. data/test/functional/myreplicator/exports_controller_test.rb +51 -0
  147. data/test/integration/navigation_test.rb +10 -0
  148. data/test/myreplicator_test.rb +7 -0
  149. data/test/test_helper.rb +15 -0
  150. data/test/unit/helpers/myreplicator/exports_helper_test.rb +6 -0
  151. data/test/unit/myreplicator/export_test.rb +10 -0
  152. data/test/unit/myreplicator/exporter_test.rb +11 -0
  153. data/test/unit/myreplicator/exporter_test.rb~ +10 -0
  154. metadata +410 -0
@@ -0,0 +1,37 @@
1
+ Dummy::Application.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb
3
+
4
+ # The test environment is used exclusively to run your application's
5
+ # test suite. You never need to work with it otherwise. Remember that
6
+ # your test database is "scratch space" for the test suite and is wiped
7
+ # and recreated between test runs. Don't rely on the data there!
8
+ config.cache_classes = true
9
+
10
+ # Configure static asset server for tests with Cache-Control for performance
11
+ config.serve_static_assets = true
12
+ config.static_cache_control = "public, max-age=3600"
13
+
14
+ # Log error messages when you accidentally call methods on nil
15
+ config.whiny_nils = true
16
+
17
+ # Show full error reports and disable caching
18
+ config.consider_all_requests_local = true
19
+ config.action_controller.perform_caching = false
20
+
21
+ # Raise exceptions instead of rendering exception templates
22
+ config.action_dispatch.show_exceptions = false
23
+
24
+ # Disable request forgery protection in test environment
25
+ config.action_controller.allow_forgery_protection = false
26
+
27
+ # Tell Action Mailer not to deliver emails to the real world.
28
+ # The :test delivery method accumulates sent emails in the
29
+ # ActionMailer::Base.deliveries array.
30
+ config.action_mailer.delivery_method = :test
31
+
32
+ # Raise exception on mass assignment protection for Active Record models
33
+ config.active_record.mass_assignment_sanitizer = :strict
34
+
35
+ # Print deprecation notices to the stderr
36
+ config.active_support.deprecation = :stderr
37
+ end
@@ -0,0 +1,7 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
4
+ # Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
5
+
6
+ # You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
7
+ # Rails.backtrace_cleaner.remove_silencers!
@@ -0,0 +1,15 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Add new inflection rules using the following format
4
+ # (all these examples are active by default):
5
+ # ActiveSupport::Inflector.inflections do |inflect|
6
+ # inflect.plural /^(ox)$/i, '\1en'
7
+ # inflect.singular /^(ox)en/i, '\1'
8
+ # inflect.irregular 'person', 'people'
9
+ # inflect.uncountable %w( fish sheep )
10
+ # end
11
+ #
12
+ # These inflection rules are supported but not enabled by default:
13
+ # ActiveSupport::Inflector.inflections do |inflect|
14
+ # inflect.acronym 'RESTful'
15
+ # end
@@ -0,0 +1,5 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Add new mime types for use in respond_to blocks:
4
+ # Mime::Type.register "text/richtext", :rtf
5
+ # Mime::Type.register_alias "text/html", :iphone
@@ -0,0 +1,7 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Your secret key for verifying the integrity of signed cookies.
4
+ # If you change this key, all old signed cookies will become invalid!
5
+ # Make sure the secret is at least 30 characters and all random,
6
+ # no regular words or you'll be exposed to dictionary attacks.
7
+ Dummy::Application.config.secret_token = 'ec66c72b79e785ff27b3a1ca0da66cea5d01b8193187fe55aabfe3b0065e3d958fdc4176f1c4c66c12b3dad5117ec8f654242b85e688226b3b92d449cbe6e006'
@@ -0,0 +1,8 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ Dummy::Application.config.session_store :cookie_store, key: '_dummy_session'
4
+
5
+ # Use the database for sessions instead of the cookie-based default,
6
+ # which shouldn't be used to store highly confidential information
7
+ # (create the session table with "rails generate session_migration")
8
+ # Dummy::Application.config.session_store :active_record_store
@@ -0,0 +1,14 @@
1
+ # Be sure to restart your server when you modify this file.
2
+ #
3
+ # This file contains settings for ActionController::ParamsWrapper which
4
+ # is enabled by default.
5
+
6
+ # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
7
+ ActiveSupport.on_load(:action_controller) do
8
+ wrap_parameters format: [:json]
9
+ end
10
+
11
+ # Disable root element in JSON by default.
12
+ ActiveSupport.on_load(:active_record) do
13
+ self.include_root_in_json = false
14
+ end
@@ -0,0 +1,5 @@
1
+ # Sample localization file for English. Add more files in this directory for other locales.
2
+ # See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
3
+
4
+ en:
5
+ hello: "Hello world"
@@ -0,0 +1,22 @@
1
+ myreplicator:
2
+ tmp_path: tmp/myreplicator
3
+ mysqldump: mysqldump
4
+ mysql: mysql
5
+ outfile_location: /tmp/myreplicator
6
+ escape_by: '"'
7
+ terminate_by: '\t'
8
+ enclosed_by: '"'
9
+ lines_terminate_by: '\n'
10
+
11
+ okl_dev:
12
+ ssh_host: localhost
13
+ ssh_user: guest
14
+ ssh_password: sasan
15
+ ssh_tmp_dir: /home/guest
16
+
17
+ okl_test:
18
+ ssh_host: 54.243.176.8
19
+ ssh_user: ubuntu
20
+ ssh_db_host: 127.0.0.1
21
+ ssh_private_key: ~/.ssh/oklbi-team.pem
22
+ ssh_tmp_dir: /home/ubuntu/myreplicator_tmp
@@ -0,0 +1,23 @@
1
+ myreplicator:
2
+ tmp_path:
3
+ mysqldump: mysqldump
4
+ mysqlimport: mysqlimport
5
+ mysql: mysql
6
+ outfile_location: /tmp/myreplicator
7
+ escape_by: '"'
8
+ terminate_by: '\t'
9
+ enclosed_by: '"'
10
+ lines_terminate_by: '\n'
11
+
12
+ okl_dev:
13
+ ssh_host: localhost
14
+ ssh_user: guest
15
+ ssh_password: sasan
16
+ ssh_tmp_dir: /home/guest
17
+
18
+ okl_test:
19
+ ssh_host: 54.243.176.8
20
+ ssh_user: ubuntu
21
+ ssh_db_host: 127.0.0.1
22
+ ssh_private_key: ~/.ssh/oklbi-team.pem
23
+ ssh_tmp_dir: /home/ubuntu/myreplicator_tmp
@@ -0,0 +1,21 @@
1
+ myreplicator:
2
+ tmp_path: tmp/myreplicator
3
+ mysqldump: mysqldump
4
+ mysql: mysql
5
+ outfile_location: /tmp/myreplicator
6
+ escape_by: '"'
7
+ terminate_by: '\t'
8
+ enclosed_by: '"'
9
+ lines_terminate_by: '\n'
10
+
11
+ okl_dev:
12
+ ssh_host: localhost
13
+ ssh_user: guest
14
+ ssh_password: sasan
15
+ ssh_tmp_dir: /home/guest
16
+
17
+ okl_test:
18
+ ssh_host: 54.243.176.8
19
+ ssh_user: ubuntu
20
+ ssh_private_key: ~/.ssh/oklbi-team.pem
21
+ ssh_tmp_dir: /home/ubuntu/myreplicator_tmp
@@ -0,0 +1,4 @@
1
+ Rails.application.routes.draw do
2
+
3
+ mount Myreplicator::Engine => "/myreplicator"
4
+ end
@@ -0,0 +1,4 @@
1
+ # This file is used by Rack-based servers to start the application.
2
+
3
+ require ::File.expand_path('../config/environment', __FILE__)
4
+ run Dummy::Application
@@ -0,0 +1,24 @@
1
+ class SampleData < ActiveRecord::Migration
2
+ def up
3
+ execute "drop table if EXISTS myreplicator.my_test"
4
+
5
+ sql =<<EOT
6
+
7
+ CREATE TABLE IF NOT EXISTS `myreplicator`.`my_test` (
8
+ `id` INT NULL AUTO_INCREMENT ,
9
+ `desc` VARCHAR(45) NULL ,
10
+ `updated_at` DATETIME NULL ,
11
+ PRIMARY KEY (`id`) );
12
+
13
+ EOT
14
+ execute sql
15
+
16
+ execute "INSERT INTO `myreplicator`.`my_test` (`id`, `desc`, `updated_at`) VALUES (1, 'test 1', '2012-10-31 10:10:00');"
17
+ execute "INSERT INTO `myreplicator`.`my_test` (`id`, `desc`, `updated_at`) VALUES (2, '2', '2012-10-31 10:11:00');"
18
+
19
+ end
20
+
21
+ def down
22
+ execute "drop table if EXISTS myreplicator.my_test"
23
+ end
24
+ end
@@ -0,0 +1,36 @@
1
+ # This migration comes from myreplicator (originally 20121025191622)
2
+ class CreateMyreplicatorExports < ActiveRecord::Migration
3
+ def change
4
+ create_table :myreplicator_exports do |t|
5
+ t.string :source_schema
6
+ t.string :destination_schema
7
+ t.string :table_name
8
+ t.string :incremental_column
9
+ t.string :max_incremental_value
10
+ t.string :incremental_column_type
11
+ t.string :export_to, :default => "destination_db"
12
+ t.string :export_type, :default => "incremental"
13
+ t.string :s3_path
14
+ t.string :cron
15
+ t.string :state, :default => "new"
16
+ t.text :error
17
+ t.boolean :active, :default => true
18
+ t.integer :exporter_pid
19
+ t.integer :transporter_pid
20
+ t.integer :loader_pid
21
+ t.datetime :export_started_at, :default => nil
22
+ t.datetime :export_finished_at, :default => nil
23
+ t.datetime :load_started_at, :default => nil
24
+ t.datetime :load_finished_at, :default => nil
25
+ t.datetime :transfer_started_at, :default => nil
26
+ t.datetime :transfer_finished_at, :default => nil
27
+ t.timestamps
28
+ end
29
+ add_index :myreplicator_exports, [:source_schema, :destination_schema, :table_name], :unique => true, :name => "unique_index"
30
+ end
31
+
32
+ def self.down
33
+ drop_table :myreplicator_exports
34
+ end
35
+
36
+ end
@@ -0,0 +1,45 @@
1
+ # encoding: UTF-8
2
+ # This file is auto-generated from the current state of the database. Instead
3
+ # of editing this file, please use the migrations feature of Active Record to
4
+ # incrementally modify your database, and then regenerate this schema definition.
5
+ #
6
+ # Note that this schema.rb definition is the authoritative source for your
7
+ # database schema. If you need to create the application database on another
8
+ # system, you should be using db:schema:load, not running all the migrations
9
+ # from scratch. The latter is a flawed and unsustainable approach (the more migrations
10
+ # you'll amass, the slower it'll run and the greater likelihood for issues).
11
+ #
12
+ # It's strongly recommended to check this file into your version control system.
13
+
14
+ ActiveRecord::Schema.define(:version => 20121115194022) do
15
+
16
+ create_table "myreplicator_exports", :force => true do |t|
17
+ t.string "source_schema"
18
+ t.string "destination_schema"
19
+ t.string "table_name"
20
+ t.string "incremental_column"
21
+ t.string "max_incremental_value"
22
+ t.string "incremental_column_type"
23
+ t.string "export_to", :default => "destination_db"
24
+ t.string "export_type", :default => "incremental"
25
+ t.string "s3_path"
26
+ t.string "cron"
27
+ t.string "state", :default => "new"
28
+ t.text "error"
29
+ t.boolean "active", :default => true
30
+ t.integer "exporter_pid"
31
+ t.integer "transporter_pid"
32
+ t.integer "loader_pid"
33
+ t.datetime "export_started_at"
34
+ t.datetime "export_finished_at"
35
+ t.datetime "load_started_at"
36
+ t.datetime "load_finished_at"
37
+ t.datetime "transfer_started_at"
38
+ t.datetime "transfer_finished_at"
39
+ t.datetime "created_at", :null => false
40
+ t.datetime "updated_at", :null => false
41
+ end
42
+
43
+ add_index "myreplicator_exports", ["source_schema", "destination_schema", "table_name"], :name => "unique_index", :unique => true
44
+
45
+ end
@@ -0,0 +1,13 @@
1
+ require 'active_record/fixtures'
2
+
3
+ ["batchy_batches"].each do |tname|
4
+ puts tname
5
+ Myreplicator::Export.find_or_create_by_table_name!(:table_name => tname,
6
+ :source_schema => "okl_test",
7
+ :destination_schema => "myreplicator",
8
+ :incremental_column => "updated_at",
9
+ :incremental_column_type => "datetime",
10
+ :cron => "2 * * * *")
11
+ end
12
+
13
+ # ActiveRecord::Fixtures.create_fixtures("#{Rails.root}/test/fixtures", "myreplicator_exports")
@@ -0,0 +1 @@
1
+ [""