Module: SafePgMigrations::Helpers::VolatileDefault
- Defined in:
- lib/safe-pg-migrations/helpers/volatile_default.rb
Constant Summary collapse
- VOLATILE_DEFAULT_PATTERNS =
[ /\bclock_timestamp\s*\(/i, /\bnow\s*\(/i, /\bcurrent_timestamp\b/i, /\bcurrent_time\b/i, /\bcurrent_date\b/i, /\brandom\s*\(/i, /\buuid_generate/i, /\bgen_random_uuid\s*\(/i, /\btimeofday\s*\(/i, /\btransaction_timestamp\s*\(/i, /\bstatement_timestamp\s*\(/i, /\bnextval\s*\(/i, /\bgen_random_bytes\s*\(/i, ].freeze
Class Method Summary collapse
Class Method Details
.volatile_default?(default) ⇒ Boolean
24 25 26 27 28 29 30 |
# File 'lib/safe-pg-migrations/helpers/volatile_default.rb', line 24 def volatile_default?(default) return false if default.nil? return true if default.is_a?(Proc) return false unless default.is_a?(String) VOLATILE_DEFAULT_PATTERNS.any? { |pattern| default.match?(pattern) } end |