diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2015-02-10 09:04:47 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2015-02-12 07:23:53 +0900 |
commit | 1502caefd30b137fd1a0865be34c5bbf85ba64c1 (patch) | |
tree | 0926f55cc6e11e5c6f16227e85d9b9bc8bdba873 /activerecord/lib/active_record/connection_adapters/abstract | |
parent | 933decceaf6092020ba7ba768b51b2db9d5b882f (diff) | |
download | rails-1502caefd30b137fd1a0865be34c5bbf85ba64c1.tar.gz rails-1502caefd30b137fd1a0865be34c5bbf85ba64c1.tar.bz2 rails-1502caefd30b137fd1a0865be34c5bbf85ba64c1.zip |
Allow `:precision` option for time type columns
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb index 3ca1c3c49a..c9180f64db 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb @@ -840,6 +840,12 @@ module ActiveRecord raise ArgumentError, "Error adding decimal column: precision cannot be empty if scale is specified" end + elsif [:datetime, :time].include?(type) && precision ||= native[:precision] + if (0..6) === precision + column_type_sql << "(#{precision})" + else + raise(ActiveRecordError, "No #{native[:name]} type has precision of #{precision}. The allowed range of precision is from 0 to 6") + end elsif (type != :primary_key) && (limit ||= native.is_a?(Hash) && native[:limit]) column_type_sql << "(#{limit})" end |