schema_plus 2.0.0.pre15 → 2.0.0.pre16
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
[![Dependency Status](https://gemnasium.com/lomba/schema_plus.svg)](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
|