schema_plus 2.0.0.pre15 → 2.0.0.pre16
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 +6 -78
- data/lib/schema_plus.rb +1 -0
- data/lib/schema_plus/auto_foreign_keys.rb +31 -0
- data/lib/schema_plus/auto_foreign_keys/active_record/connection_adapters/sqlite3_adapter.rb +22 -0
- data/lib/schema_plus/auto_foreign_keys/active_record/migration/command_recorder.rb +14 -0
- data/lib/schema_plus/auto_foreign_keys/middleware/migration.rb +66 -0
- data/lib/schema_plus/{foreign_keys → auto_foreign_keys}/middleware/schema.rb +1 -1
- data/lib/schema_plus/version.rb +1 -1
- data/schema_plus.gemspec +2 -1
- data/spec/{schema_plus_foreign_keys → schema_auto_foreign_keys}/foreign_key_spec.rb +0 -0
- data/spec/{schema_plus_foreign_keys → schema_auto_foreign_keys}/migration_spec.rb +3 -2
- data/spec/{schema_plus_foreign_keys → schema_auto_foreign_keys}/schema_dumper_spec.rb +0 -0
- data/spec/{schema_plus_foreign_keys → schema_auto_foreign_keys}/schema_spec.rb +0 -0
- metadata +31 -32
- data/lib/schema_plus/foreign_keys.rb +0 -93
- data/lib/schema_plus/foreign_keys/active_record/base.rb +0 -33
- data/lib/schema_plus/foreign_keys/active_record/connection_adapters/abstract_adapter.rb +0 -168
- data/lib/schema_plus/foreign_keys/active_record/connection_adapters/foreign_key_definition.rb +0 -138
- data/lib/schema_plus/foreign_keys/active_record/connection_adapters/mysql2_adapter.rb +0 -126
- data/lib/schema_plus/foreign_keys/active_record/connection_adapters/postgresql_adapter.rb +0 -89
- data/lib/schema_plus/foreign_keys/active_record/connection_adapters/sqlite3_adapter.rb +0 -98
- data/lib/schema_plus/foreign_keys/active_record/connection_adapters/table_definition.rb +0 -108
- data/lib/schema_plus/foreign_keys/active_record/migration/command_recorder.rb +0 -35
- data/lib/schema_plus/foreign_keys/middleware/dumper.rb +0 -79
- data/lib/schema_plus/foreign_keys/middleware/migration.rb +0 -184
- data/lib/schema_plus/foreign_keys/middleware/model.rb +0 -15
- data/lib/schema_plus/foreign_keys/middleware/mysql.rb +0 -20
- data/lib/schema_plus/foreign_keys/middleware/sql.rb +0 -20
- data/lib/schema_plus/foreign_keys/version.rb +0 -3
- data/spec/schema_plus_foreign_keys/foreign_key_definition_spec.rb +0 -34
- data/spec/schema_plus_foreign_keys/named_schemas_spec.rb +0 -136
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c99278211ca16613b477d638db63506511855b55
|
4
|
+
data.tar.gz: 70bc7a4a0085cc04d381b2e013002d9516159174
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: abdc2561b776542283c32e85fb3ec6e37ae4a412114d45b268262a787777edfed250002f28906829294ad87f2ccf3104f783bb875539c78dada889bf3341856c
|
7
|
+
data.tar.gz: 9ff399f35e5a5efb6c2163912352355ab833769a6337b8105cebdcae05ca53849ae67e4c2a78fc533a9e123dd607d9d266f8b0772889454fb9f2d9be93496a23
|
data/README.md
CHANGED
@@ -15,7 +15,7 @@ Gem | Description | Included In `schema_plus` gem?
|
|
15
15
|
[schema_plus_db_default](https://github.com/SchemaPlus/schema_plus_db_default) | Use `ActiveRecord::DB_DEFAULT` to set an attribute to the database default | Y
|
16
16
|
[schema_plus_default_expr](https://github.com/SchemaPlus/schema_plus_default_expr) | Use SQL expressions for database default values | Y
|
17
17
|
[schema_plus_enums](https://github.com/SchemaPlus/schema_plus_enums) | Define enum types in migrations | Y
|
18
|
-
|
18
|
+
[schema_plus_foreign_keys](https://github.com/SchemaPlus/schema_plus_foreign_keys) | Extended support for foreign keys, including creation as column options, `:deferrable`, and SQLite3 support | Y
|
19
19
|
[schema_plus_indexes](https://github.com/SchemaPlus/schema_plus_indexes) | Convenience and consistency in using indexes | Y
|
20
20
|
[schema_plus_pg_indexes](https://github.com/SchemaPlus/schema_plus_pg_indexes) |PostgreSQL index features: `case_insenstive`, `expression` and `operator_class` | Y
|
21
21
|
[schema_plus_tables](https://github.com/SchemaPlus/schema_plus_tables) | Convenience and consistency in using tables | Y
|
@@ -35,7 +35,7 @@ See detailed documentation in each gem's README.
|
|
35
35
|
[](https://gemnasium.com/SchemaPlus/schema_plus)
|
36
36
|
|
37
37
|
|
38
|
-
> ## This is the README for schema_plus 2.0.0.
|
38
|
+
> ## This is the README for schema_plus 2.0.0.pre16
|
39
39
|
> which supports Rails >= 4.2.0. This prerelease is completely usable. It's still officially a prerelease rather than formal release because some features have yet to be migrated into their own gems.
|
40
40
|
>
|
41
41
|
> For info about the 1.x releases which support Rails 3.1, 4.0, 4.1, and 4.2.0, see the [schema_plus 1.x](https://github.com/SchemaPlus/schema_plus/tree/1.x) branch
|
@@ -120,13 +120,11 @@ or in a Gemfile
|
|
120
120
|
# Prerelease: Documentation of features still be moved into separate feature gems
|
121
121
|
|
122
122
|
|
123
|
-
|
123
|
+
### Auto Foreign Key Constraints
|
124
124
|
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
convention that you name a column with suffix `_id` to indicate that it's a
|
129
|
-
foreign key, SchemaPlus automatically defines the appropriate constraint.
|
125
|
+
SchemaPlus adds support for the common convention that you name a column
|
126
|
+
with suffix `_id` to indicate that it's a foreign key, SchemaPlus
|
127
|
+
automatically defines the appropriate constraint.
|
130
128
|
|
131
129
|
SchemaPlus also creates foreign key constraints for rails' `t.references` or
|
132
130
|
`t.belongs_to`, which take the singular of the referenced table name and
|
@@ -144,73 +142,3 @@ Here are some examples:
|
|
144
142
|
t.integer :author, foreign_key: true # non-conventional column name needs to force creation, table name is assumed to be 'authors'
|
145
143
|
t.integer :author_id, foreign_key: false # don't create a constraint
|
146
144
|
|
147
|
-
t.integer :author_id, foreign_key: { references: :authors } # same as automatic behavior
|
148
|
-
t.integer :author, foreign_key: { reference: :authors} # same default name
|
149
|
-
t.integer :author_id, foreign_key: { references: [:authors, :id] } # same as automatic behavior
|
150
|
-
t.integer :author_id, foreign_key: { references: :people } # override table name
|
151
|
-
t.integer :author_id, foreign_key: { references: [:people, :ssn] } # override table name and key
|
152
|
-
t.integer :author_id, foreign_key: { references: nil } # don't create a constraint
|
153
|
-
t.integer :author_id, foreign_key: { name: "my_fk" } # override default generated constraint name
|
154
|
-
t.integer :author_id, foreign_key: { on_delete: :cascade }
|
155
|
-
t.integer :author_id, foreign_key: { on_update: :set_null }
|
156
|
-
t.integer :author_id, foreign_key: { deferrable: true }
|
157
|
-
t.integer :author_id, foreign_key: { deferrable: :initially_deferred }
|
158
|
-
|
159
|
-
Of course the options can be combined, e.g.
|
160
|
-
|
161
|
-
t.integer :author_id, foreign_key: { name: "my_fk", on_delete: :no_action }
|
162
|
-
|
163
|
-
As a shorthand, all options except `:name` can be specified without placing
|
164
|
-
them in a hash, e.g.
|
165
|
-
|
166
|
-
t.integer :author_id, on_delete: :cascade
|
167
|
-
t.integer :author_id, references: nil
|
168
|
-
|
169
|
-
The foreign key behavior can be configured globally (see Config) or per-table
|
170
|
-
(see create_table).
|
171
|
-
|
172
|
-
To examine your foreign key constraints, `connection.foreign_keys` returns a
|
173
|
-
list of foreign key constraints defined for a given table, and
|
174
|
-
`connection.reverse_foreign_keys` returns a list of foreign key constraints
|
175
|
-
that reference a given table. See doc at
|
176
|
-
[SchemaPlus::ActiveRecord::ConnectionAdapters::ForeignKeyDefinition](http://rubydoc.info/gems/schema_plus/SchemaPlus/ActiveRecord/ConnectionAdapters/ForeignKeyDefinition).
|
177
|
-
|
178
|
-
#### Foreign Key Issues
|
179
|
-
|
180
|
-
Foreign keys can cause issues for Rails utilities that delete or load data
|
181
|
-
because referential integrity imposes a sequencing requirement that those
|
182
|
-
utilities may not take into consideration. Monkey-patching may be required
|
183
|
-
to address some of these issues. The Wiki article [Making yaml_db work with
|
184
|
-
foreign key constraints in PostgreSQL](https://github.com/SchemaPlus/schema_plus/wiki/Making-yaml_db-work-with-foreign-key-constraints-in-PostgreSQL)
|
185
|
-
has some information that may be of assistance in resolving these issues.
|
186
|
-
|
187
|
-
### Tables
|
188
|
-
|
189
|
-
SchemaPlus extends `create_table ... force: true` to use `:cascade`
|
190
|
-
|
191
|
-
### Schema Dump and Load (schema.rb)
|
192
|
-
|
193
|
-
When dumping `schema.rb`, SchemaPlus orders the views and tables in the schema
|
194
|
-
dump alphabetically, but subject to the requirement that each table or view be
|
195
|
-
defined before those that depend on it. This allows all foreign key
|
196
|
-
constraints to be defined within the scope of the table definition. (Unless
|
197
|
-
there are cyclical dependencies, in which case some foreign keys constraints
|
198
|
-
must be defined later.)
|
199
|
-
|
200
|
-
Also, when dumping `schema.rb`, SchemaPlus dumps explicit foreign key
|
201
|
-
definition statements rather than relying on the auto-creation behavior, for
|
202
|
-
maximum clarity and for independence from global config. And correspondingly,
|
203
|
-
when loading a schema, i.e. with the context of `ActiveRecord::Schema.define`,
|
204
|
-
SchemaPlus ensures that auto creation of foreign key constraints is turned off
|
205
|
-
regardless of the global setting. But if for some reason you are creating
|
206
|
-
your schema.rb file by hand, and would like to take advantage of auto-creation
|
207
|
-
of foreign key constraints, you can re-enable it:
|
208
|
-
|
209
|
-
ActiveRecord::Schema.define do
|
210
|
-
SchemaPlus::ForeignKeys.config.auto_create = true
|
211
|
-
SchemaPlus::ForeignKeys.config.auto_index = true
|
212
|
-
|
213
|
-
create_table ...etc...
|
214
|
-
end
|
215
|
-
|
216
|
-
|
data/lib/schema_plus.rb
CHANGED
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'schema_plus/foreign_keys'
|
2
|
+
|
3
|
+
require_relative 'auto_foreign_keys/active_record/migration/command_recorder'
|
4
|
+
require_relative 'auto_foreign_keys/middleware/migration'
|
5
|
+
require_relative 'auto_foreign_keys/middleware/schema'
|
6
|
+
|
7
|
+
module SchemaAutoForeignKeys
|
8
|
+
module ActiveRecord
|
9
|
+
module ConnectionAdapters
|
10
|
+
autoload :Sqlite3Adapter, 'schema_plus/auto_foreign_keys/active_record/connection_adapters/sqlite3_adapter'
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
class SchemaPlus::ForeignKeys::Config
|
16
|
+
##
|
17
|
+
# :attr_accessor: auto_create
|
18
|
+
#
|
19
|
+
# Whether to automatically create foreign key constraints for columns
|
20
|
+
# suffixed with +_id+. Boolean, default is +true+.
|
21
|
+
has_value :auto_create, :klass => :boolean, :default => true
|
22
|
+
|
23
|
+
##
|
24
|
+
# :attr_accessor: auto_index
|
25
|
+
#
|
26
|
+
# Whether to automatically create indexes when creating foreign key constraints for columns.
|
27
|
+
# Boolean, default is +true+.
|
28
|
+
has_value :auto_index, :klass => :boolean, :default => true
|
29
|
+
end
|
30
|
+
|
31
|
+
SchemaMonkey.register SchemaAutoForeignKeys
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module SchemaAutoForeignKeys
|
2
|
+
module ActiveRecord
|
3
|
+
module ConnectionAdapters
|
4
|
+
|
5
|
+
# SchemaPlus::ForeignKeys includes an Sqlite3 implementation of the AbstractAdapter
|
6
|
+
# extensions.
|
7
|
+
module Sqlite3Adapter
|
8
|
+
|
9
|
+
def copy_table(*args, &block)
|
10
|
+
fk_override = { :auto_create => false, :auto_index => false }
|
11
|
+
save = Hash[fk_override.keys.collect{|key| [key, SchemaPlus::ForeignKeys.config.send(key)]}]
|
12
|
+
begin
|
13
|
+
SchemaPlus::ForeignKeys.config.update_attributes(fk_override)
|
14
|
+
super
|
15
|
+
ensure
|
16
|
+
SchemaPlus::ForeignKeys.config.update_attributes(save)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module SchemaAutoForeignKeys
|
2
|
+
module ActiveRecord
|
3
|
+
module Migration
|
4
|
+
module CommandRecorder
|
5
|
+
|
6
|
+
# overrides to add if_exists option
|
7
|
+
def invert_add_index(args)
|
8
|
+
table, columns, options = *args
|
9
|
+
[:remove_index, [table, (options||{}).merge(column: columns, if_exists: true)]]
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
module SchemaAutoForeignKeys
|
2
|
+
module Middleware
|
3
|
+
module Migration
|
4
|
+
|
5
|
+
module Column
|
6
|
+
|
7
|
+
def before(env)
|
8
|
+
config = (env.caller.try(:schema_plus_foreign_keys_config) || SchemaPlus::ForeignKeys.config)
|
9
|
+
set_foreign_key(env) if auto_fk?(env, config)
|
10
|
+
set_auto_index(env) if auto_index?(env, config)
|
11
|
+
end
|
12
|
+
|
13
|
+
def after(env)
|
14
|
+
remove_auto_index(env) if env.operation == :change and remove_auto_index?(env)
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def auto_fk?(env, config)
|
20
|
+
return false if env.options.include? :foreign_key
|
21
|
+
return false unless config.auto_create?
|
22
|
+
return true if env.type == :reference
|
23
|
+
return false if env.implements_reference
|
24
|
+
return true if env.column_name.to_s =~ /_id$/ # later on add a config option for this
|
25
|
+
end
|
26
|
+
|
27
|
+
def auto_index?(env, config)
|
28
|
+
return false if env.options.include? :index
|
29
|
+
return false unless env.options[:foreign_key]
|
30
|
+
return true if config.auto_index?
|
31
|
+
end
|
32
|
+
|
33
|
+
def remove_auto_index?(env)
|
34
|
+
env.options.include? :foreign_key and not env.options[:foreign_key]
|
35
|
+
end
|
36
|
+
|
37
|
+
def set_foreign_key(env)
|
38
|
+
env.options[:foreign_key] = true
|
39
|
+
end
|
40
|
+
|
41
|
+
def set_auto_index(env)
|
42
|
+
env.options[:index] = { name: auto_index_name(env) }
|
43
|
+
end
|
44
|
+
|
45
|
+
def remove_auto_index(env)
|
46
|
+
env.caller.remove_index(env.table_name, :name => auto_index_name(env), :column => env.column_name, :if_exists => true)
|
47
|
+
end
|
48
|
+
|
49
|
+
def auto_index_name(env)
|
50
|
+
SchemaAutoForeignKeys.auto_index_name(env.table_name, env.column_name)
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def self.auto_index_name(from_table, column_name)
|
58
|
+
"fk__#{fixup_schema_name(from_table)}_#{Array.wrap(column_name).join('_and_')}"
|
59
|
+
# this should enforce a maximum length
|
60
|
+
end
|
61
|
+
|
62
|
+
def self.fixup_schema_name(table_name)
|
63
|
+
# replace . with _
|
64
|
+
table_name.to_s.gsub(/[.]/, '_')
|
65
|
+
end
|
66
|
+
end
|
data/lib/schema_plus/version.rb
CHANGED
data/schema_plus.gemspec
CHANGED
@@ -23,12 +23,13 @@ Gem::Specification.new do |gem|
|
|
23
23
|
|
24
24
|
gem.add_dependency "activerecord", "~> 4.2"
|
25
25
|
gem.add_dependency "valuable"
|
26
|
-
gem.add_dependency "schema_plus_core", "~> 0.
|
26
|
+
gem.add_dependency "schema_plus_core", "~> 0.4"
|
27
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_enums", "~> 0.1"
|
30
30
|
gem.add_dependency "schema_plus_db_default", "~> 0.1"
|
31
31
|
gem.add_dependency "schema_plus_default_expr", "~> 0.1"
|
32
|
+
gem.add_dependency "schema_plus_foreign_keys", "~> 0.1"
|
32
33
|
gem.add_dependency "schema_plus_indexes", "~> 0.1", ">= 0.1.3"
|
33
34
|
gem.add_dependency "schema_plus_pg_indexes", "~> 0.1", ">= 0.1.3"
|
34
35
|
gem.add_dependency "schema_plus_tables", "~> 0.1"
|
File without changes
|
@@ -102,6 +102,7 @@ describe ActiveRecord::Migration do
|
|
102
102
|
|
103
103
|
it "should allow multiple foreign keys to be made" do
|
104
104
|
recreate_table(@model) do |t|
|
105
|
+
t.integer :user_id, :references => :users
|
105
106
|
t.integer :updater_id, :references => :users
|
106
107
|
end
|
107
108
|
expect(@model).to reference(:users, :id).on(:user_id)
|
@@ -715,7 +716,7 @@ describe ActiveRecord::Migration do
|
|
715
716
|
end
|
716
717
|
|
717
718
|
|
718
|
-
context "when table is renamed" do
|
719
|
+
context "when table is renamed", :sqlite3 => :skip do
|
719
720
|
|
720
721
|
before(:each) do
|
721
722
|
@model = Comment
|
@@ -733,7 +734,7 @@ describe ActiveRecord::Migration do
|
|
733
734
|
expect(index.name).to match(/^fk__newname_/)
|
734
735
|
end
|
735
736
|
|
736
|
-
it "should rename foreign key constraints"
|
737
|
+
it "should rename foreign key constraints" do
|
737
738
|
expect(ActiveRecord::Base.connection.foreign_keys(:newname).first.name).to match(/newname/)
|
738
739
|
end
|
739
740
|
|
File without changes
|
File without changes
|
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.pre16
|
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-
|
12
|
+
date: 2015-05-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activerecord
|
@@ -45,14 +45,14 @@ dependencies:
|
|
45
45
|
requirements:
|
46
46
|
- - "~>"
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version: '0.
|
48
|
+
version: '0.4'
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
53
|
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version: '0.
|
55
|
+
version: '0.4'
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: schema_monkey
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -123,6 +123,20 @@ dependencies:
|
|
123
123
|
- - "~>"
|
124
124
|
- !ruby/object:Gem::Version
|
125
125
|
version: '0.1'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: schema_plus_foreign_keys
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - "~>"
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '0.1'
|
133
|
+
type: :runtime
|
134
|
+
prerelease: false
|
135
|
+
version_requirements: !ruby/object:Gem::Requirement
|
136
|
+
requirements:
|
137
|
+
- - "~>"
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
version: '0.1'
|
126
140
|
- !ruby/object:Gem::Dependency
|
127
141
|
name: schema_plus_indexes
|
128
142
|
requirement: !ruby/object:Gem::Requirement
|
@@ -304,33 +318,20 @@ files:
|
|
304
318
|
- gemfiles/activerecord-4.2.1/Gemfile.postgresql
|
305
319
|
- gemfiles/activerecord-4.2.1/Gemfile.sqlite3
|
306
320
|
- lib/schema_plus.rb
|
307
|
-
- lib/schema_plus/
|
308
|
-
- lib/schema_plus/
|
309
|
-
- lib/schema_plus/
|
310
|
-
- lib/schema_plus/
|
311
|
-
- lib/schema_plus/
|
312
|
-
- lib/schema_plus/foreign_keys/active_record/connection_adapters/postgresql_adapter.rb
|
313
|
-
- lib/schema_plus/foreign_keys/active_record/connection_adapters/sqlite3_adapter.rb
|
314
|
-
- lib/schema_plus/foreign_keys/active_record/connection_adapters/table_definition.rb
|
315
|
-
- lib/schema_plus/foreign_keys/active_record/migration/command_recorder.rb
|
316
|
-
- lib/schema_plus/foreign_keys/middleware/dumper.rb
|
317
|
-
- lib/schema_plus/foreign_keys/middleware/migration.rb
|
318
|
-
- lib/schema_plus/foreign_keys/middleware/model.rb
|
319
|
-
- lib/schema_plus/foreign_keys/middleware/mysql.rb
|
320
|
-
- lib/schema_plus/foreign_keys/middleware/schema.rb
|
321
|
-
- lib/schema_plus/foreign_keys/middleware/sql.rb
|
322
|
-
- lib/schema_plus/foreign_keys/version.rb
|
321
|
+
- lib/schema_plus/auto_foreign_keys.rb
|
322
|
+
- lib/schema_plus/auto_foreign_keys/active_record/connection_adapters/sqlite3_adapter.rb
|
323
|
+
- lib/schema_plus/auto_foreign_keys/active_record/migration/command_recorder.rb
|
324
|
+
- lib/schema_plus/auto_foreign_keys/middleware/migration.rb
|
325
|
+
- lib/schema_plus/auto_foreign_keys/middleware/schema.rb
|
323
326
|
- lib/schema_plus/version.rb
|
324
327
|
- schema_dev.yml
|
325
328
|
- schema_plus.gemspec
|
326
329
|
- spec/schema/auto_schema.rb
|
327
330
|
- spec/schema/core_schema.rb
|
328
|
-
- spec/
|
329
|
-
- spec/
|
330
|
-
- spec/
|
331
|
-
- spec/
|
332
|
-
- spec/schema_plus_foreign_keys/schema_dumper_spec.rb
|
333
|
-
- spec/schema_plus_foreign_keys/schema_spec.rb
|
331
|
+
- spec/schema_auto_foreign_keys/foreign_key_spec.rb
|
332
|
+
- spec/schema_auto_foreign_keys/migration_spec.rb
|
333
|
+
- spec/schema_auto_foreign_keys/schema_dumper_spec.rb
|
334
|
+
- spec/schema_auto_foreign_keys/schema_spec.rb
|
334
335
|
- spec/spec_helper.rb
|
335
336
|
- spec/support/helpers.rb
|
336
337
|
- spec/support/matchers/automatic_foreign_key_matchers.rb
|
@@ -364,12 +365,10 @@ summary: Enhances ActiveRecord schema mechanism, including more DRY index creati
|
|
364
365
|
test_files:
|
365
366
|
- spec/schema/auto_schema.rb
|
366
367
|
- spec/schema/core_schema.rb
|
367
|
-
- spec/
|
368
|
-
- spec/
|
369
|
-
- spec/
|
370
|
-
- spec/
|
371
|
-
- spec/schema_plus_foreign_keys/schema_dumper_spec.rb
|
372
|
-
- spec/schema_plus_foreign_keys/schema_spec.rb
|
368
|
+
- spec/schema_auto_foreign_keys/foreign_key_spec.rb
|
369
|
+
- spec/schema_auto_foreign_keys/migration_spec.rb
|
370
|
+
- spec/schema_auto_foreign_keys/schema_dumper_spec.rb
|
371
|
+
- spec/schema_auto_foreign_keys/schema_spec.rb
|
373
372
|
- spec/spec_helper.rb
|
374
373
|
- spec/support/helpers.rb
|
375
374
|
- spec/support/matchers/automatic_foreign_key_matchers.rb
|