12345678910111213141516171819202122 |
- # Copyright (C) 2012-2024 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
|