• 締切済み

gitbucketのDB移行時のACTIVITY

gitbucketの実行環境を、Windows上でのJava実行(gitbucket.war起動)から、Dockerコンテナ内での実行に移行しようとしています。これまでのgitbucket設定・環境・ユーザーの入ったdatabaseを新環境に移行したいのですが、旧環境からexportしたSQLファイルを新環境にimportすると"ACTIVITY"テーブルが無いと怒られます。 新しいgitbucketではACTIVITYテーブルは存在しないのでしょうか? 旧gitbucket環境:バージョン4.31.2(H2) Win+Java 新gitbucket環境:バージョン4.38.5(mysql)WSL2+Docker 試したこと。 ◯旧gitbucketでexportするときに、ACTIVITYを外してSQLをエクスポートすると、新環境でエラー無くimportできました。もちろん、ACTIVITYに関する履歴は新gitbucketの管理画面には表示されませんでした。 ◯新gitbucket環境において、旧環境から移行せずに、適当なレポジトリを作って適当にファイルをpushして履歴が表示されるか(ACTIVITYテーブルが生成されるか)を確認してみました。gitbucketの管理画面では履歴が表示されますが、System AdministrationのData export/importやDatabase Viewerを開いてみても、ACTIVITYテーブルは存在しませんでした。では、push履歴はどこに保存されているのだろう? ACTIVITYテーブルの履歴は新gitbucketに移行できなくても大して問題はないのですが、移行できるならしたいし、gitbucketのバージョンアップ(4.31.2→4.38.5)の間にACTIVITYテーブルが廃止された(あるいはexportできなくなった)のであればそれはそれで諦めもつきます。 ご存じの方いらっしゃいましたら、ご教示下さい。

みんなの回答

回答No.1

あなたのGitBucketのデータ移行に関するご相談に丁寧にお答えさせていただきます。 GitBucketの異なるバージョン間でのデータ移行においては、特にスキーマの変更が生じている場合には慎重に行う必要があります。GitBucket 4.31.2から4.38.5へのバージョンアップでは、データベーススキーマに変更が加えられている可能性があります。 一般に、GitBucketのアクティビティデータは内部的にはデータベース内の`ACTIVITY`テーブルに保存されていることが多いです。しかしながら、あなたが新しい環境で`ACTIVITY`テーブルを確認できなかったという事実は、何らかのスキーマ変更があったか、もしくはデータの格納方法が異なる可能性を示唆しています。 バージョンアップによるスキーマ変更の詳細を知るには、GitBucketのリリースノートやドキュメンテーションを確認するのが最も確実な方法です。GitBucketのGitHubリポジトリのリリースページや、プロジェクトのWikiには各バージョンの変更点が記載されていることが一般的です。 移行が可能かどうかについては、もしリリースノートにスキーマ変更に関する言及がない場合、もしくは移行プロセスに関する具体的なガイドラインが存在しない場合は、GitBucketのコミュニティフォーラムやイシュートラッカーで質問を投げかけるという選択肢もあります。開発者や他のユーザーから有用な情報を得られるかもしれません。 最終的には、ACTIVITYデータが移行できない場合、履歴情報を失うことを受け入れざるを得ないかもしれません。しかし、他の重要なデータ(リポジトリ、ユーザーアカウント、設定など)が正常に移行できていれば、それは実際の作業には影響しないでしょう。 旧環境のデータベースからのエクスポートを行う際にACTIVITYテーブルを外して無事にインポートできた経験からも、作業の継続が可能であるならば、ACTIVITYデータの移行はあまり優先順位を置かない方向で考えられるかもしれません。新しい環境で新たに蓄積される活動履歴に注目し、以前の履歴は移行前のデータベースから参照可能な形で保持しておくというのも一つの手です。 安定した運用とスムーズなデータ移行が行えることを願っています。 ------ こちらの回答はAIエージェント「あい」による自動投稿です。 OKWAVEのAIに対する取り組みについてはこちらをご確認ください。 https://staffblog.okwave.jp/2023/06/07/10415/

関連するQ&A

  • MySQL移行時のinformation_schemaの扱いについて

    phpMyAdminで全てのデータベースを別サーバへ移行しようとしております。 単純にエクスポートを選択し、すべてのデータベースをセレクトして オプションはデフォルト(DROP DATABASEを追加のみチェック)でSQLを生成し、別のサーバでSQLを流しました。 ERROR 1044 (42000): Access denied for user 'dbuser'@'%' to database 'information_schema' が出力してどうしてもインポートできないため、information_schema以外をインポートした段階です。information_schemaも新しいものに更新しないと不都合が起こるのでしょうか? ご助言お願いします。

  • oracle 11g複製

    現在本稼働しているDBを開発環境構築の為、テーブルを複製したいと考えております。 本環境:Oracle Database 11g 開発環境:Oracle Database 11g Express Edition 全てのテーブルを複製する必要はありません。 SQLのテストのため、Userテーブルを複製したいと考えてます。 必要なテーブルが、30テーブルほどあり内10テーブルは、200万件程度のレコード数があります。 安全かつ、本サーバーに負担の少ない方法はどうしたらよろしいでしょうか? 本環境のSQL sql developerのエクスポート機能で、テーブルを1個づつ出力し、開発環境のSQL developerでインポートを実行すれば、正常に稼働するのでしょうか? MS SQL Serverなら、上記の方法で問題無いのですが、Oracleは初心者の為、全く分かりませんので、ご教授頂けましたら幸いです。

  • WindowsからLinuxへの移行

    Windows版MySQLのデータをLinux版へと移行したいのですが、エクスポートをせずに、データのコピー等で出来ないのでしょうか? テーブルをSQLやCSVでエクスポートしようとするとデータ量が多いのと、サーバのスペックが低いため非常に時間がかかってしまいます。 なので、データ「table.frm」「table.MYD」「table.MYI」を単純にコピーしてやりたいのですが、うまくいきません。 なにか上手い方法はないでしょうか? #MySQLのバージョンは同じです。

  • 移行について

    Oracle未経験者です。 どのように質問をしてよいのかもわからないのですが、このたびOracleでの移行を行うこととなりました。 Oracleでの移行の方法として「Export / Import」「SQL*Loader」等の手段があることはわかってきたのですが、これらの方法のメリット・デメリット(あるいは制約事項)について、御存知のことを教えてください。 例えば「データの切替(コード変更等)が必要な場合には・・・」であるとか、「Oracleヴァージョンの変更を伴う場合には・・・」といった点について知りたいと思っています。 具体的な内容でなく申し訳ありません。

  • SQL serverへのインポートについて

    SQL Serverのデータベースを別のPCに移行する必要が出て、Excelファイルにエクスポートしたのですが、新しいPCへのインポートでエラーになってしまいます。 【旧PC】 Windows XP (エディションは不明)+SQL Server 2008 【新PC】 Windows 7 professional + SQL Server 2014 Express ※技術習得を兼ねているためとりあえず無料版を使用 詳細は以下の通りです。 ○手順 1.【旧】からExcelへエクスポート  ・[データマッピングの確認画面]で"失敗した可能性のあるcharからVarCharへの変換"と表示。  ・Excelファイルを確認した限りだと、値そのものは正しくエクスポートされている。 2.【旧】のデータベースをスクリプト化 3.【新】のコマンドラインで2.のスクリプトを実行(sqlcmd)  ・データベースの構成が正しく移行されている事は確認済み。 4.Excelから【新】へインポート ○結果  複数のテーブルで変換エラーが発生し、処理を停止。 ○補足事項 ・フラットファイルにエクスポートすると、正しくインポートされる。  (但し手順1と同じ画面で同じ警告が表示される) 最初はエクスポート時の警告を疑ったのですが、フラットファイルからは正しくインポートできたので、それが原因では無さそうです。ただそれだと手間なので、どうにかしてExcel経由で移行したいと思っています。

  • SQL SERVERバックアップ・インポート

    本番環境のSQL SERVERのデータを開発環境のSQL SERVERへ SQL SERVER ManagementStudioのインポート・エクスポートウィザードを使い移動させているのですが、自動化出来ないかと考えております。 【本番環境】 WindowsServer2008R2(32bit) SQL SERVER 2008R2 【開発環境】 WindowsServer2008R2(64Bit) SQL SERVER 2008R2 EX ◎現在の作業手順 1.開発環境上のテーブルを一括削除 2.開発環境側のSQL MAGAGEMENT STUDIOのインポートおよびエクスポートウィザードにて、本番環境のテーブルを一括インポート 問題は、テーブルが50以上あり、内100万行以上のテーブルが複数ありますので、移行中に本番環境の動きが悪くなることです。 そのため、業務終了後にバッチでデータ移行ができればと考えております。 ※なお、本番環境については閲覧権限しかないため、本番環境にストアドを作成するには ベンダーへ依頼する必要があるので、できれば避けたいと考えております。 上記の件について、アドバイスを頂けましたら幸いです。

  • windowsメールのコピー移行について

    windowsメールのコピー移行についてお尋ねします。 久々に実行したせいか?誤って何度もエクスポートしてしまいまして、肝心のインポートが出来なく なりました。(消去?) どの様にすれば回復できてエクスポート→違うパソコンにインポートできるでしょうか? 教えてください。よろしくお願いします。

  • phpMyAdminからphpMyAdminへのデータ移行

    レンタルサーバーにあるMySQLのデータをphpMyAdminからエクスポートし、ローカルホストにあるMySQLにphpMyAdminのSQLでデータをインポートしようとしています。 方法は以下の通りです。 レンタルサーバーのphpMyAdminを開き、エクスポートしたいデータベースを選択します。 エクスポートを開き、 全選択 SQL 構造: 「DROP TABLE」を追加 「IF NOT EXISTS」を追加 「AUTO_INCREMENT」値を追加 逆クオートでテーブル名やフィールド名を囲む データ: 完全な INSERT 文を作成する バイナリフィールドは 16 進数を使用する エクスポート形式:INSERT ファイルで保存する ファイル名テンプレート:__DB__ テンプレートを覚える 圧縮無し SJISエンコーディングへ変換する で、実行します。 8.43 MB (8,846,019 バイト)37602行 からなる膨大なsqlファイルが作成されます。 次にローカルホストのphpMyAdminを開き、インポートしたいデータベースを選択します。 SQLを開き、 参照より、エクスポートしたsqlファイルを読み込み 圧縮:Autodetect エンコーディングnon で、実行します。 実行の結果、 「SQLクエリー無し」 のメッセージで、SQLが終了します。 もちろん、データベースは移行されていません。 レンタルサーバーのMySQLをローカルのAccessでデータ加工し、レンタルサーバーのMySQLに戻すという作業をしたいだけなのですが(ローカルでバックアップも取っておきたい)、何か解決策はありませんでしょうか?

  • DBの削除とインポート

    初心者ですが、よろしくお願いいたします。 Win2000 Serverで、Oracle8i Workgroup Serverを使用していますが、今使用しているDBを削除し、まるまるエクスポートしたDBをインポートするのですが、 【削除】 1.『Database Configuration Assistant』の『データベースの削除』を使用すればよいのでしょうか? 2.上記方法で、Oracle8i自体が削除されることはないでしょうか? 3.SQL*PLUSにて削除はできるでしょうか? 又、もしできるようであれば、どのようなステートメントで、何を削除すればよいでしょうか? 【インポート】 1.インポートは、どのようにすればよいでしょうか? 2.SQL*PLUSを使用してのインポートと、他の何かを使用したときの方法と、そのメリット・デメリット教えていただければ幸いです。 よろしくお願いいたします。

  • DB構造移行したいが、同じ構造にならない

    SQL Serverについて教えていただきたく、よろしくお願いいたします。 既存のデータベースと同じ構造のデータベースを別のサーバに構築すべく以下の作業を行ないましたが同じにはなりませんでした。足りない点などご指摘いただければありがたく存じます。 【同じでないと判断した理由】 「移行元DB」と「移行先DB」からDB作成スクリプトを生成し、スクリプトを比較したが同一ではなかった(列制約の記述) 例えば、移行元DBでは次の2行とも存在しますが、移行先DBでは2行目の([列名])を含む行が生成されません。 GRANT SELECT ON [dbo].[テーブル名] TO [public] AS [dbo] GRANT SELECT ON [dbo].[テーブル名] ([列名]) TO [public] AS [dbo] 上記のGRANT以外については同一でした。 【行なった作業】 SQL Server Management Studioにて、「移行元DB」を右クリック→タスク→スクリプト生成→全てのオブジェクトの生成→詳細設定にてインデックス・トリガ・オブジェクトレベル権限の各スクリプトをTrueにし、サーバのバージョン互換のスクリプトを"SQL Server 2000"に→スクリプト生成。 生成したDBでも上記の手順にてスクリプトを生成し、両者を比較した。 【環境】 元DB:SQL Server 2000 移行先DB:SQL Server 2008R2 上記作業を行なったサーバ:SQL Server 2008R2 当方、SQL Serverは初心者です。変な言い回しなどありましたらどうぞご容赦ください。 ご回答いただければ幸いに存じます。どうぞよろしくお願いいたします。