Module: ROM::SQL
- Extended by:
- Dry::Core::Extensions
- Included in:
- Relation
- Defined in:
- lib/rom/sql/dsl.rb,
lib/rom/sql/wrap.rb,
lib/rom/sql/error.rb,
lib/rom/sql/index.rb,
lib/rom/sql/types.rb,
lib/rom/sql/errors.rb,
lib/rom/sql/schema.rb,
lib/rom/sql/gateway.rb,
lib/rom/sql/version.rb,
lib/rom/sql/function.rb,
lib/rom/sql/join_dsl.rb,
lib/rom/sql/relation.rb,
lib/rom/sql/type_dsl.rb,
lib/rom/sql/attribute.rb,
lib/rom/sql/group_dsl.rb,
lib/rom/sql/migration.rb,
lib/rom/sql/order_dsl.rb,
lib/rom/sql/extensions.rb,
lib/rom/sql/schema/dsl.rb,
lib/rom/sql/foreign_key.rb,
lib/rom/sql/transaction.rb,
lib/rom/sql/plugin/nullify.rb,
lib/rom/sql/projection_dsl.rb,
lib/rom/sql/commands/create.rb,
lib/rom/sql/commands/delete.rb,
lib/rom/sql/commands/update.rb,
lib/rom/sql/mapper_compiler.rb,
lib/rom/sql/restriction_dsl.rb,
lib/rom/sql/schema/inferrer.rb,
lib/rom/sql/type_extensions.rb,
lib/rom/sql/type_serializer.rb,
lib/rom/sql/migration/runner.rb,
lib/rom/sql/migration/writer.rb,
lib/rom/sql/relation/reading.rb,
lib/rom/sql/relation/writing.rb,
lib/rom/sql/schema/index_dsl.rb,
lib/rom/sql/associations/core.rb,
lib/rom/sql/plugin/associates.rb,
lib/rom/sql/plugin/pagination.rb,
lib/rom/sql/attribute_aliasing.rb,
lib/rom/sql/attribute_wrapping.rb,
lib/rom/sql/migration/migrator.rb,
lib/rom/sql/migration/recorder.rb,
lib/rom/sql/schema/type_builder.rb,
lib/rom/sql/associations/self_ref.rb,
lib/rom/sql/migration/schema_diff.rb,
lib/rom/sql/commands/error_wrapper.rb,
lib/rom/sql/associations/one_to_one.rb,
lib/rom/sql/extensions/sqlite/types.rb,
lib/rom/sql/migration/inline_runner.rb,
lib/rom/sql/associations/many_to_one.rb,
lib/rom/sql/associations/one_to_many.rb,
lib/rom/sql/associations/many_to_many.rb,
lib/rom/sql/extensions/postgres/types.rb,
lib/rom/sql/schema/attributes_inferrer.rb,
lib/rom/sql/extensions/postgres/commands.rb,
lib/rom/sql/extensions/mysql/type_builder.rb,
lib/rom/sql/extensions/postgres/types/json.rb,
lib/rom/sql/extensions/sqlite/type_builder.rb,
lib/rom/sql/associations/one_to_one_through.rb,
lib/rom/sql/extensions/postgres/types/array.rb,
lib/rom/sql/extensions/postgres/types/ltree.rb,
lib/rom/sql/extensions/postgres/types/range.rb,
lib/rom/sql/extensions/rails_log_subscriber.rb,
lib/rom/sql/extensions/postgres/type_builder.rb,
lib/rom/sql/extensions/postgres/types/network.rb,
lib/rom/sql/extensions/postgres/type_serializer.rb,
lib/rom/sql/extensions/postgres/types/geometric.rb,
lib/rom/sql/extensions/postgres/types/array_types.rb,
lib/rom/sql/extensions/active_support_notifications.rb
Defined Under Namespace
Modules: ActiveSupportInstrumentation, Associations, AttributeAliasing, AttributeWrapping, Commands, Migration, MySQL, Plugin, Postgres, SQLite, TypeExtensions, Types Classes: Attribute, DSL, Error, ForeignKey, Function, Gateway, GroupDSL, Index, JoinDSL, MapperCompiler, OrderDSL, ProjectionDSL, RailsLogSubscriber, Relation, RestrictionDSL, Schema, Transaction, TypeDSL, TypeSerializer, Wrap
Constant Summary collapse
- MissingConfigurationError =
Class.new(StandardError)
- NoAssociationError =
Class.new(StandardError)
- DatabaseError =
Class.new(Error)
- ConstraintError =
Class.new(Error)
- NotNullConstraintError =
Class.new(ConstraintError)
- UniqueConstraintError =
Class.new(ConstraintError)
- ForeignKeyConstraintError =
Class.new(ConstraintError)
- CheckConstraintError =
Class.new(ConstraintError)
- UnknownDBTypeError =
Class.new(StandardError)
- MissingPrimaryKeyError =
Class.new(StandardError)
- MigrationError =
Class.new(StandardError)
- UnsupportedConversion =
Class.new(MigrationError)
- ERROR_MAP =
{ Sequel::DatabaseError => DatabaseError, Sequel::ConstraintViolation => ConstraintError, Sequel::NotNullConstraintViolation => NotNullConstraintError, Sequel::UniqueConstraintViolation => UniqueConstraintError, Sequel::ForeignKeyConstraintViolation => ForeignKeyConstraintError, Sequel::CheckConstraintViolation => CheckConstraintError }.freeze
- VERSION =
"3.6.5"
Class Attribute Summary collapse
- .current_gateway ⇒ Object private
Class Method Summary collapse
-
.migration(container, gateway) ⇒ Object
Trap for the migration runner.
-
.with_gateway(gateway) ⇒ Object
private
This method is used on loading migrations.
Class Attribute Details
.current_gateway ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
67 68 69 |
# File 'lib/rom/sql/migration.rb', line 67 def current_gateway @current_gateway end |
Class Method Details
.migration(container, gateway) ⇒ Object
Trap for the migration runner. By default migrations are bound to the gateway you’re using to run them. You also can explicitly pass a configuration object and a gateway name but this normally won’t be not required.
57 58 59 60 61 62 63 64 |
# File 'lib/rom/sql/migration.rb', line 57 def migration(*args, &block) if args.any? container, gateway, * = args with_gateway(container.gateways[gateway || :default]) { migration(&block) } else current_gateway.migration(&block) end end |
.with_gateway(gateway) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
This method is used on loading migrations. Temporally sets the global “current_gateway”, you shouln’t access it.
73 74 75 76 77 78 79 80 |
# File 'lib/rom/sql/migration.rb', line 73 def with_gateway(gateway) current = @current_gateway @current_gateway = gateway yield ensure @current_gateway = current end |