diff --git a/app/models/concerns/metadatable.rb b/app/models/concerns/metadatable.rb
index f5044c909188057239b51eec29806f1621158298..251527e94baa8e1dda76d7d7b9476e64c16ffc1d 100644
--- a/app/models/concerns/metadatable.rb
+++ b/app/models/concerns/metadatable.rb
@@ -9,8 +9,8 @@ module Metadatable
 
   def get_metadata_values_of key
     values = []
-    if metadata.is_a? String
-      JSON.parse(metadata).each do |m|
+    unless metadata.blank?
+      metadata.each do |m|
         m = m.with_indifferent_access
         values << m["value"] if m["key"] == key
       end
diff --git a/db/migrate/20160125120915_create_learning_objects.rb b/db/migrate/20160125120915_create_learning_objects.rb
index 600818bc8d5888e8b2e518cfa1d97fcb3cd44b7f..30a512e9c11ef20851258894b35b784985663f6a 100644
--- a/db/migrate/20160125120915_create_learning_objects.rb
+++ b/db/migrate/20160125120915_create_learning_objects.rb
@@ -7,10 +7,10 @@ class CreateLearningObjects < ActiveRecord::Migration
       t.text :description
       t.datetime :published_at
       t.string :object_type
-      t.integer :score
+      t.integer :score, default: 0
       t.integer :school_level
       t.string :language
-      t.text :metadata
+      t.jsonb :metadata, default: {}
       t.text :bitstreams
       t.string :thumbnail
       t.text :keywords