ridgepole-rails 1.0.2 → 1.0.3
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 69049e4874316519f312e8f5903e7b293fdaaf57
|
4
|
+
data.tar.gz: 7cd7ea48280f524858b1227f3c5ff6583314502c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b09690dba1a5d24d3555d340140aa9e0131a25d1f81e03e8a92a80adb16fc43b2d2b4d33e6a07faef00ad70bdfdd7302c170bd3f2deb68f03912da09ad3a8ff9
|
7
|
+
data.tar.gz: eb987e84629819549303714bdf70f73b0029e96cbf175e7db1d4a46b1d2949946c3fc57730e0c89c8841c4d368884bb91bc96aa08f051a34f8e39ef3f7828feb
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'active_record/base'
|
2
|
+
require 'active_record/tasks/database_tasks'
|
3
|
+
require 'active_support/core_ext/module/delegation'
|
4
|
+
|
5
|
+
module Ridgepole
|
6
|
+
module Rails
|
7
|
+
module RestoreExtensionsOnPurge
|
8
|
+
delegate :establish_connection, :connection, to: ActiveRecord::Base
|
9
|
+
|
10
|
+
# Restore extensions to recreated database if any
|
11
|
+
def purge(configuration)
|
12
|
+
establish_connection(configuration)
|
13
|
+
saved_extensions = connection.extensions
|
14
|
+
|
15
|
+
super
|
16
|
+
|
17
|
+
# Re-establish connection since the last one is closed by super#purge
|
18
|
+
establish_connection(configuration)
|
19
|
+
saved_extensions.each do |extension|
|
20
|
+
connection.enable_extension(extension)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.prepended(mod)
|
25
|
+
mod.extend(self)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
module ActiveRecord
|
32
|
+
module Tasks
|
33
|
+
module DatabaseTasks
|
34
|
+
prepend Ridgepole::Rails::RestoreExtensionsOnPurge
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
data/lib/tasks/ridgepole.rake
CHANGED
@@ -21,7 +21,7 @@ desc 'Apply Schemafile to the database'
|
|
21
21
|
task 'db:schema:load' => 'ridgepole:apply'
|
22
22
|
|
23
23
|
Rake.application.lookup('db:test:load').clear
|
24
|
-
task 'db:test:load' do
|
24
|
+
task 'db:test:load' => 'db:test:purge' do
|
25
25
|
Rake::Task['ridgepole:apply'].invoke('test')
|
26
26
|
end
|
27
27
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ridgepole-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OZAWA Sakuro
|
@@ -67,6 +67,7 @@ files:
|
|
67
67
|
- lib/ridgepole/rails.rb
|
68
68
|
- lib/ridgepole/rails/engine.rb
|
69
69
|
- lib/ridgepole/rails/rake_task.rb
|
70
|
+
- lib/ridgepole/rails/restore_extensions_on_purge.rb
|
70
71
|
- lib/ridgepole/rails/version.rb
|
71
72
|
- lib/tasks/ridgepole.rake
|
72
73
|
homepage: https://github.com/sakuro/ridgepole-rails
|