trabajo-afectivo/db/migrate/20210918163819_create_knowledge_base_permissions.rb

23 lines
969 B
Ruby
Raw Normal View History

# Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
# Using older 5.0 migration to stick to Integer primary keys. Otherwise migration fails in MySQL.
class CreateKnowledgeBasePermissions < ActiveRecord::Migration[5.0]
def change
return if !Setting.exists?(name: 'system_init_done')
create_table :knowledge_base_permissions do |t|
t.references :permissionable, polymorphic: true, null: false, index: { name: 'index_knowledge_base_permissions_on_permissionable' }
t.references :role, null: false, foreign_key: { to_table: :roles }
t.string 'access', limit: 50, default: 'full', null: false
t.index 'access'
t.index %i[role_id permissionable_id permissionable_type], unique: true, name: 'knowledge_base_permissions_uniqueness'
t.timestamps limit: 3
end
Permission.where(name: 'knowledge_base.reader').update_all(allow_signup: true) # rubocop:disable Rails/SkipsModelValidations
end
end