Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to add a JSON column in MySQL with Rails 5 Migration

I'm trying to add a json column in MySQL db by running:

class AddStatisticsToPlayerStatistic < ActiveRecord::Migration[5.0]
    def change
       add_column :player_statistics, :statistics, :json
    end
end

But I'm getting this error when I try to run rake db:migrate

Mysql2::Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'json' at line 1: ALTER TABLE `player_statistics` ADD `statistics` json

Does anyone know how to add a JSON column in MySQL Ver 14.14 Distrib 5.5.53. properly?

Thanks in advance!

like image 471
Antonio682 Avatar asked Dec 24 '16 12:12

Antonio682


People also ask

Does MySQL 5.7 support JSON?

JSON support was introduced in MySQL 5.7. 8. In addition to the benefits just listed, having JSON as a native type in MySQL means that the database can automatically validate JSON documents stored in JSON columns. Invalid documents produce an error.

Does MySQL 5.6 support JSON?

Yes, however, Domo's MySQL 5.6 environment predates JSON parsing support which was introduced in MySQL 5.7 and expanded in MySQL8. 0+.

Does MySQL support JSON columns?

MySQL supports a native JSON data type defined by RFC 7159 that enables efficient access to data in JSON (JavaScript Object Notation) documents. The JSON data type provides these advantages over storing JSON-format strings in a string column: Automatic validation of JSON documents stored in JSON columns.


1 Answers

MySQL docs says that JSON native data type starts from 5.7.8 - json

like image 185
Mat Avatar answered Sep 28 '22 17:09

Mat