dbms_init...1
This commit is contained in:
parent
07f9be5e42
commit
0703fb9214
@ -17,6 +17,7 @@ abstract class DBMigration extends BaseController
|
|||||||
}
|
}
|
||||||
abstract protected function getSourceDB(): BaseConnection;
|
abstract protected function getSourceDB(): BaseConnection;
|
||||||
abstract protected function getClient(): array;
|
abstract protected function getClient(): array;
|
||||||
|
abstract protected function getLine(): array;
|
||||||
final protected function getTargetDB(): BaseConnection
|
final protected function getTargetDB(): BaseConnection
|
||||||
{
|
{
|
||||||
if ($this->_targetDB === null) {
|
if ($this->_targetDB === null) {
|
||||||
@ -25,7 +26,7 @@ abstract class DBMigration extends BaseController
|
|||||||
return $this->_targetDB;
|
return $this->_targetDB;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function client_process(mixed $row): array
|
protected function client_process(mixed $row, int $cnt): void
|
||||||
{
|
{
|
||||||
$temps = [];
|
$temps = [];
|
||||||
$temps['code'] = $row['Client_Code'];
|
$temps['code'] = $row['Client_Code'];
|
||||||
@ -47,7 +48,11 @@ abstract class DBMigration extends BaseController
|
|||||||
if (!empty($row['Client_Receive_date'])) {
|
if (!empty($row['Client_Receive_date'])) {
|
||||||
$temps['created_at'] = $row['Client_Receive_date'];;
|
$temps['created_at'] = $row['Client_Receive_date'];;
|
||||||
}
|
}
|
||||||
return $temps;
|
//신규DB에 삽입
|
||||||
|
if (!$this->getTargetDB()->table('clientinfo')->insert($temps)) {
|
||||||
|
throw new \Exception($this->getTargetDB()->error()['message']);
|
||||||
|
}
|
||||||
|
echo "{$cnt} -> {$temps['name']} 고객완료.\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
final public function client(): void
|
final public function client(): void
|
||||||
@ -57,11 +62,55 @@ abstract class DBMigration extends BaseController
|
|||||||
try {
|
try {
|
||||||
$cnt = 1;
|
$cnt = 1;
|
||||||
foreach ($this->getClient() as $row) {
|
foreach ($this->getClient() as $row) {
|
||||||
$datas = $this->client_process($row);
|
$this->client_process($row, $cnt);
|
||||||
if (!$this->getTargetDB()->table('clientinfo')->insert($datas)) {
|
$cnt++;
|
||||||
throw new \Exception($this->getTargetDB()->error()['message']);
|
}
|
||||||
}
|
echo __FUNCTION__ . " 작업을 완료하였습니다.";
|
||||||
echo "{$cnt} -> {$datas['name']} 고객완료.\n";
|
$this->getTargetDB()->transCommit();
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
//Transaction Rollback
|
||||||
|
$this->getTargetDB()->transRollback();
|
||||||
|
echo __FUNCTION__ . " 작업을 실패하였습니다.\n--------------\n" . $e->getMessage() . "\n--------------\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function line_process(mixed $row, int $cnt): void
|
||||||
|
{
|
||||||
|
$temps = [];
|
||||||
|
$temps['code'] = $row['Client_Code'];
|
||||||
|
$temps['role'] = $row['Client_Reseller'] == 30 ? "reseller" : "user";
|
||||||
|
$temps['name'] = $row['Client_Name'];
|
||||||
|
$temps['phone'] = empty($row['Client_Phone1']) ? "" : $row['Client_Phone1'];
|
||||||
|
if (empty($temps['phone'])) {
|
||||||
|
$temps['phone'] = empty($row['Client_Phone2']) ? "" : $row['Client_Phone2'];
|
||||||
|
}
|
||||||
|
$temps['email'] = empty($row['Client_EMail1']) ? "" : $row['Client_EMail1'];
|
||||||
|
if (empty($temps['email'])) {
|
||||||
|
$temps['email'] = empty($row['Client_EMail2']) ? "" : $row['Client_EMail2'];
|
||||||
|
}
|
||||||
|
$temps['account_balance'] = intval($row['Client_Money']);
|
||||||
|
$temps['coupon_balance'] = 0;
|
||||||
|
$temps['point_balance'] = 0;
|
||||||
|
$temps['status'] = 'default';
|
||||||
|
$temps['updated_at'] = empty($row['Client_Renew_date']) ? NULL : $row['Client_Renew_date'];;
|
||||||
|
if (!empty($row['Client_Receive_date'])) {
|
||||||
|
$temps['created_at'] = $row['Client_Receive_date'];;
|
||||||
|
}
|
||||||
|
//신규DB에 삽입
|
||||||
|
if (!$this->getTargetDB()->table('lineinfo')->insert($temps)) {
|
||||||
|
throw new \Exception($this->getTargetDB()->error()['message']);
|
||||||
|
}
|
||||||
|
echo "{$cnt} -> {$temps['name']} Line완료.\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
final public function line(): void
|
||||||
|
{
|
||||||
|
//Transaction Start
|
||||||
|
$this->getTargetDB()->transStart();
|
||||||
|
try {
|
||||||
|
$cnt = 1;
|
||||||
|
foreach ($this->getClient() as $row) {
|
||||||
|
$this->line_process($row, $cnt);
|
||||||
$cnt++;
|
$cnt++;
|
||||||
}
|
}
|
||||||
echo __FUNCTION__ . " 작업을 완료하였습니다.";
|
echo __FUNCTION__ . " 작업을 완료하였습니다.";
|
||||||
|
|||||||
@ -46,4 +46,8 @@ class SourceDB extends DBMigration
|
|||||||
{
|
{
|
||||||
return $this->getSourceDB()->query('SELECT * FROM clientdb')->getResultArray();
|
return $this->getSourceDB()->query('SELECT * FROM clientdb')->getResultArray();
|
||||||
}
|
}
|
||||||
|
protected function getLine(): array
|
||||||
|
{
|
||||||
|
return $this->getSourceDB()->query('select Line_code,line_case,Line_ip,line_client_name,line_gateway,line_id,line_pass,line_name,line_haveip,line_phone,line_mainip from linedb;select Line_code,line_case,Line_ip,line_client_name,line_gateway,line_id,line_pass,line_name,line_haveip,line_phone,line_mainip from linedb')->getResultArray();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,13 +4,13 @@
|
|||||||
"settings": {
|
"settings": {
|
||||||
"width": 3000,
|
"width": 3000,
|
||||||
"height": 3000,
|
"height": 3000,
|
||||||
"scrollTop": -1064.2363,
|
"scrollTop": -1288.5696,
|
||||||
"scrollLeft": -958.7592,
|
"scrollLeft": -826,
|
||||||
"zoomLevel": 0.76,
|
"zoomLevel": 0.76,
|
||||||
"show": 511,
|
"show": 511,
|
||||||
"database": 4,
|
"database": 4,
|
||||||
"databaseName": "",
|
"databaseName": "",
|
||||||
"canvasType": "@dineug/erd-editor/builtin-schema-sql",
|
"canvasType": "ERD",
|
||||||
"language": 1,
|
"language": 1,
|
||||||
"tableNameCase": 4,
|
"tableNameCase": 4,
|
||||||
"columnNameCase": 2,
|
"columnNameCase": 2,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user