移行の前提・準備
研修終了時に社用PCを返却することに伴い、私物PCでも同じようにプロジェクト(マニュアルサイト、最終課題)を使用できるようにするための移行手順書です。
(この手順では社内貸し出しPCを「社用PC」、個人所有の私物PCを「私物PC」と記載します。)
本コラムではWindows利用者を対象とした移行手順を記しています。
Mac利用者に向けては記事の後半で補足していますので、そちらを参照してください。
前提
- 社用PCにて、GitHubへ最新の履歴までpush済みであること。
(移行後に更新した場合もpullで最新状態にできるので、厳密には最新でなくても問題ない) - 私物PCのOSがWindowsであること。
事前準備
マニュアルサイトを参考にして、以下の作業を私物PCに実施
- Eclipseの導入(JDK、Eclipse)
- GitBashのダウンロード
- Oracle Databaseのインストール~各スキーマ(スキーマはマニュアル用、最終課題用と必要なものを作成)
- GitHubで自分のアカウントにログイン
プロジェクトの移行
私物PCに対して実施します。
プロジェクトのclone(=複製)について、CUIとGUIの2パターンを紹介しています。いずれかを選んで行ってください。
プロジェクトをcloneする<CUIの場合>
①Git Bashの準備
プロジェクトを配置したいworkspaceディレクトリをGit Bashで開く
(開き方は「Git」の単元を参照)

②GitHub上のリモートリポジトリより、clone用のURLをコピー
対象のプロジェクトで「▼Code」をクリック
→HTTPSまたはSSHを選択してURLをコピーする (※SSH設定をした場合はSSH、していない場合はHTTPSよりコピーする)

③cloneの実行
Git Bashにて、以下cloneのコマンドを実行
git clone 【②でコピーしたURL】
ls
lsコマンド(カレントディレクトリの中身を一覧表示)の結果から、workspace下に対象のプロジェクトがcloneできたことを確認
④プロジェクトをEclipseにインポート
Eclipseにて
「ファイル」>「インポート」>「フォルダーまたはアーカイブからプロジェクト」
↓
・「インポート・ソース」に、「ディレクトリー」より対象のプロジェクトを選択する
・「プロジェクト・ネーチャーの検出および構成」にチェックを入れる
→「完了」

更新に数分の時間を要する場合があります。特にSpringプロジェクトの方が時間がかかります。
☆「進行状況」ビューにて確認することを推奨
なお、併せてGitリポジトリービューへの読み込みも完了した状態になっています。
⑤developブランチの作成 (※developブランチを作成している場合のみ)
☆研修マニュアル内では案内していませんが、ブランチを作成していた場合は以下を実施する
・Git Bashで対象のプロジェクトに移動する
・developブランチを以下コマンドで作成する
cd 【対象のプロジェクト】
git branch develop
↓
・ブランチの作成を確認したい場合は以下のコマンド
git branch
↓
・developブランチに移動
・developブランチに対してpullする
git checkout develop
git pull origin develop
▼ Git BashとGitHub(リモートとローカル)でデフォルトブランチ名が一致しない場合(masterとmainなど)
→現在のリモートブランチ名の確認
git branch –contains
→Git Bash(ローカル)のデフォルトブランチ名を直す
git branch -m 【変更前のブランチ名】【変更後のブランチ名】
プロジェクトをcloneする<GUIの場合>
下記の参考サイトを元に実施可能
※値は自環境に読み変えて実施すること
GitHub のリポジトリを eclipse に落としてくる(クローンする) – Qiita
DBの移行
SQL Developerによるsqlファイルのエクスポート・インポート(GUI)
ここではSQL Developerを使用してsqlファイルを用いた移行方法を紹介します。
既存のデータをすべてSQL文(テーブルの作成やデータの挿入など)に変換し、「.sql」ファイルに出力することができます。
このsqlファイルを移行先DBで読み込み、すべてのSQL文を実行すれば同じデータ環境を再現できる、といった流れです。
①エクスポート<社用PC>
SQL Developerにて
「ツール」>「データベース・エクスポート」
↓
「ソース/宛先」では、
・接続(スキーマ)を選択
・ファイルを選択
…どこにsqlファイルをダウンロードするかを指定するので、参照からDownloadsフォルダを選択し、わかりやすいファイル名を付けましょう。下図では「backup_ims.sql」としています。

(↓参照からDownloadsフォルダを選択、ファイル名を入力した例。このまま保存をクリックすれば↑の状態になります)

↓
「エクスポートするタイプ」は特に変更せず「次へ」
↓
「オブジェクトの指定」では、テーブルやSEQUENCEといったオブジェクトを選択します。
「参照」をクリックし、
すべて移行することで良ければ「>>」をクリック(右側に移動する)

↓
「データの指定」では
先ほどと同様、上向きの2重矢印のボタンをクリック

↓
「エクスポートのサマリー」にて、「終了」をクリック
出力には数分程度 時間を要します。
以上でファイルのエクスポートは完了です。
↓
エクスポートファイルの受け渡し<社用PC→私物PC>
エクスポートしたsqlファイルを私物PCに受け渡します。SlackやGoogle Driveなどを経由するといいでしょう。
②インポート<私物PC>
SQL Developerにて
「ファイル」>「開く」>該当のsqlファイルを開きます
↓
SQLワークシートとして開かれますので、SQL文をすべて実行します。

※macOSの場合
・Eclipse、Git、JDK、(SQL Developer) についてはMac版があり、インストール可能
※他のDBMSを選択する場合、同じベンダーの出しているGUIツールが推奨
・Oracle Database についてはMacに対応していないため、以下のような方針で各自対応してください。
案①macOS上に仮想マシン (VirtualBox, VMWareなど) やDockerを導入し、その仮想環境上でLinux版のOracle Database XEを動かす
…環境を構築するまでの段階が手間取りますが、データベースのデータ移行自体は大きな手間なく実行できます。
(エクスポートしたSQLファイルをそのまま読み込み可能)
案②MySQLやPostgreSQLの導入を検討する
…導入は比較的しやすいものの、コードの修正が必要になる(Entityの自動採番、DB接続関係の設定ファイル)
エクスポートしたSQLファイルに手を加える必要がある(SQL文は一部DBによる差異があるため)
