diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2015-05-03 20:49:45 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2016-01-13 22:03:56 +0900 |
commit | 5fd30ac52d9f8fcdba98b92cdb82868f6686596c (patch) | |
tree | 9903a3d3f2be13dc57a9607fffa16315767e75e5 /activerecord/test/cases/defaults_test.rb | |
parent | f5ab4055b909e7b325304c5a7e414c28bbe441b7 (diff) | |
download | rails-5fd30ac52d9f8fcdba98b92cdb82868f6686596c.tar.gz rails-5fd30ac52d9f8fcdba98b92cdb82868f6686596c.tar.bz2 rails-5fd30ac52d9f8fcdba98b92cdb82868f6686596c.zip |
Add expression support on the schema default
Example:
create_table :posts do |t|
t.datetime :published_at, default: -> { 'NOW()' }
end
Diffstat (limited to 'activerecord/test/cases/defaults_test.rb')
-rw-r--r-- | activerecord/test/cases/defaults_test.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/activerecord/test/cases/defaults_test.rb b/activerecord/test/cases/defaults_test.rb index fb2d3bd497..ab5641d2dd 100644 --- a/activerecord/test/cases/defaults_test.rb +++ b/activerecord/test/cases/defaults_test.rb @@ -1,4 +1,5 @@ require "cases/helper" +require 'support/schema_dumping_helper' require 'models/default' require 'models/entrant' @@ -80,6 +81,20 @@ class DefaultStringsTest < ActiveRecord::TestCase end end +if current_adapter?(:PostgreSQLAdapter) + class PostgresqlDefaultExpressionTest < ActiveRecord::TestCase + include SchemaDumpingHelper + + test "schema dump includes default expression" do + output = dump_table_schema("defaults") + assert_match %r/t\.date\s+"modified_date",\s+default: -> { "\('now'::text\)::date" }/, output + assert_match %r/t\.date\s+"modified_date_function",\s+default: -> { "now\(\)" }/, output + assert_match %r/t\.datetime\s+"modified_time",\s+default: -> { "now\(\)" }/, output + assert_match %r/t\.datetime\s+"modified_time_function",\s+default: -> { "now\(\)" }/, output + end + end +end + if current_adapter?(:Mysql2Adapter) class DefaultsTestWithoutTransactionalFixtures < ActiveRecord::TestCase # ActiveRecord::Base#create! (and #save and other related methods) will |