Module: DataMapper::Migrations::OracleAdapter::ClassMethods
- Defined in:
- lib/dm-migrations/adapters/dm-oracle-adapter.rb
Instance Method Summary collapse
-
#auto_migrate_reset_sequences(value = :not_specified) ⇒ Symbol
Set if sequences will or will not be reset during auto_migrate!.
-
#auto_migrate_with(value = :not_specified) ⇒ Symbol
Use table truncate or delete for auto_migrate! to speed up test execution.
-
#type_map ⇒ Hash
private
Types for Oracle databases.
Instance Method Details
#auto_migrate_reset_sequences(value = :not_specified) ⇒ Symbol
Set if sequences will or will not be reset during auto_migrate!
322 323 324 325 326 |
# File 'lib/dm-migrations/adapters/dm-oracle-adapter.rb', line 322 def auto_migrate_reset_sequences(value = :not_specified) return @auto_migrate_reset_sequences.nil? ? true : @auto_migrate_reset_sequences if value == :not_specified raise ArgumentError unless [true, false].include?(value) @auto_migrate_reset_sequences = value end |
#auto_migrate_with(value = :not_specified) ⇒ Symbol
Use table truncate or delete for auto_migrate! to speed up test execution
307 308 309 310 311 312 |
# File 'lib/dm-migrations/adapters/dm-oracle-adapter.rb', line 307 def auto_migrate_with(value = :not_specified) return @auto_migrate_with if value == :not_specified value = nil if value == :drop_and_create raise ArgumentError unless [nil, :truncate, :delete].include?(value) @auto_migrate_with = value end |
#type_map ⇒ Hash
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.
Types for Oracle databases.
280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 |
# File 'lib/dm-migrations/adapters/dm-oracle-adapter.rb', line 280 def type_map length = Property::String.length precision = Property::Numeric.precision scale = Property::Decimal.scale { Integer => { :primitive => 'NUMBER', :precision => precision, :scale => 0 }, String => { :primitive => 'VARCHAR2', :length => length }, Class => { :primitive => 'VARCHAR2', :length => length }, BigDecimal => { :primitive => 'NUMBER', :precision => precision, :scale => nil }, Float => { :primitive => 'BINARY_FLOAT', }, DateTime => { :primitive => 'DATE' }, Date => { :primitive => 'DATE' }, Time => { :primitive => 'DATE' }, TrueClass => { :primitive => 'NUMBER', :precision => 1, :scale => 0 }, Property::Text => { :primitive => 'CLOB' }, }.freeze end |