プリザンターのDBをSQL ServerからPostgreSQLへ移行する手順
SQL ServerのデータをPostgreSQLに移行する場合、以下マニュアルページの手順において以下の通り「DBの構成」の一部分のみ手順が異なります。
[プリザンターをCentOSにインストールする](/manual/getting-started-pleasanter-centos)
・まずは上記ページの「データベースの構成」でRds.jsonの編集までを手順に沿って実行します(CodeDefiner実行の手前まで)。
・/web/pleasanter/Implem.Pleasanter/App_Data/Parameters/Migration.jsonにSQL Serverの接続文字列を記載する。
・CodeDefiner migrate オプションで実行する(DBが作られデータが移行されます。別途 _rds で実行する必要はありません)。
具体的には、以下の実行コマンドのオプション部分が異なります。
新規インストール時:
**> dotnet Implem.CodeDefiner.dll _rds**
SQL Serverから移行時:
**> dotnet Implem.CodeDefiner.dll migrate**
### 注意事項
・SQL ServerからPostgreSQLへの移行にのみ使用できます。
|移行元|移行先|本手順の使用可否|
|:--|:--|:--|
|SQL Server|PostgreSQL|可|
|SQL Server|MySQL ※|不可|
|PostgreSQL|SQL Server|不可|
|PostgreSQL|MySQL ※|不可|
|MySQL ※|SQL Server|不可|
|MySQL ※|PostgreSQL|不可|
※MySQLはver1.4.9.0以降で使用できます。ver1.4.9.0より前のプリザンターはMySQLに対応していません。
・SQL ServerとPostgreSQLが異なるサーバに配置されていても移行可能です。
・PostgreSQLに既にデータが入っている場合にはIDが重複するため移行できません。
※すでにデータが入っている場合は、十分にご注意してデータベースを削除してください(必要なデータがある場合はバックアップしてください)。
---
### 3.2 DBの構成
/web/pleasanter/Implem.Pleasanter/App_Data/Parameters/Rds.json を以下のように設定します。
##### JSON
```json
{
"Dbms": "PostgreSQL",
"Provider": "Local",
"TimeZoneInfo": "Tokyo Standard Time",
"SaConnectionString":"Server=localhost;Port=5432;Database=postgres;UID=postgres;PWD=<設定したパスワード>",
"OwnerConnectionString":"Server=localhost;Port=5432;Database=#ServiceName#;UID=#ServiceName#_Owner;PWD=SetAdminsPWD","UserConnectionString":"Server=localhost;Port=5432;Database=#ServiceName#;UID=#ServiceName#_User;PWD=SetUsersPWD",
"SqlCommandTimeOut": 600,
"MinimumTime": 3,
"DeadlockRetryCount": 4,
"DeadlockRetryInterval": 1000
}
```
- Implem.CodeDefinerフォルダーに移動し、CodeDefinerを実行して、SQL Serverの上にあるプリザンターのデータをPostgreSQLへ移行します。
**※以下のコマンドのみ、通常の.NET Core版インストールと異なります**
```
cd /web/pleasanter/Implem.CodeDefiner
dotnet Implem.CodeDefiner.dll migrate
```
---
- 以下のコマンドでPleasnterを実行し、起動確認を行います。
```
cd ../Implem.Pleasanter
dotnet Implem.Pleasanter.dll
```
- 別のターミナルで "http://localhost:5000/" にアクセスし、正常なレスポンスが帰ってくることを確認します。
```
curl -v http://localhost:5000/
```
- 確認できたらCtrl+Cで終了します。
引き続き、以下のマニュアルの「Pleasanterサービス用スクリプトの作成」以降を手順通り実行してください。
[プリザンターをCentOSにインストールする](/manual/getting-started-pleasanter-centos)