Subsecond precision is not supported until MySQL 5.6.4
This commit is contained in:
parent
0d54a51065
commit
f7c5a8ce26
@ -106,7 +106,7 @@ class PostgresqlDefaultExpressionTest < ActiveRecord::TestCase
|
||||
class MysqlDefaultExpressionTest < ActiveRecord::TestCase
|
||||
include SchemaDumpingHelper
|
||||
|
||||
if ActiveRecord::Base.connection.version >= "5.6.0"
|
||||
if subsecond_precision_supported?
|
||||
test "schema dump datetime includes default expression" do
|
||||
output = dump_table_schema("datetime_defaults")
|
||||
assert_match %r/t\.datetime\s+"modified_datetime",\s+default: -> { "CURRENT_TIMESTAMP(?:\(\))?" }/i, output
|
||||
@ -116,21 +116,21 @@ class MysqlDefaultExpressionTest < ActiveRecord::TestCase
|
||||
output = dump_table_schema("datetime_defaults")
|
||||
assert_match %r/t\.datetime\s+"precise_datetime",.+default: -> { "CURRENT_TIMESTAMP\(6\)" }/i, output
|
||||
end
|
||||
end
|
||||
|
||||
test "schema dump timestamp includes default expression" do
|
||||
output = dump_table_schema("timestamp_defaults")
|
||||
assert_match %r/t\.timestamp\s+"modified_timestamp",\s+default: -> { "CURRENT_TIMESTAMP(?:\(\))?" }/i, output
|
||||
end
|
||||
test "schema dump timestamp includes default expression" do
|
||||
output = dump_table_schema("timestamp_defaults")
|
||||
assert_match %r/t\.timestamp\s+"modified_timestamp",\s+default: -> { "CURRENT_TIMESTAMP(?:\(\))?" }/i, output
|
||||
end
|
||||
|
||||
test "schema dump timestamp includes precise default expression" do
|
||||
output = dump_table_schema("timestamp_defaults")
|
||||
assert_match %r/t\.timestamp\s+"precise_timestamp",.+default: -> { "CURRENT_TIMESTAMP\(6\)" }/i, output
|
||||
end
|
||||
test "schema dump timestamp includes precise default expression" do
|
||||
output = dump_table_schema("timestamp_defaults")
|
||||
assert_match %r/t\.timestamp\s+"precise_timestamp",.+default: -> { "CURRENT_TIMESTAMP\(6\)" }/i, output
|
||||
end
|
||||
|
||||
test "schema dump timestamp without default expression" do
|
||||
output = dump_table_schema("timestamp_defaults")
|
||||
assert_match %r/t\.timestamp\s+"nullable_timestamp"$/, output
|
||||
test "schema dump timestamp without default expression" do
|
||||
output = dump_table_schema("timestamp_defaults")
|
||||
assert_match %r/t\.timestamp\s+"nullable_timestamp"$/, output
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -2,17 +2,17 @@
|
||||
|
||||
ActiveRecord::Schema.define do
|
||||
|
||||
if ActiveRecord::Base.connection.version >= "5.6.0"
|
||||
if subsecond_precision_supported?
|
||||
create_table :datetime_defaults, force: true do |t|
|
||||
t.datetime :modified_datetime, default: -> { "CURRENT_TIMESTAMP" }
|
||||
t.datetime :precise_datetime, precision: 6, default: -> { "CURRENT_TIMESTAMP(6)" }
|
||||
end
|
||||
end
|
||||
|
||||
create_table :timestamp_defaults, force: true do |t|
|
||||
t.timestamp :nullable_timestamp
|
||||
t.timestamp :modified_timestamp, default: -> { "CURRENT_TIMESTAMP" }
|
||||
t.timestamp :precise_timestamp, precision: 6, default: -> { "CURRENT_TIMESTAMP(6)" }
|
||||
create_table :timestamp_defaults, force: true do |t|
|
||||
t.timestamp :nullable_timestamp
|
||||
t.timestamp :modified_timestamp, default: -> { "CURRENT_TIMESTAMP" }
|
||||
t.timestamp :precise_timestamp, precision: 6, default: -> { "CURRENT_TIMESTAMP(6)" }
|
||||
end
|
||||
end
|
||||
|
||||
create_table :binary_fields, force: true do |t|
|
||||
|
Loading…
Reference in New Issue
Block a user