プロジェクト

全般

プロフィール

QA #331

未完了

フォーラムを別プロジェクトに移動したい

奈良 裕記 さんがほぼ7年前に追加. ほぼ3年前に更新.

ステータス:
回答済
優先度:
通常
担当者:
-
カテゴリ:
-
対象バージョン:
開始日:
2017/05/15
期日:
進捗率:

0%

予定工数:

説明

■現象/要望

Redmineのフォーラム(PJメニュー)を、別プロジェクトに移動したい。
(プロジェクトの構成も変えたくなる時はありますね)
チケット/Wikiは、画面上操作でPJ間移動できるが、フォーラムには移動する機能が準備されていない。

http://daragda.herokuapp.com/archives/1994

[要望] フォーラムを別 Project に移したくなったとき、現状は移せないと思うが、移せるようにならないか(チケット、Wikiだと移せる)

■解決策

各フォーラム自体は boards テーブルに定義されています。
projectの指定は、project_idだけです。

移行先projectの設定でフォーラムを有効化しておき、

mysql> update boards set project_id=2 where id=1; の様に、
project_idを変更するだけで、フォーラムと内容はあっちのPJに引っ越します。

mysql> desc boards;
+-----------------+--------------+------+-----+---------+----------------+
| Field           | Type         | Null | Key | Default | Extra          |
+-----------------+--------------+------+-----+---------+----------------+
| id              | int(11)      | NO   | PRI | NULL    | auto_increment |
| project_id      | int(11)      | NO   | MUL | NULL    |                |
| name            | varchar(255) | NO   |     |         |                |
| description     | varchar(255) | YES  |     | NULL    |                |
| position        | int(11)      | YES  |     | NULL    |                |
| topics_count    | int(11)      | NO   |     | 0       |                |
| messages_count  | int(11)      | NO   |     | 0       |                |
| last_message_id | int(11)      | YES  | MUL | NULL    |                |
| parent_id       | int(11)      | YES  |     | NULL    |                |
+-----------------+--------------+------+-----+---------+----------------+
9 rows in set (0.01 sec)

プロジェクト1に、UnofficlalCrackingというフォーラムが存在したとします。


mysql> select * from boards;
+----+------------+--------------------+-------------+----------+--------------+----------------+-----------------+-----------+
| id | project_id | name               | description | position | topics_count | messages_count | last_message_id | parent_id |
+----+------------+--------------------+-------------+----------+--------------+----------------+-----------------+-----------+
|  1 |          1 | UnofficlalCracking | Redmine     |        1 |            1 |              1 |               1 |      NULL |
+----+------------+--------------------+-------------+----------+--------------+----------------+-----------------+-----------+
1 row in set (0.00 sec)

下記操作でproject_id=2のプロジェクトに引っ越します。

mysql> update boards set project_id=2 where id=1;
Query OK, 1 row affected (0.12 sec)
Rows matched: 1  Changed: 1  Warnings: 0

なお、メッセージ本体は、 messages テーブルになります。


mysql> desc messages;
+---------------+--------------+------+-----+---------+----------------+
| Field         | Type         | Null | Key | Default | Extra          |
+---------------+--------------+------+-----+---------+----------------+
| id            | int(11)      | NO   | PRI | NULL    | auto_increment |
| board_id      | int(11)      | NO   | MUL | NULL    |                |
| parent_id     | int(11)      | YES  | MUL | NULL    |                |
| subject       | varchar(255) | NO   |     |         |                |
| content       | text         | YES  |     | NULL    |                |
| author_id     | int(11)      | YES  | MUL | NULL    |                |
| replies_count | int(11)      | NO   |     | 0       |                |
| last_reply_id | int(11)      | YES  | MUL | NULL    |                |
| created_on    | datetime     | NO   | MUL | NULL    |                |
| updated_on    | datetime     | NO   |     | NULL    |                |
| locked        | tinyint(1)   | YES  |     | 0       |                |
| sticky        | int(11)      | YES  |     | 0       |                |
+---------------+--------------+------+-----+---------+----------------+
12 rows in set (0.00 sec)

mysql> select * from messages;
+----+----------+-----------+--------------------+-------------------------+-----------+---------------+---------------+---------------------+---------------------+--------+--------+
| id | board_id | parent_id | subject            | content                 | author_id | replies_count | last_reply_id | created_on          | updated_on          | locked | sticky |
+----+----------+-----------+--------------------+-------------------------+-----------+---------------+---------------+---------------------+---------------------+--------+--------+
|  1 |        1 |      NULL | めっせーじ1       | 本日はクラッキング日和なり
        |         1 |             0 |          NULL | 2017-05-15 23:37:37 | 2017-05-15 23:37:37 |      0 |      0 |
+----+----------+-----------+--------------------+-------------------------+-----------+---------------+---------------+---------------------+---------------------+--------+--------+
1 row in set (0.00 sec)

■対応状況

DB操作で対応可能

■補足

多分、GUI操作で対応可能としたほうが良いと思いますが、
そんなに頻繁に行う操作でも無いと思うので。。
対応方法が判っていれば良いかなと。

もちろん、画面操作のパッチコメントも歓迎します。

奈良 裕記 さんがほぼ7年前に更新

  • ステータス新規 から 回答済 に変更

奈良 裕記 さんがほぼ7年前に更新

I Iwadara さんがほぼ7年前に更新

記事の内容を拾っていただき、ありがとうございます。非常に助かります。
当分の間は上記 project_id を付け替えることで対応したいと思います。

奈良 裕記 さんがほぼ7年前に更新

こんな対応しかできませんが、お役に立てれば幸いです。:)

project_idは、
select id,identifier from projects;
で分かります。

↓の様な作業を行うと、この辺の処理が身に付きますねー。
http://www.slideshare.net/y503unavailable/redmine-42182169

I Iwadara さんが6年以上前に更新

  • ステータス回答済 から 終了 に変更

奈良 裕記 さんが6年以上前に更新

  • ステータス終了 から 回答済 に変更

UnofficialCookingは情報蓄積用PJのため、ステータスを解決済で終了させない運用としています。
(不要な情報になった場合は別ですが)

I Iwadara さんが6年以上前に更新

奈良 裕記 さんは書きました:

UnofficialCookingは情報蓄積用PJのため、ステータスを解決済で終了させない運用としています。
(不要な情報になった場合は別ですが)

失礼致しました。以後留意します。

奈良 裕記 さんが4年以上前に更新

奈良 裕記 さんが4年以上前に更新

奈良 裕記 さんが4年以上前に更新

匿名ユーザー さんが約3年前に更新

Игровые автоматы в Украине это <a href=https://pin-up-casino999.ru/>Pin Up</a> Casino, играть можно на деньги, а можно бесплатно. Стабильно выплачивают выигрыши без задержек. РЕКОМЕНДУЮ!

奈良 裕記 さんがほぼ3年前に更新

他の形式にエクスポート: Atom PDF