foreigner 1.7.1 → 1.7.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/foreigner.rb +1 -0
- data/lib/foreigner/helper.rb +13 -0
- data/lib/foreigner/schema_dumper.rb +4 -0
- data/test/foreigner/schema_dumper_test.rb +11 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9659be7bd66b453f51a66ce111a04948edd03019
|
4
|
+
data.tar.gz: 1690901601fc8957e2bf57bad7c9ea7403c82733
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ffd1cd048c62f8711d3f552f1bab29a9b8fe9585160804f5a8de4b3cb032f3cc45a30d05451ab8b1156ec65fee0dc58f7e1feb831999e7591c0c3dab75e6ca9f
|
7
|
+
data.tar.gz: 41230bd111817bcb7ac80b20377c8945f7975fdc4e54a9757f1de2a0cc38b19b9d9002461600bd18aa5e9cc8a0c98951e5008aa2e83f9693524c7ed783233f9a
|
data/lib/foreigner.rb
CHANGED
@@ -33,4 +33,5 @@ Foreigner::Adapter.register 'jdbcpostgresql', 'foreigner/connection_adapters/pos
|
|
33
33
|
Foreigner::Adapter.register 'sqlite3', 'foreigner/connection_adapters/noop_adapter'
|
34
34
|
|
35
35
|
require 'foreigner/loader'
|
36
|
+
require 'foreigner/helper'
|
36
37
|
require 'foreigner/railtie' if defined?(Rails)
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Foreigner
|
2
|
+
module Helper
|
3
|
+
def self.active_record_version
|
4
|
+
if ::ActiveRecord.respond_to? :version
|
5
|
+
ActiveRecord.version.to_s
|
6
|
+
elsif ::ActiveRecord::VERSION
|
7
|
+
::ActiveRecord::VERSION
|
8
|
+
else
|
9
|
+
raise "Unknown ActiveRecord Version API"
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -42,6 +42,10 @@ module Foreigner
|
|
42
42
|
|
43
43
|
def tables_with_foreign_keys(stream)
|
44
44
|
tables_without_foreign_keys(stream)
|
45
|
+
# Ensure Foreigner to be initialized before running foreign_keys.
|
46
|
+
# This is required since schema::load is not initializing the environment
|
47
|
+
# anymore in Rails 4.1.9 (https://github.com/rails/rails/commit/5d6bb89f)
|
48
|
+
stream.puts ' Foreigner.load' if Foreigner::Helper.active_record_version == '4.1.9'
|
45
49
|
@connection.tables.sort.each do |table|
|
46
50
|
next if ['schema_migrations', ignore_tables].flatten.any? do |ignored|
|
47
51
|
case ignored
|
@@ -11,7 +11,7 @@ class Foreigner::SchemaDumperTest < Foreigner::UnitTest
|
|
11
11
|
class MockSchemaDumper
|
12
12
|
cattr_accessor :ignore_tables
|
13
13
|
|
14
|
-
attr_accessor :processed_tables
|
14
|
+
attr_accessor :processed_tables, :stream
|
15
15
|
def initialize
|
16
16
|
@connection = MockConnection.new
|
17
17
|
@processed_tables = []
|
@@ -21,6 +21,7 @@ class Foreigner::SchemaDumperTest < Foreigner::UnitTest
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def foreign_keys(table, stream)
|
24
|
+
self.stream = stream
|
24
25
|
processed_tables << table
|
25
26
|
end
|
26
27
|
|
@@ -49,6 +50,15 @@ class Foreigner::SchemaDumperTest < Foreigner::UnitTest
|
|
49
50
|
assert_equal ['bar'].to_set, dumper.processed_tables.to_set
|
50
51
|
end
|
51
52
|
|
53
|
+
test '4.1.9 loading error' do
|
54
|
+
Foreigner::Helper.stubs(:active_record_version).returns("4.1.9")
|
55
|
+
MockSchemaDumper.ignore_tables = []
|
56
|
+
dumper = MockSchemaDumper.new
|
57
|
+
dumper.tables(StringIO.new)
|
58
|
+
|
59
|
+
assert_match(/Foreigner\.load/, dumper.stream.string)
|
60
|
+
end
|
61
|
+
|
52
62
|
test 'removes table name suffix and prefix' do
|
53
63
|
begin
|
54
64
|
ActiveRecord::Base.table_name_prefix = 'pre_'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreigner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.7.
|
4
|
+
version: 1.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew Higgins
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-01-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -73,6 +73,7 @@ files:
|
|
73
73
|
- lib/foreigner/connection_adapters/noop_adapter.rb
|
74
74
|
- lib/foreigner/connection_adapters/postgresql_adapter.rb
|
75
75
|
- lib/foreigner/connection_adapters/sql2003.rb
|
76
|
+
- lib/foreigner/helper.rb
|
76
77
|
- lib/foreigner/loader.rb
|
77
78
|
- lib/foreigner/migration/command_recorder.rb
|
78
79
|
- lib/foreigner/railtie.rb
|