Rails: Adding migration to add an array (default empty)
postgresql, ruby-on-rails
Solution
Rails 4 the PostgreSQL Array data type
In terminal
$ rails generate migration AddTagsToProduct tags:string
Migration file:
class AddTagsToProduct < ActiveRecord::Migration
def change
add_column :products, :tags, :string, array: true, default: []
end
end
https://coderwall.com/p/sud9ja/rails-4-the-postgresql-array-data-type
Problem
I'm trying to add a column called share to one of my resources. The idea is that users can upload documents and share them with other (specific) users, and the array contains the emails of those that the user wants to share with. I tried adding a migration with the code ``` class AddShareToDocuments < ActiveRecord::Migration def change add_column :documents, :share, :array, :default => [] end end ``` But when I open up rails console in the command prompt, it says that share:nil and user.document.share.class is NilClass. Creating a new array in the rails console sandbox by typing ``` newarray = [] ``` says that newarray.class is Array. Can anyone spot what I'm doing wrong?