class CreateArticleMeta < ActiveRecord::Migration[4.2] CATEGORY_SAMPLE = 'Sample Category' TAX_STANDARD = 'Standard' TAX_REDUCED = 'Reduced' def self.up # Add user roles... add_column :groups, :role_article_meta, :boolean, default: false, null: false Group.reset_column_information puts "Give #{CreateGroups::GROUP_ADMIN} the role article_meta .." raise 'Failed' unless Group.find_by_name(CreateGroups::GROUP_ADMIN).update_attribute(:role_article_meta, true) raise 'Cannot find admin user!' unless admin = User.find_by_nick(CreateUsers::USER_ADMIN) raise 'Failed to enable role_article_meta with admin user!' unless admin.role_article_meta? # ArticleCategories create_table :article_categories do |t| t.column :name, :string, null: false t.column :description, :string end add_index(:article_categories, :name, unique: true) # Create sample category... puts "Creating sample article category '#{CATEGORY_SAMPLE}'..." ArticleCategory.create(name: CATEGORY_SAMPLE, description: 'This is just a sample article category.') raise 'Failed!' unless category = ArticleCategory.find_by_name(CATEGORY_SAMPLE) end def self.down remove_column :groups, :role_article_meta drop_table :article_categories end end