schema_plus 2.0.0.pre7 → 2.0.0.pre8
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 +4 -4
- data/README.md +1 -3
- data/lib/schema_plus.rb +0 -1
- data/lib/schema_plus/foreign_keys.rb +1 -1
- data/lib/schema_plus/foreign_keys/active_record/base.rb +2 -2
- data/lib/schema_plus/foreign_keys/active_record/connection_adapters/abstract_adapter.rb +0 -13
- data/lib/schema_plus/foreign_keys/active_record/connection_adapters/foreign_key_definition.rb +4 -4
- data/lib/schema_plus/foreign_keys/middleware/migration.rb +13 -0
- data/lib/schema_plus/foreign_keys/{active_record → middleware}/schema.rb +4 -5
- data/lib/schema_plus/version.rb +1 -1
- data/schema_plus.gemspec +1 -1
- metadata +6 -12
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0f841ad3a38cc1fc65ca2ddf36fdd44568165445
|
|
4
|
+
data.tar.gz: bc199b47eb9924938016e662d9c060417fa817ba
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0b081af031147830bde1beba8c2481ec9c987b8d8d529b1383cf234e900bfec973ef9adfa5123df5d919975da4a91ef3680fc8553874698b0cb7830bbfc64933
|
|
7
|
+
data.tar.gz: 91e463eea4332315156e6a1444f5b599f496f72211c2b907191f749b3c4b0e19283759d643c649e023de7d19b6699a54ea8e276273ac2433e9a34f78bc4f0d3c
|
data/README.md
CHANGED
|
@@ -24,7 +24,7 @@ Gem | Description | Included In `schema_plus` gem?
|
|
|
24
24
|
<p style="color:grey">schema_plus_foreign_keys | Extended support for foreign keys, including creation as column options, `:deferrable`, and SQLite3 support | Y
|
|
25
25
|
[schema_plus_indexes](https://github.com/SchemaPlus/schema_plus_indexes) | Convenience and consistency in using indexes | Y
|
|
26
26
|
[schema_plus_pg_indexes](https://github.com/SchemaPlus/schema_plus_pg_indexes) |PostgreSQL index features: `case_insenstive`, `expression` and `operator_class` | Y
|
|
27
|
-
[schema_plus_tables](https://github.com/SchemaPlus/
|
|
27
|
+
[schema_plus_tables](https://github.com/SchemaPlus/schema_plus_tables) | Convenience and consistency in using tables | Y
|
|
28
28
|
[schema_plus_views](https://github.com/SchemaPlus/schema_plus_views) | Create and drop views in migrations | Y
|
|
29
29
|
[schema_validations](https://github.com/SchemaPlus/schema_validations) | Automatically defines ActiveRecord validations based on database constraints |
|
|
30
30
|
|
|
@@ -95,8 +95,6 @@ or in a Gemfile
|
|
|
95
95
|
|
|
96
96
|
gem "schema_plus"
|
|
97
97
|
|
|
98
|
-
`schema_plus` includes [schema_monkey_rails](https://github.com/SchemaPlus/schema_monkey_rails) so it will automatically be inserted in Rails apps. To use with Padrino, see [schema_monkey_padrino](https://github.com/SchemaPlus/schema_monkey_padrino)
|
|
99
|
-
|
|
100
98
|
## History
|
|
101
99
|
|
|
102
100
|
* See [CHANGELOG](CHANGELOG.md) for per-version release notes.
|
data/lib/schema_plus.rb
CHANGED
|
@@ -5,13 +5,13 @@ require_relative 'foreign_keys/version'
|
|
|
5
5
|
require_relative 'foreign_keys/active_record/base'
|
|
6
6
|
require_relative 'foreign_keys/active_record/connection_adapters/abstract_adapter'
|
|
7
7
|
require_relative 'foreign_keys/active_record/connection_adapters/table_definition'
|
|
8
|
-
require_relative 'foreign_keys/active_record/schema'
|
|
9
8
|
require_relative 'foreign_keys/active_record/connection_adapters/foreign_key_definition'
|
|
10
9
|
require_relative 'foreign_keys/active_record/migration/command_recorder'
|
|
11
10
|
require_relative 'foreign_keys/middleware/dumper'
|
|
12
11
|
require_relative 'foreign_keys/middleware/migration'
|
|
13
12
|
require_relative 'foreign_keys/middleware/model'
|
|
14
13
|
require_relative 'foreign_keys/middleware/mysql'
|
|
14
|
+
require_relative 'foreign_keys/middleware/schema'
|
|
15
15
|
require_relative 'foreign_keys/middleware/sql'
|
|
16
16
|
|
|
17
17
|
module SchemaPlus::ForeignKeys
|
|
@@ -18,13 +18,13 @@ module SchemaPlus::ForeignKeys
|
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
def reset_foreign_key_information
|
|
21
|
-
@foreign_keys = nil
|
|
21
|
+
@foreign_keys = @reverse_foreign_keys = nil
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
# Returns a list of ForeignKeyDefinition objects, for each foreign
|
|
25
25
|
# key constraint of other tables that refer to this model's table
|
|
26
26
|
def reverse_foreign_keys
|
|
27
|
-
connection.reverse_foreign_keys(table_name, "#{name} Reverse Foreign Keys")
|
|
27
|
+
@reverse_foreign_keys ||= connection.reverse_foreign_keys(table_name, "#{name} Reverse Foreign Keys")
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
end
|
|
@@ -12,19 +12,6 @@ module SchemaPlus::ForeignKeys
|
|
|
12
12
|
#
|
|
13
13
|
module AbstractAdapter
|
|
14
14
|
|
|
15
|
-
def create_table(table, options = {})
|
|
16
|
-
options = options.dup
|
|
17
|
-
config_options = options.delete(:foreign_keys) || {}
|
|
18
|
-
|
|
19
|
-
# override rails' :force to cascade
|
|
20
|
-
# drop_table(table, if_exists: true, force: true) if options.delete(:force)
|
|
21
|
-
|
|
22
|
-
super(table, options) do |table_definition|
|
|
23
|
-
table_definition.schema_plus_config = SchemaPlus::ForeignKeys.config.merge(config_options)
|
|
24
|
-
yield table_definition if block_given?
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
|
|
28
15
|
# Define a foreign key constraint. Valid options are :on_update,
|
|
29
16
|
# :on_delete, and :deferrable, with values as described at
|
|
30
17
|
# ConnectionAdapters::ForeignKeyDefinition
|
data/lib/schema_plus/foreign_keys/active_record/connection_adapters/foreign_key_definition.rb
CHANGED
|
@@ -18,22 +18,22 @@ module SchemaPlus::ForeignKeys
|
|
|
18
18
|
module ForeignKeyDefinition
|
|
19
19
|
|
|
20
20
|
def column_names
|
|
21
|
-
ActiveSupport::Deprecation.warn "ForeignKeyDefinition#column_names is
|
|
21
|
+
ActiveSupport::Deprecation.warn "ForeignKeyDefinition#column_names is deprecated, use Array.wrap(column)"
|
|
22
22
|
Array.wrap(column)
|
|
23
23
|
end
|
|
24
24
|
|
|
25
25
|
def references_column_names
|
|
26
|
-
ActiveSupport::Deprecation.warn "ForeignKeyDefinition#references_column_names is
|
|
26
|
+
ActiveSupport::Deprecation.warn "ForeignKeyDefinition#references_column_names is deprecated, use Array.wrap(primary_key)"
|
|
27
27
|
Array.wrap(primary_key)
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
def references_table_name
|
|
31
|
-
ActiveSupport::Deprecation.warn "ForeignKeyDefinition#references_table_name is
|
|
31
|
+
ActiveSupport::Deprecation.warn "ForeignKeyDefinition#references_table_name is deprecated, use #to_table"
|
|
32
32
|
to_table
|
|
33
33
|
end
|
|
34
34
|
|
|
35
35
|
def table_name
|
|
36
|
-
ActiveSupport::Deprecation.warn "ForeignKeyDefinition#table_name is
|
|
36
|
+
ActiveSupport::Deprecation.warn "ForeignKeyDefinition#table_name is deprecated, use #from_table"
|
|
37
37
|
from_table
|
|
38
38
|
end
|
|
39
39
|
|
|
@@ -2,6 +2,19 @@ module SchemaPlus::ForeignKeys
|
|
|
2
2
|
module Middleware
|
|
3
3
|
module Migration
|
|
4
4
|
|
|
5
|
+
module CreateTable
|
|
6
|
+
def around(env)
|
|
7
|
+
if (original_block = env.block)
|
|
8
|
+
config_options = env.options.delete(:foreign_keys) || {}
|
|
9
|
+
env.block = -> (table_definition) {
|
|
10
|
+
table_definition.schema_plus_config = SchemaPlus::ForeignKeys.config.merge(config_options)
|
|
11
|
+
original_block.call table_definition
|
|
12
|
+
}
|
|
13
|
+
end
|
|
14
|
+
yield env
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
5
18
|
module Column
|
|
6
19
|
|
|
7
20
|
#
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
module SchemaPlus::ForeignKeys
|
|
2
|
-
module
|
|
2
|
+
module Middleware
|
|
3
3
|
module Schema
|
|
4
|
-
module
|
|
5
|
-
|
|
6
|
-
def define(*args)
|
|
4
|
+
module Define
|
|
5
|
+
def around(env)
|
|
7
6
|
fk_override = { :auto_create => false, :auto_index => false }
|
|
8
7
|
save = Hash[fk_override.keys.collect{|key| [key, SchemaPlus::ForeignKeys.config.send(key)]}]
|
|
9
8
|
begin
|
|
10
9
|
SchemaPlus::ForeignKeys.config.update_attributes(fk_override)
|
|
11
|
-
|
|
10
|
+
yield env
|
|
12
11
|
ensure
|
|
13
12
|
SchemaPlus::ForeignKeys.config.update_attributes(save)
|
|
14
13
|
end
|
data/lib/schema_plus/version.rb
CHANGED
data/schema_plus.gemspec
CHANGED
|
@@ -24,7 +24,7 @@ Gem::Specification.new do |gem|
|
|
|
24
24
|
gem.add_dependency "activerecord", "~> 4.2"
|
|
25
25
|
gem.add_dependency "valuable"
|
|
26
26
|
gem.add_dependency "schema_plus_core", "~> 0.2"
|
|
27
|
-
gem.add_dependency "
|
|
27
|
+
gem.add_dependency "schema_monkey", "~> 2.1"
|
|
28
28
|
gem.add_dependency "schema_plus_columns", "~> 0.1"
|
|
29
29
|
gem.add_dependency "schema_plus_indexes", "~> 0.1", ">= 0.1.3"
|
|
30
30
|
gem.add_dependency "schema_plus_pg_indexes", "~> 0.1", ">= 0.1.3"
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: schema_plus
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.0.0.
|
|
4
|
+
version: 2.0.0.pre8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ronen Barzel
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2015-02-
|
|
12
|
+
date: 2015-02-27 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: activerecord
|
|
@@ -54,25 +54,19 @@ dependencies:
|
|
|
54
54
|
- !ruby/object:Gem::Version
|
|
55
55
|
version: '0.2'
|
|
56
56
|
- !ruby/object:Gem::Dependency
|
|
57
|
-
name:
|
|
57
|
+
name: schema_monkey
|
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
|
59
59
|
requirements:
|
|
60
60
|
- - "~>"
|
|
61
61
|
- !ruby/object:Gem::Version
|
|
62
|
-
version: '
|
|
63
|
-
- - ">="
|
|
64
|
-
- !ruby/object:Gem::Version
|
|
65
|
-
version: 0.1.2
|
|
62
|
+
version: '2.1'
|
|
66
63
|
type: :runtime
|
|
67
64
|
prerelease: false
|
|
68
65
|
version_requirements: !ruby/object:Gem::Requirement
|
|
69
66
|
requirements:
|
|
70
67
|
- - "~>"
|
|
71
68
|
- !ruby/object:Gem::Version
|
|
72
|
-
version: '
|
|
73
|
-
- - ">="
|
|
74
|
-
- !ruby/object:Gem::Version
|
|
75
|
-
version: 0.1.2
|
|
69
|
+
version: '2.1'
|
|
76
70
|
- !ruby/object:Gem::Dependency
|
|
77
71
|
name: schema_plus_columns
|
|
78
72
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -286,11 +280,11 @@ files:
|
|
|
286
280
|
- lib/schema_plus/foreign_keys/active_record/connection_adapters/sqlite3_adapter.rb
|
|
287
281
|
- lib/schema_plus/foreign_keys/active_record/connection_adapters/table_definition.rb
|
|
288
282
|
- lib/schema_plus/foreign_keys/active_record/migration/command_recorder.rb
|
|
289
|
-
- lib/schema_plus/foreign_keys/active_record/schema.rb
|
|
290
283
|
- lib/schema_plus/foreign_keys/middleware/dumper.rb
|
|
291
284
|
- lib/schema_plus/foreign_keys/middleware/migration.rb
|
|
292
285
|
- lib/schema_plus/foreign_keys/middleware/model.rb
|
|
293
286
|
- lib/schema_plus/foreign_keys/middleware/mysql.rb
|
|
287
|
+
- lib/schema_plus/foreign_keys/middleware/schema.rb
|
|
294
288
|
- lib/schema_plus/foreign_keys/middleware/sql.rb
|
|
295
289
|
- lib/schema_plus/foreign_keys/version.rb
|
|
296
290
|
- lib/schema_plus/version.rb
|