HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux vmi1674223.contaboserver.net 5.4.0-182-generic #202-Ubuntu SMP Fri Apr 26 12:29:36 UTC 2024 x86_64
User: root (0)
PHP: 7.4.3-4ubuntu2.22
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //opt/openproject/db/migrate/20190312083304_rename_boards_to_forums.rb
require_relative './tables/forums'

class RenameBoardsToForums < ActiveRecord::Migration[5.2]

  def up
    # Create the new table, then copy from the oldt table to ensure indexes are correct
    ::Tables::Forums.create(self)

    execute "INSERT INTO forums SELECT * FROM boards";

    rename_column :messages, :board_id, :forum_id
    rename_column :message_journals, :board_id, :forum_id

    # Rename string references in DB to forums
    EnabledModule.where(name: 'boards').update_all(name: 'forums')
    RolePermission.where(permission: 'manage_boards').update_all(permission: 'manage_forums')
    Watcher.where(watchable_type: 'Board').update_all(watchable_type: 'Forum')

    # Finally, drop the old table
    drop_table :boards
  end

  def down
    rename_table :forums, :boards

    rename_column :messages, :forum_id, :board_id
    rename_column :message_journals, :forum_id, :board_id

    # Rename back items
    EnabledModule.where(name: 'forums').update_all(name: 'boards')
    RolePermission.where(permission: 'manage_forums').update_all(permission: 'manage_boards')
    Watcher.where(watchable_type: 'Forum').update_all(watchable_type: 'Board')
  end
end