activerecord 7.0.8.7 → 7.1.5.2
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/CHANGELOG.md +1798 -1419
- data/MIT-LICENSE +1 -1
- data/README.rdoc +16 -16
- data/lib/active_record/aggregations.rb +16 -13
- data/lib/active_record/association_relation.rb +1 -1
- data/lib/active_record/associations/association.rb +20 -4
- data/lib/active_record/associations/association_scope.rb +16 -9
- data/lib/active_record/associations/belongs_to_association.rb +14 -6
- data/lib/active_record/associations/builder/association.rb +3 -3
- data/lib/active_record/associations/builder/belongs_to.rb +21 -8
- data/lib/active_record/associations/builder/has_and_belongs_to_many.rb +1 -5
- data/lib/active_record/associations/builder/singular_association.rb +4 -0
- data/lib/active_record/associations/collection_association.rb +19 -13
- data/lib/active_record/associations/collection_proxy.rb +15 -10
- data/lib/active_record/associations/foreign_association.rb +10 -3
- data/lib/active_record/associations/has_many_association.rb +20 -13
- data/lib/active_record/associations/has_many_through_association.rb +10 -6
- data/lib/active_record/associations/has_one_association.rb +10 -3
- data/lib/active_record/associations/join_dependency/join_association.rb +3 -2
- data/lib/active_record/associations/join_dependency.rb +10 -10
- data/lib/active_record/associations/preloader/association.rb +31 -7
- data/lib/active_record/associations/preloader.rb +13 -10
- data/lib/active_record/associations/singular_association.rb +1 -1
- data/lib/active_record/associations/through_association.rb +22 -11
- data/lib/active_record/associations.rb +319 -217
- data/lib/active_record/attribute_assignment.rb +0 -2
- data/lib/active_record/attribute_methods/before_type_cast.rb +17 -0
- data/lib/active_record/attribute_methods/dirty.rb +53 -35
- data/lib/active_record/attribute_methods/primary_key.rb +76 -24
- data/lib/active_record/attribute_methods/query.rb +28 -16
- data/lib/active_record/attribute_methods/read.rb +21 -8
- data/lib/active_record/attribute_methods/serialization.rb +150 -31
- data/lib/active_record/attribute_methods/time_zone_conversion.rb +4 -0
- data/lib/active_record/attribute_methods/write.rb +6 -6
- data/lib/active_record/attribute_methods.rb +145 -21
- data/lib/active_record/attributes.rb +3 -3
- data/lib/active_record/autosave_association.rb +59 -10
- data/lib/active_record/base.rb +7 -2
- data/lib/active_record/callbacks.rb +10 -24
- data/lib/active_record/coders/column_serializer.rb +61 -0
- data/lib/active_record/coders/json.rb +1 -1
- data/lib/active_record/coders/yaml_column.rb +70 -42
- data/lib/active_record/connection_adapters/abstract/connection_handler.rb +163 -88
- data/lib/active_record/connection_adapters/abstract/connection_pool/queue.rb +2 -0
- data/lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb +3 -1
- data/lib/active_record/connection_adapters/abstract/connection_pool.rb +80 -50
- data/lib/active_record/connection_adapters/abstract/database_limits.rb +5 -0
- data/lib/active_record/connection_adapters/abstract/database_statements.rb +129 -31
- data/lib/active_record/connection_adapters/abstract/query_cache.rb +62 -23
- data/lib/active_record/connection_adapters/abstract/quoting.rb +41 -6
- data/lib/active_record/connection_adapters/abstract/savepoints.rb +4 -3
- data/lib/active_record/connection_adapters/abstract/schema_creation.rb +18 -4
- data/lib/active_record/connection_adapters/abstract/schema_definitions.rb +137 -11
- data/lib/active_record/connection_adapters/abstract/schema_statements.rb +296 -127
- data/lib/active_record/connection_adapters/abstract/transaction.rb +287 -58
- data/lib/active_record/connection_adapters/abstract_adapter.rb +511 -92
- data/lib/active_record/connection_adapters/abstract_mysql_adapter.rb +244 -121
- data/lib/active_record/connection_adapters/column.rb +9 -0
- data/lib/active_record/connection_adapters/mysql/column.rb +1 -0
- data/lib/active_record/connection_adapters/mysql/database_statements.rb +22 -143
- data/lib/active_record/connection_adapters/mysql/quoting.rb +16 -12
- data/lib/active_record/connection_adapters/mysql/schema_creation.rb +9 -0
- data/lib/active_record/connection_adapters/mysql/schema_definitions.rb +6 -0
- data/lib/active_record/connection_adapters/mysql/schema_dumper.rb +1 -1
- data/lib/active_record/connection_adapters/mysql/schema_statements.rb +19 -13
- data/lib/active_record/connection_adapters/mysql2/database_statements.rb +151 -0
- data/lib/active_record/connection_adapters/mysql2_adapter.rb +106 -55
- data/lib/active_record/connection_adapters/pool_config.rb +14 -5
- data/lib/active_record/connection_adapters/pool_manager.rb +19 -9
- data/lib/active_record/connection_adapters/postgresql/column.rb +14 -3
- data/lib/active_record/connection_adapters/postgresql/database_statements.rb +74 -40
- data/lib/active_record/connection_adapters/postgresql/oid/cidr.rb +6 -0
- data/lib/active_record/connection_adapters/postgresql/oid/money.rb +3 -2
- data/lib/active_record/connection_adapters/postgresql/oid/range.rb +11 -2
- data/lib/active_record/connection_adapters/postgresql/oid/timestamp_with_time_zone.rb +1 -1
- data/lib/active_record/connection_adapters/postgresql/quoting.rb +10 -6
- data/lib/active_record/connection_adapters/postgresql/referential_integrity.rb +3 -9
- data/lib/active_record/connection_adapters/postgresql/schema_creation.rb +76 -6
- data/lib/active_record/connection_adapters/postgresql/schema_definitions.rb +131 -2
- data/lib/active_record/connection_adapters/postgresql/schema_dumper.rb +53 -0
- data/lib/active_record/connection_adapters/postgresql/schema_statements.rb +364 -61
- data/lib/active_record/connection_adapters/postgresql_adapter.rb +353 -192
- data/lib/active_record/connection_adapters/schema_cache.rb +287 -59
- data/lib/active_record/connection_adapters/sqlite3/column.rb +49 -0
- data/lib/active_record/connection_adapters/sqlite3/database_statements.rb +52 -39
- data/lib/active_record/connection_adapters/sqlite3/quoting.rb +4 -3
- data/lib/active_record/connection_adapters/sqlite3/schema_definitions.rb +1 -0
- data/lib/active_record/connection_adapters/sqlite3/schema_statements.rb +26 -7
- data/lib/active_record/connection_adapters/sqlite3_adapter.rb +211 -81
- data/lib/active_record/connection_adapters/statement_pool.rb +7 -0
- data/lib/active_record/connection_adapters/trilogy/database_statements.rb +99 -0
- data/lib/active_record/connection_adapters/trilogy_adapter.rb +258 -0
- data/lib/active_record/connection_adapters.rb +3 -1
- data/lib/active_record/connection_handling.rb +72 -95
- data/lib/active_record/core.rb +181 -154
- data/lib/active_record/counter_cache.rb +52 -27
- data/lib/active_record/database_configurations/connection_url_resolver.rb +1 -1
- data/lib/active_record/database_configurations/database_config.rb +9 -3
- data/lib/active_record/database_configurations/hash_config.rb +28 -14
- data/lib/active_record/database_configurations/url_config.rb +17 -11
- data/lib/active_record/database_configurations.rb +86 -33
- data/lib/active_record/delegated_type.rb +15 -10
- data/lib/active_record/deprecator.rb +7 -0
- data/lib/active_record/destroy_association_async_job.rb +3 -1
- data/lib/active_record/encryption/auto_filtered_parameters.rb +66 -0
- data/lib/active_record/encryption/cipher/aes256_gcm.rb +4 -1
- data/lib/active_record/encryption/config.rb +25 -1
- data/lib/active_record/encryption/configurable.rb +12 -19
- data/lib/active_record/encryption/context.rb +10 -3
- data/lib/active_record/encryption/contexts.rb +5 -1
- data/lib/active_record/encryption/derived_secret_key_provider.rb +8 -2
- data/lib/active_record/encryption/encryptable_record.rb +42 -18
- data/lib/active_record/encryption/encrypted_attribute_type.rb +23 -8
- data/lib/active_record/encryption/extended_deterministic_queries.rb +66 -69
- data/lib/active_record/encryption/extended_deterministic_uniqueness_validator.rb +3 -3
- data/lib/active_record/encryption/key_generator.rb +12 -1
- data/lib/active_record/encryption/message_serializer.rb +2 -0
- data/lib/active_record/encryption/properties.rb +3 -3
- data/lib/active_record/encryption/scheme.rb +22 -21
- data/lib/active_record/encryption.rb +3 -0
- data/lib/active_record/enum.rb +112 -28
- data/lib/active_record/errors.rb +112 -18
- data/lib/active_record/explain.rb +23 -3
- data/lib/active_record/fixture_set/model_metadata.rb +14 -4
- data/lib/active_record/fixture_set/render_context.rb +2 -0
- data/lib/active_record/fixture_set/table_row.rb +29 -8
- data/lib/active_record/fixtures.rb +135 -71
- data/lib/active_record/future_result.rb +40 -5
- data/lib/active_record/gem_version.rb +4 -4
- data/lib/active_record/inheritance.rb +30 -16
- data/lib/active_record/insert_all.rb +57 -10
- data/lib/active_record/integration.rb +8 -8
- data/lib/active_record/internal_metadata.rb +120 -30
- data/lib/active_record/locking/optimistic.rb +1 -1
- data/lib/active_record/locking/pessimistic.rb +5 -2
- data/lib/active_record/log_subscriber.rb +29 -12
- data/lib/active_record/marshalling.rb +59 -0
- data/lib/active_record/message_pack.rb +124 -0
- data/lib/active_record/middleware/database_selector/resolver.rb +4 -0
- data/lib/active_record/middleware/database_selector.rb +6 -8
- data/lib/active_record/middleware/shard_selector.rb +3 -1
- data/lib/active_record/migration/command_recorder.rb +104 -5
- data/lib/active_record/migration/compatibility.rb +145 -5
- data/lib/active_record/migration/default_strategy.rb +23 -0
- data/lib/active_record/migration/execution_strategy.rb +19 -0
- data/lib/active_record/migration/pending_migration_connection.rb +21 -0
- data/lib/active_record/migration.rb +219 -111
- data/lib/active_record/model_schema.rb +69 -44
- data/lib/active_record/nested_attributes.rb +37 -8
- data/lib/active_record/normalization.rb +167 -0
- data/lib/active_record/persistence.rb +188 -37
- data/lib/active_record/promise.rb +84 -0
- data/lib/active_record/query_cache.rb +4 -22
- data/lib/active_record/query_logs.rb +77 -52
- data/lib/active_record/query_logs_formatter.rb +41 -0
- data/lib/active_record/querying.rb +15 -2
- data/lib/active_record/railtie.rb +107 -45
- data/lib/active_record/railties/controller_runtime.rb +12 -6
- data/lib/active_record/railties/databases.rake +144 -150
- data/lib/active_record/railties/job_runtime.rb +23 -0
- data/lib/active_record/readonly_attributes.rb +32 -5
- data/lib/active_record/reflection.rb +181 -45
- data/lib/active_record/relation/batches/batch_enumerator.rb +5 -3
- data/lib/active_record/relation/batches.rb +190 -61
- data/lib/active_record/relation/calculations.rb +187 -63
- data/lib/active_record/relation/delegation.rb +23 -9
- data/lib/active_record/relation/finder_methods.rb +81 -19
- data/lib/active_record/relation/merger.rb +2 -0
- data/lib/active_record/relation/predicate_builder/association_query_value.rb +11 -2
- data/lib/active_record/relation/predicate_builder/polymorphic_array_value.rb +10 -7
- data/lib/active_record/relation/predicate_builder/relation_handler.rb +5 -1
- data/lib/active_record/relation/predicate_builder.rb +26 -14
- data/lib/active_record/relation/query_attribute.rb +2 -1
- data/lib/active_record/relation/query_methods.rb +371 -68
- data/lib/active_record/relation/spawn_methods.rb +18 -1
- data/lib/active_record/relation.rb +103 -37
- data/lib/active_record/result.rb +19 -5
- data/lib/active_record/runtime_registry.rb +24 -1
- data/lib/active_record/sanitization.rb +51 -11
- data/lib/active_record/schema.rb +2 -3
- data/lib/active_record/schema_dumper.rb +46 -7
- data/lib/active_record/schema_migration.rb +68 -33
- data/lib/active_record/scoping/default.rb +15 -5
- data/lib/active_record/scoping/named.rb +2 -2
- data/lib/active_record/scoping.rb +2 -1
- data/lib/active_record/secure_password.rb +60 -0
- data/lib/active_record/secure_token.rb +21 -3
- data/lib/active_record/signed_id.rb +7 -5
- data/lib/active_record/store.rb +8 -8
- data/lib/active_record/suppressor.rb +3 -1
- data/lib/active_record/table_metadata.rb +10 -1
- data/lib/active_record/tasks/database_tasks.rb +152 -108
- data/lib/active_record/tasks/mysql_database_tasks.rb +15 -6
- data/lib/active_record/tasks/postgresql_database_tasks.rb +16 -13
- data/lib/active_record/tasks/sqlite_database_tasks.rb +15 -7
- data/lib/active_record/test_fixtures.rb +114 -96
- data/lib/active_record/timestamp.rb +30 -16
- data/lib/active_record/token_for.rb +113 -0
- data/lib/active_record/touch_later.rb +11 -6
- data/lib/active_record/transactions.rb +36 -10
- data/lib/active_record/type/adapter_specific_registry.rb +1 -8
- data/lib/active_record/type/internal/timezone.rb +7 -2
- data/lib/active_record/type/time.rb +4 -0
- data/lib/active_record/validations/absence.rb +1 -1
- data/lib/active_record/validations/numericality.rb +5 -4
- data/lib/active_record/validations/presence.rb +5 -28
- data/lib/active_record/validations/uniqueness.rb +47 -2
- data/lib/active_record/validations.rb +8 -4
- data/lib/active_record/version.rb +1 -1
- data/lib/active_record.rb +122 -17
- data/lib/arel/errors.rb +10 -0
- data/lib/arel/factory_methods.rb +4 -0
- data/lib/arel/nodes/binary.rb +6 -1
- data/lib/arel/nodes/bound_sql_literal.rb +61 -0
- data/lib/arel/nodes/cte.rb +36 -0
- data/lib/arel/nodes/fragments.rb +35 -0
- data/lib/arel/nodes/homogeneous_in.rb +1 -9
- data/lib/arel/nodes/leading_join.rb +8 -0
- data/lib/arel/nodes/node.rb +111 -2
- data/lib/arel/nodes/sql_literal.rb +6 -0
- data/lib/arel/nodes/table_alias.rb +4 -0
- data/lib/arel/nodes.rb +4 -0
- data/lib/arel/predications.rb +2 -0
- data/lib/arel/table.rb +9 -5
- data/lib/arel/tree_manager.rb +5 -1
- data/lib/arel/visitors/mysql.rb +8 -1
- data/lib/arel/visitors/to_sql.rb +83 -18
- data/lib/arel/visitors/visitor.rb +2 -2
- data/lib/arel.rb +16 -2
- data/lib/rails/generators/active_record/application_record/USAGE +8 -0
- data/lib/rails/generators/active_record/migration.rb +3 -1
- data/lib/rails/generators/active_record/model/USAGE +113 -0
- data/lib/rails/generators/active_record/model/model_generator.rb +15 -6
- metadata +48 -15
- data/lib/active_record/connection_adapters/legacy_pool_manager.rb +0 -35
- data/lib/active_record/null_relation.rb +0 -63
@@ -0,0 +1,113 @@
|
|
1
|
+
Description:
|
2
|
+
Generates a new model. Pass the model name, either CamelCased or
|
3
|
+
under_scored, and an optional list of attribute pairs as arguments.
|
4
|
+
|
5
|
+
Attribute pairs are field:type arguments specifying the
|
6
|
+
model's attributes. Timestamps are added by default, so you don't have to
|
7
|
+
specify them by hand as 'created_at:datetime updated_at:datetime'.
|
8
|
+
|
9
|
+
As a special case, specifying 'password:digest' will generate a
|
10
|
+
password_digest field of string type, and configure your generated model and
|
11
|
+
tests for use with Active Model has_secure_password (assuming the default ORM
|
12
|
+
and test framework are being used).
|
13
|
+
|
14
|
+
You don't have to think up every attribute up front, but it helps to
|
15
|
+
sketch out a few so you can start working with the model immediately.
|
16
|
+
|
17
|
+
This generator invokes your configured ORM and test framework, which
|
18
|
+
defaults to Active Record and TestUnit.
|
19
|
+
|
20
|
+
Finally, if --parent option is given, it's used as superclass of the
|
21
|
+
created model. This allows you create Single Table Inheritance models.
|
22
|
+
|
23
|
+
If you pass a namespaced model name (e.g. admin/account or Admin::Account)
|
24
|
+
then the generator will create a module with a table_name_prefix method
|
25
|
+
to prefix the model's table name with the module name (e.g. admin_accounts)
|
26
|
+
|
27
|
+
Available field types:
|
28
|
+
|
29
|
+
Just after the field name you can specify a type like text or boolean.
|
30
|
+
It will generate the column with the associated SQL type. For instance:
|
31
|
+
|
32
|
+
`bin/rails generate model post title:string body:text`
|
33
|
+
|
34
|
+
will generate a title column with a varchar type and a body column with a text
|
35
|
+
type. If no type is specified the string type will be used by default.
|
36
|
+
You can use the following types:
|
37
|
+
|
38
|
+
integer
|
39
|
+
primary_key
|
40
|
+
decimal
|
41
|
+
float
|
42
|
+
boolean
|
43
|
+
binary
|
44
|
+
string
|
45
|
+
text
|
46
|
+
date
|
47
|
+
time
|
48
|
+
datetime
|
49
|
+
|
50
|
+
You can also consider `references` as a kind of type. For instance, if you run:
|
51
|
+
|
52
|
+
`bin/rails generate model photo title:string album:references`
|
53
|
+
|
54
|
+
It will generate an `album_id` column. You should generate these kinds of fields when
|
55
|
+
you will use a `belongs_to` association, for instance. `references` also supports
|
56
|
+
polymorphism, you can enable polymorphism like this:
|
57
|
+
|
58
|
+
`bin/rails generate model product supplier:references{polymorphic}`
|
59
|
+
|
60
|
+
For integer, string, text and binary fields, an integer in curly braces will
|
61
|
+
be set as the limit:
|
62
|
+
|
63
|
+
`bin/rails generate model user pseudo:string{30}`
|
64
|
+
|
65
|
+
For decimal, two integers separated by a comma in curly braces will be used
|
66
|
+
for precision and scale:
|
67
|
+
|
68
|
+
`bin/rails generate model product 'price:decimal{10,2}'`
|
69
|
+
|
70
|
+
You can add a `:uniq` or `:index` suffix for unique or standard indexes
|
71
|
+
respectively:
|
72
|
+
|
73
|
+
`bin/rails generate model user pseudo:string:uniq`
|
74
|
+
`bin/rails generate model user pseudo:string:index`
|
75
|
+
|
76
|
+
You can combine any single curly brace option with the index options:
|
77
|
+
|
78
|
+
`bin/rails generate model user username:string{30}:uniq`
|
79
|
+
`bin/rails generate model product supplier:references{polymorphic}:index`
|
80
|
+
|
81
|
+
If you require a `password_digest` string column for use with
|
82
|
+
has_secure_password, you can specify `password:digest`:
|
83
|
+
|
84
|
+
`bin/rails generate model user password:digest`
|
85
|
+
|
86
|
+
If you require a `token` string column for use with
|
87
|
+
has_secure_token, you can specify `auth_token:token`:
|
88
|
+
|
89
|
+
`bin/rails generate model user auth_token:token`
|
90
|
+
|
91
|
+
Examples:
|
92
|
+
`bin/rails generate model account`
|
93
|
+
|
94
|
+
For Active Record and TestUnit it creates:
|
95
|
+
|
96
|
+
Model: app/models/account.rb
|
97
|
+
Test: test/models/account_test.rb
|
98
|
+
Fixtures: test/fixtures/accounts.yml
|
99
|
+
Migration: db/migrate/XXX_create_accounts.rb
|
100
|
+
|
101
|
+
`bin/rails generate model post title:string body:text published:boolean`
|
102
|
+
|
103
|
+
Creates a Post model with a string title, text body, and published flag.
|
104
|
+
|
105
|
+
`bin/rails generate model admin/account`
|
106
|
+
|
107
|
+
For Active Record and TestUnit it creates:
|
108
|
+
|
109
|
+
Module: app/models/admin.rb
|
110
|
+
Model: app/models/admin/account.rb
|
111
|
+
Test: test/models/admin/account_test.rb
|
112
|
+
Fixtures: test/fixtures/admin/accounts.yml
|
113
|
+
Migration: db/migrate/XXX_create_admin_accounts.rb
|
@@ -11,20 +11,25 @@ module ActiveRecord
|
|
11
11
|
|
12
12
|
class_option :migration, type: :boolean
|
13
13
|
class_option :timestamps, type: :boolean
|
14
|
-
class_option :parent, type: :string, desc: "The parent class for the generated model"
|
14
|
+
class_option :parent, type: :string, default: "ApplicationRecord", desc: "The parent class for the generated model"
|
15
15
|
class_option :indexes, type: :boolean, default: true, desc: "Add indexes for references and belongs_to columns"
|
16
16
|
class_option :primary_key_type, type: :string, desc: "The type for primary key"
|
17
17
|
class_option :database, type: :string, aliases: %i(--db), desc: "The database for your model's migration. By default, the current environment's primary database is used."
|
18
18
|
|
19
|
+
Rails::Generators.templates_path.each do |path|
|
20
|
+
source_paths << File.join(path, base_name, "migration")
|
21
|
+
end
|
22
|
+
source_paths << File.expand_path(File.join(base_name, "migration", "templates"), base_root)
|
23
|
+
|
19
24
|
# creates the migration file for the model.
|
20
25
|
def create_migration_file
|
21
26
|
return if skip_migration_creation?
|
22
27
|
attributes.each { |a| a.attr_options.delete(:index) if a.reference? && !a.has_index? } if options[:indexes] == false
|
23
|
-
migration_template "
|
28
|
+
migration_template "create_table_migration.rb", File.join(db_migrate_path, "create_#{table_name}.rb")
|
24
29
|
end
|
25
30
|
|
26
31
|
def create_model_file
|
27
|
-
generate_abstract_class if database && !
|
32
|
+
generate_abstract_class if database && !custom_parent?
|
28
33
|
template "model.rb", File.join("app/models", class_path, "#{file_name}.rb")
|
29
34
|
end
|
30
35
|
|
@@ -40,7 +45,7 @@ module ActiveRecord
|
|
40
45
|
# - options parent is present and database option is not present
|
41
46
|
# - migrations option is nil or false
|
42
47
|
def skip_migration_creation?
|
43
|
-
|
48
|
+
custom_parent? && !database || !migration
|
44
49
|
end
|
45
50
|
|
46
51
|
def attributes_with_index
|
@@ -49,12 +54,12 @@ module ActiveRecord
|
|
49
54
|
|
50
55
|
# Used by the migration template to determine the parent name of the model
|
51
56
|
def parent_class_name
|
52
|
-
if
|
57
|
+
if custom_parent?
|
53
58
|
parent
|
54
59
|
elsif database
|
55
60
|
abstract_class_name
|
56
61
|
else
|
57
|
-
|
62
|
+
parent
|
58
63
|
end
|
59
64
|
end
|
60
65
|
|
@@ -77,6 +82,10 @@ module ActiveRecord
|
|
77
82
|
options[:parent]
|
78
83
|
end
|
79
84
|
|
85
|
+
def custom_parent?
|
86
|
+
parent != self.class.class_options[:parent].default
|
87
|
+
end
|
88
|
+
|
80
89
|
def migration
|
81
90
|
options[:migration]
|
82
91
|
end
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.
|
4
|
+
version: 7.1.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Heinemeier Hansson
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: activesupport
|
@@ -16,28 +15,42 @@ dependencies:
|
|
16
15
|
requirements:
|
17
16
|
- - '='
|
18
17
|
- !ruby/object:Gem::Version
|
19
|
-
version: 7.
|
18
|
+
version: 7.1.5.2
|
20
19
|
type: :runtime
|
21
20
|
prerelease: false
|
22
21
|
version_requirements: !ruby/object:Gem::Requirement
|
23
22
|
requirements:
|
24
23
|
- - '='
|
25
24
|
- !ruby/object:Gem::Version
|
26
|
-
version: 7.
|
25
|
+
version: 7.1.5.2
|
27
26
|
- !ruby/object:Gem::Dependency
|
28
27
|
name: activemodel
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
30
29
|
requirements:
|
31
30
|
- - '='
|
32
31
|
- !ruby/object:Gem::Version
|
33
|
-
version: 7.
|
32
|
+
version: 7.1.5.2
|
34
33
|
type: :runtime
|
35
34
|
prerelease: false
|
36
35
|
version_requirements: !ruby/object:Gem::Requirement
|
37
36
|
requirements:
|
38
37
|
- - '='
|
39
38
|
- !ruby/object:Gem::Version
|
40
|
-
version: 7.
|
39
|
+
version: 7.1.5.2
|
40
|
+
- !ruby/object:Gem::Dependency
|
41
|
+
name: timeout
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 0.4.0
|
47
|
+
type: :runtime
|
48
|
+
prerelease: false
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 0.4.0
|
41
54
|
description: Databases on Rails. Build a persistent domain model by mapping database
|
42
55
|
tables to Ruby classes. Strong conventions for associations, validations, aggregations,
|
43
56
|
migrations, and testing come baked-in.
|
@@ -102,6 +115,7 @@ files:
|
|
102
115
|
- lib/active_record/autosave_association.rb
|
103
116
|
- lib/active_record/base.rb
|
104
117
|
- lib/active_record/callbacks.rb
|
118
|
+
- lib/active_record/coders/column_serializer.rb
|
105
119
|
- lib/active_record/coders/json.rb
|
106
120
|
- lib/active_record/coders/yaml_column.rb
|
107
121
|
- lib/active_record/connection_adapters.rb
|
@@ -123,7 +137,6 @@ files:
|
|
123
137
|
- lib/active_record/connection_adapters/abstract_mysql_adapter.rb
|
124
138
|
- lib/active_record/connection_adapters/column.rb
|
125
139
|
- lib/active_record/connection_adapters/deduplicable.rb
|
126
|
-
- lib/active_record/connection_adapters/legacy_pool_manager.rb
|
127
140
|
- lib/active_record/connection_adapters/mysql/column.rb
|
128
141
|
- lib/active_record/connection_adapters/mysql/database_statements.rb
|
129
142
|
- lib/active_record/connection_adapters/mysql/explain_pretty_printer.rb
|
@@ -133,6 +146,7 @@ files:
|
|
133
146
|
- lib/active_record/connection_adapters/mysql/schema_dumper.rb
|
134
147
|
- lib/active_record/connection_adapters/mysql/schema_statements.rb
|
135
148
|
- lib/active_record/connection_adapters/mysql/type_metadata.rb
|
149
|
+
- lib/active_record/connection_adapters/mysql2/database_statements.rb
|
136
150
|
- lib/active_record/connection_adapters/mysql2_adapter.rb
|
137
151
|
- lib/active_record/connection_adapters/pool_config.rb
|
138
152
|
- lib/active_record/connection_adapters/pool_manager.rb
|
@@ -177,6 +191,7 @@ files:
|
|
177
191
|
- lib/active_record/connection_adapters/postgresql_adapter.rb
|
178
192
|
- lib/active_record/connection_adapters/schema_cache.rb
|
179
193
|
- lib/active_record/connection_adapters/sql_type_metadata.rb
|
194
|
+
- lib/active_record/connection_adapters/sqlite3/column.rb
|
180
195
|
- lib/active_record/connection_adapters/sqlite3/database_statements.rb
|
181
196
|
- lib/active_record/connection_adapters/sqlite3/explain_pretty_printer.rb
|
182
197
|
- lib/active_record/connection_adapters/sqlite3/quoting.rb
|
@@ -186,6 +201,8 @@ files:
|
|
186
201
|
- lib/active_record/connection_adapters/sqlite3/schema_statements.rb
|
187
202
|
- lib/active_record/connection_adapters/sqlite3_adapter.rb
|
188
203
|
- lib/active_record/connection_adapters/statement_pool.rb
|
204
|
+
- lib/active_record/connection_adapters/trilogy/database_statements.rb
|
205
|
+
- lib/active_record/connection_adapters/trilogy_adapter.rb
|
189
206
|
- lib/active_record/connection_handling.rb
|
190
207
|
- lib/active_record/core.rb
|
191
208
|
- lib/active_record/counter_cache.rb
|
@@ -195,10 +212,12 @@ files:
|
|
195
212
|
- lib/active_record/database_configurations/hash_config.rb
|
196
213
|
- lib/active_record/database_configurations/url_config.rb
|
197
214
|
- lib/active_record/delegated_type.rb
|
215
|
+
- lib/active_record/deprecator.rb
|
198
216
|
- lib/active_record/destroy_association_async_job.rb
|
199
217
|
- lib/active_record/disable_joins_association_relation.rb
|
200
218
|
- lib/active_record/dynamic_matchers.rb
|
201
219
|
- lib/active_record/encryption.rb
|
220
|
+
- lib/active_record/encryption/auto_filtered_parameters.rb
|
202
221
|
- lib/active_record/encryption/cipher.rb
|
203
222
|
- lib/active_record/encryption/cipher/aes256_gcm.rb
|
204
223
|
- lib/active_record/encryption/config.rb
|
@@ -247,6 +266,8 @@ files:
|
|
247
266
|
- lib/active_record/locking/optimistic.rb
|
248
267
|
- lib/active_record/locking/pessimistic.rb
|
249
268
|
- lib/active_record/log_subscriber.rb
|
269
|
+
- lib/active_record/marshalling.rb
|
270
|
+
- lib/active_record/message_pack.rb
|
250
271
|
- lib/active_record/middleware/database_selector.rb
|
251
272
|
- lib/active_record/middleware/database_selector/resolver.rb
|
252
273
|
- lib/active_record/middleware/database_selector/resolver/session.rb
|
@@ -254,19 +275,25 @@ files:
|
|
254
275
|
- lib/active_record/migration.rb
|
255
276
|
- lib/active_record/migration/command_recorder.rb
|
256
277
|
- lib/active_record/migration/compatibility.rb
|
278
|
+
- lib/active_record/migration/default_strategy.rb
|
279
|
+
- lib/active_record/migration/execution_strategy.rb
|
257
280
|
- lib/active_record/migration/join_table.rb
|
281
|
+
- lib/active_record/migration/pending_migration_connection.rb
|
258
282
|
- lib/active_record/model_schema.rb
|
259
283
|
- lib/active_record/nested_attributes.rb
|
260
284
|
- lib/active_record/no_touching.rb
|
261
|
-
- lib/active_record/
|
285
|
+
- lib/active_record/normalization.rb
|
262
286
|
- lib/active_record/persistence.rb
|
287
|
+
- lib/active_record/promise.rb
|
263
288
|
- lib/active_record/query_cache.rb
|
264
289
|
- lib/active_record/query_logs.rb
|
290
|
+
- lib/active_record/query_logs_formatter.rb
|
265
291
|
- lib/active_record/querying.rb
|
266
292
|
- lib/active_record/railtie.rb
|
267
293
|
- lib/active_record/railties/console_sandbox.rb
|
268
294
|
- lib/active_record/railties/controller_runtime.rb
|
269
295
|
- lib/active_record/railties/databases.rake
|
296
|
+
- lib/active_record/railties/job_runtime.rb
|
270
297
|
- lib/active_record/readonly_attributes.rb
|
271
298
|
- lib/active_record/reflection.rb
|
272
299
|
- lib/active_record/relation.rb
|
@@ -298,6 +325,7 @@ files:
|
|
298
325
|
- lib/active_record/scoping.rb
|
299
326
|
- lib/active_record/scoping/default.rb
|
300
327
|
- lib/active_record/scoping/named.rb
|
328
|
+
- lib/active_record/secure_password.rb
|
301
329
|
- lib/active_record/secure_token.rb
|
302
330
|
- lib/active_record/serialization.rb
|
303
331
|
- lib/active_record/signed_id.rb
|
@@ -312,6 +340,7 @@ files:
|
|
312
340
|
- lib/active_record/test_databases.rb
|
313
341
|
- lib/active_record/test_fixtures.rb
|
314
342
|
- lib/active_record/timestamp.rb
|
343
|
+
- lib/active_record/token_for.rb
|
315
344
|
- lib/active_record/touch_later.rb
|
316
345
|
- lib/active_record/transactions.rb
|
317
346
|
- lib/active_record/translation.rb
|
@@ -360,16 +389,19 @@ files:
|
|
360
389
|
- lib/arel/nodes/ascending.rb
|
361
390
|
- lib/arel/nodes/binary.rb
|
362
391
|
- lib/arel/nodes/bind_param.rb
|
392
|
+
- lib/arel/nodes/bound_sql_literal.rb
|
363
393
|
- lib/arel/nodes/case.rb
|
364
394
|
- lib/arel/nodes/casted.rb
|
365
395
|
- lib/arel/nodes/comment.rb
|
366
396
|
- lib/arel/nodes/count.rb
|
397
|
+
- lib/arel/nodes/cte.rb
|
367
398
|
- lib/arel/nodes/delete_statement.rb
|
368
399
|
- lib/arel/nodes/descending.rb
|
369
400
|
- lib/arel/nodes/equality.rb
|
370
401
|
- lib/arel/nodes/extract.rb
|
371
402
|
- lib/arel/nodes/false.rb
|
372
403
|
- lib/arel/nodes/filter.rb
|
404
|
+
- lib/arel/nodes/fragments.rb
|
373
405
|
- lib/arel/nodes/full_outer_join.rb
|
374
406
|
- lib/arel/nodes/function.rb
|
375
407
|
- lib/arel/nodes/grouping.rb
|
@@ -379,6 +411,7 @@ files:
|
|
379
411
|
- lib/arel/nodes/inner_join.rb
|
380
412
|
- lib/arel/nodes/insert_statement.rb
|
381
413
|
- lib/arel/nodes/join_source.rb
|
414
|
+
- lib/arel/nodes/leading_join.rb
|
382
415
|
- lib/arel/nodes/matches.rb
|
383
416
|
- lib/arel/nodes/named_function.rb
|
384
417
|
- lib/arel/nodes/node.rb
|
@@ -417,12 +450,14 @@ files:
|
|
417
450
|
- lib/arel/visitors/visitor.rb
|
418
451
|
- lib/arel/window_predications.rb
|
419
452
|
- lib/rails/generators/active_record.rb
|
453
|
+
- lib/rails/generators/active_record/application_record/USAGE
|
420
454
|
- lib/rails/generators/active_record/application_record/application_record_generator.rb
|
421
455
|
- lib/rails/generators/active_record/application_record/templates/application_record.rb.tt
|
422
456
|
- lib/rails/generators/active_record/migration.rb
|
423
457
|
- lib/rails/generators/active_record/migration/migration_generator.rb
|
424
458
|
- lib/rails/generators/active_record/migration/templates/create_table_migration.rb.tt
|
425
459
|
- lib/rails/generators/active_record/migration/templates/migration.rb.tt
|
460
|
+
- lib/rails/generators/active_record/model/USAGE
|
426
461
|
- lib/rails/generators/active_record/model/model_generator.rb
|
427
462
|
- lib/rails/generators/active_record/model/templates/abstract_base_class.rb.tt
|
428
463
|
- lib/rails/generators/active_record/model/templates/model.rb.tt
|
@@ -434,12 +469,11 @@ licenses:
|
|
434
469
|
- MIT
|
435
470
|
metadata:
|
436
471
|
bug_tracker_uri: https://github.com/rails/rails/issues
|
437
|
-
changelog_uri: https://github.com/rails/rails/blob/v7.
|
438
|
-
documentation_uri: https://api.rubyonrails.org/v7.
|
472
|
+
changelog_uri: https://github.com/rails/rails/blob/v7.1.5.2/activerecord/CHANGELOG.md
|
473
|
+
documentation_uri: https://api.rubyonrails.org/v7.1.5.2/
|
439
474
|
mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
|
440
|
-
source_code_uri: https://github.com/rails/rails/tree/v7.
|
475
|
+
source_code_uri: https://github.com/rails/rails/tree/v7.1.5.2/activerecord
|
441
476
|
rubygems_mfa_required: 'true'
|
442
|
-
post_install_message:
|
443
477
|
rdoc_options:
|
444
478
|
- "--main"
|
445
479
|
- README.rdoc
|
@@ -456,8 +490,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
456
490
|
- !ruby/object:Gem::Version
|
457
491
|
version: '0'
|
458
492
|
requirements: []
|
459
|
-
rubygems_version: 3.
|
460
|
-
signing_key:
|
493
|
+
rubygems_version: 3.6.9
|
461
494
|
specification_version: 4
|
462
495
|
summary: Object-relational mapper framework (part of Rails).
|
463
496
|
test_files: []
|
@@ -1,35 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module ActiveRecord
|
4
|
-
module ConnectionAdapters
|
5
|
-
class LegacyPoolManager # :nodoc:
|
6
|
-
def initialize
|
7
|
-
@name_to_pool_config = {}
|
8
|
-
end
|
9
|
-
|
10
|
-
def shard_names
|
11
|
-
@name_to_pool_config.keys
|
12
|
-
end
|
13
|
-
|
14
|
-
def pool_configs(_ = nil)
|
15
|
-
@name_to_pool_config.values
|
16
|
-
end
|
17
|
-
|
18
|
-
def remove_pool_config(_, shard)
|
19
|
-
@name_to_pool_config.delete(shard)
|
20
|
-
end
|
21
|
-
|
22
|
-
def get_pool_config(_, shard)
|
23
|
-
@name_to_pool_config[shard]
|
24
|
-
end
|
25
|
-
|
26
|
-
def set_pool_config(role, shard, pool_config)
|
27
|
-
if pool_config
|
28
|
-
@name_to_pool_config[shard] = pool_config
|
29
|
-
else
|
30
|
-
raise ArgumentError, "The `pool_config` for the :#{role} role and :#{shard} shard was `nil`. Please check your configuration. If you want your writing role to be something other than `:writing` set `config.active_record.writing_role` in your application configuration. The same setting should be applied for the `reading_role` if applicable."
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
@@ -1,63 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module ActiveRecord
|
4
|
-
module NullRelation # :nodoc:
|
5
|
-
def pluck(*column_names)
|
6
|
-
[]
|
7
|
-
end
|
8
|
-
|
9
|
-
def delete_all
|
10
|
-
0
|
11
|
-
end
|
12
|
-
|
13
|
-
def update_all(_updates)
|
14
|
-
0
|
15
|
-
end
|
16
|
-
|
17
|
-
def delete(_id_or_array)
|
18
|
-
0
|
19
|
-
end
|
20
|
-
|
21
|
-
def empty?
|
22
|
-
true
|
23
|
-
end
|
24
|
-
|
25
|
-
def none?
|
26
|
-
true
|
27
|
-
end
|
28
|
-
|
29
|
-
def any?
|
30
|
-
false
|
31
|
-
end
|
32
|
-
|
33
|
-
def one?
|
34
|
-
false
|
35
|
-
end
|
36
|
-
|
37
|
-
def many?
|
38
|
-
false
|
39
|
-
end
|
40
|
-
|
41
|
-
def calculate(operation, _column_name)
|
42
|
-
case operation
|
43
|
-
when :count, :sum
|
44
|
-
group_values.any? ? Hash.new : 0
|
45
|
-
when :average, :minimum, :maximum
|
46
|
-
group_values.any? ? Hash.new : nil
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
def exists?(_conditions = :none)
|
51
|
-
false
|
52
|
-
end
|
53
|
-
|
54
|
-
def or(other)
|
55
|
-
other.spawn
|
56
|
-
end
|
57
|
-
|
58
|
-
private
|
59
|
-
def exec_main_query(async: false)
|
60
|
-
[].freeze
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|