aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2017-12-03 15:28:10 +0900
committerGitHub <noreply@github.com>2017-12-03 15:28:10 +0900
commit70fa9e9ab7fd89589664ecd7ee367448ef45f9d8 (patch)
tree7316525d59c2d36625a36a286ca33760145ced3f /activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb
parentd0f5dce492696019ddf409892829f89bee5f45ef (diff)
downloadrails-70fa9e9ab7fd89589664ecd7ee367448ef45f9d8.tar.gz
rails-70fa9e9ab7fd89589664ecd7ee367448ef45f9d8.tar.bz2
rails-70fa9e9ab7fd89589664ecd7ee367448ef45f9d8.zip
Emulate JSON types for SQLite3 adapter (#29664)
Actually SQLite3 doesn't have JSON storage class (so it is stored as a TEXT like Date and Time). But emulating JSON types is convinient for making database agnostic migrations.
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb b/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb
index daece2bffd..ff63f63bf7 100644
--- a/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb
@@ -70,7 +70,8 @@ module ActiveRecord
time: { name: "time" },
date: { name: "date" },
binary: { name: "blob" },
- boolean: { name: "boolean" }
+ boolean: { name: "boolean" },
+ json: { name: "json" },
}
##
@@ -134,6 +135,10 @@ module ActiveRecord
true
end
+ def supports_json?
+ true
+ end
+
def supports_multi_insert?
sqlite_version >= "3.7.11"
end