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

1

11

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!

Distorted answered 24/12, 2016 at 12:14 Comment(5)
MySQL 5.5... from the docs JSON native data type starts from 5.7 - jsonShotten
I was so blind I've already updated to MySQL 5.7 and it's working.Distorted
Thanks for your help!Distorted
I made my comment the answerShotten
PostgreSQL is a great alternative to MySQL and offers more datatypes including JSON, JSONB and Hstore. These datatypes all supported by the PostgreSQL adapter. Here is some more information about it: edgeguides.rubyonrails.org/active_record_postgresql.htmlRasbora
S
11

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

Shotten answered 24/12, 2016 at 12:52 Comment(1)
This sintaxis worked perfectly when I upgraded my MySQL server.Distorted

© 2022 - 2024 — McMap. All rights reserved.