Wolfgang Barth PRO said almost 7 years ago on Virtual Columns with JSON Data Types :

t.json doesn't work for me with rails 5.1.4, mysql2 0.4.10, and mariadb 10.2.10. I tried

 def change
    add_column :org_units, :ou_logo, :json
  end

after migration, schema.rb results in t.text:

    t.text "ou_logo", limit: 4294967295, collation: "utf8mb4_bin"

I expected t.json. Any ideas?

Wolfgang