|
|
@@ -5,20 +5,26 @@
|
|
|
曾经插入就不插入了
|
|
|
*/
|
|
|
// Require Composer's autoloader.
|
|
|
-require_once __DIR__.'/../../vendor/autoload.php';
|
|
|
-require_once __DIR__."/../../app/config.php";
|
|
|
-require_once __DIR__."/../../app/public/snowflakeid.php";
|
|
|
-
|
|
|
+require_once __DIR__.'/../../../public/vendor/autoload.php';
|
|
|
+require_once __DIR__."/../../../public/app/config.php";
|
|
|
+require_once __DIR__."/../../../public/app/public/snowflakeid.php";
|
|
|
+
|
|
|
+set_exception_handler(function($e){
|
|
|
+ fwrite(STDERR,"error-msg:".$e->getMessage().PHP_EOL);
|
|
|
+ fwrite(STDERR,"error-file:".$e->getFile().PHP_EOL);
|
|
|
+ fwrite(STDERR,"error-line:".$e->getLine().PHP_EOL);
|
|
|
+ exit;
|
|
|
+});
|
|
|
# 更新索引表
|
|
|
#user info
|
|
|
$user_db=_FILE_DB_USERINFO_;#user数据库
|
|
|
$user_table=_TABLE_USER_INFO_;#user表名
|
|
|
|
|
|
-$src_db=_SRC_DB_USER_WBW_;#源数据库
|
|
|
-$src_table=_TABLE_SRC_USER_WBW_BLOCK_;#源表名
|
|
|
+$src_db=_SQLITE_DB_USER_WBW_;#源数据库
|
|
|
+$src_table=_SQLITE_TABLE_USER_WBW_BLOCK_;#源表名
|
|
|
|
|
|
-$dest_db=_FILE_DB_USER_WBW_;#目标数据库
|
|
|
-$dest_table=_TABLE_USER_WBW_BLOCK_;#目标表名
|
|
|
+$dest_db=_PG_DB_USER_WBW_;#目标数据库
|
|
|
+$dest_table=_PG_TABLE_USER_WBW_BLOCK_;#目标表名
|
|
|
|
|
|
# 雪花id
|
|
|
$snowflake = new SnowFlakeId();
|
|
|
@@ -26,7 +32,7 @@ $snowflake = new SnowFlakeId();
|
|
|
fwrite(STDOUT, "migarate wbw_block".PHP_EOL);
|
|
|
#打开user数据库
|
|
|
$PDO_USER = new PDO($user_db,_DB_USERNAME_,_DB_PASSWORD_,array(PDO::ATTR_PERSISTENT=>true));
|
|
|
-$PDO_USER->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
|
|
|
+$PDO_USER->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
|
|
fwrite(STDOUT,"open user table".PHP_EOL);
|
|
|
#从user数据表中读取
|
|
|
$query = "SELECT id FROM ".$user_table." WHERE userid = ? ";
|
|
|
@@ -35,12 +41,12 @@ $stmtUser = $PDO_USER->prepare($query);
|
|
|
|
|
|
#打开源数据库
|
|
|
$PDO_SRC = new PDO($src_db,_DB_USERNAME_,_DB_PASSWORD_,array(PDO::ATTR_PERSISTENT=>true));
|
|
|
-$PDO_SRC->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
|
|
|
+$PDO_SRC->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
|
|
fwrite(STDOUT, "open src".PHP_EOL);
|
|
|
|
|
|
#打开目标数据库
|
|
|
$PDO_DEST = new PDO($dest_db,_DB_USERNAME_,_DB_PASSWORD_,array(PDO::ATTR_PERSISTENT=>true));
|
|
|
-$PDO_DEST->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
|
|
|
+$PDO_DEST->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
|
|
fwrite(STDOUT, "open dest".PHP_EOL);
|
|
|
|
|
|
// 开始一个事务,关闭自动提交
|
|
|
@@ -66,7 +72,7 @@ $queryInsert = "INSERT INTO ".$dest_table."
|
|
|
created_at,
|
|
|
updated_at
|
|
|
)
|
|
|
- VALUES ( ?,? , ? , ? , ? ,? ,? ,? ,? ,? ,? ,?,?,to_timestamp(?),to_timestamp(?))";
|
|
|
+ VALUES ( ? , ? , ? , ? , ? , ? ,? , ? , ? , ? , ? , ? , ? , ? , to_timestamp(?),to_timestamp(?))";
|
|
|
|
|
|
|
|
|
$commitData = [];
|
|
|
@@ -97,6 +103,10 @@ while($srcData = $stmtSrc->fetch(PDO::FETCH_ASSOC)){
|
|
|
if(empty($srcData["status"])){
|
|
|
$srcData["status"] = 10;
|
|
|
}
|
|
|
+ if(empty($srcData["book"])){
|
|
|
+ fwrite(STDERR, "book is null ".PHP_EOL);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
if(substr($srcData["book"],0,1)==="p"){
|
|
|
$srcData["book"] = (int)substr($srcData["book"],1);
|
|
|
}
|
|
|
@@ -110,19 +120,35 @@ while($srcData = $stmtSrc->fetch(PDO::FETCH_ASSOC)){
|
|
|
$exist = $getExist->fetch(PDO::FETCH_ASSOC);
|
|
|
if(!$exist){
|
|
|
#没有相同数据
|
|
|
+ if(strlen($srcData["parent_id"])>36){
|
|
|
+ fwrite(STDERR, "parent_id too long ".$srcData["parent_id"].PHP_EOL);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if(strlen($srcData["channal"])>36){
|
|
|
+ fwrite(STDERR, "channal too long ".$srcData["channal"].PHP_EOL);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if(strlen($srcData["parent_channel"])>36){
|
|
|
+ fwrite(STDERR, "parent_channel too long ".$srcData["parent_channel"].PHP_EOL);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if(strlen($srcData["owner"])>36){
|
|
|
+ fwrite(STDERR, "owner too long ".$srcData["owner"].PHP_EOL);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
$commitData[] = array(
|
|
|
$snowflake->id(),
|
|
|
$uuid,
|
|
|
- trim($srcData["parent_id"],"{}"),
|
|
|
- trim($srcData["channal"],"{}"),
|
|
|
- trim($srcData["parent_channel"],"{}"),
|
|
|
- trim($srcData["owner"],"{}"),
|
|
|
+ $srcData["parent_id"],
|
|
|
+ $srcData["channal"],
|
|
|
+ $srcData["parent_channel"],
|
|
|
+ $srcData["owner"],
|
|
|
$userId["id"],
|
|
|
- (int)$srcData["book"],
|
|
|
- (int)$srcData["paragraph"],
|
|
|
+ $srcData["book"],
|
|
|
+ $srcData["paragraph"],
|
|
|
$srcData["style"],
|
|
|
$srcData["lang"],
|
|
|
- (int)$srcData["status"],
|
|
|
+ $srcData["status"],
|
|
|
$srcData["create_time"],
|
|
|
$srcData["modify_time"],
|
|
|
$srcData["create_time"]/1000,
|