From: wz Date: Fri, 30 Aug 2019 04:15:27 +0000 (+0800) Subject: fix no table (#394) X-Git-Tag: v1.0.5~49 X-Git-Url: http://git.osdn.net/view?p=bytom%2Fvapor.git;a=commitdiff_plain;h=de1c66cada24ab0f0bd22868de0049369810e1a0 fix no table (#394) * fix no table * fix update status * fix --- diff --git a/cmd/votereward/main.go b/cmd/votereward/main.go index 8695737a..275632dc 100644 --- a/cmd/votereward/main.go +++ b/cmd/votereward/main.go @@ -54,6 +54,8 @@ func runReward(cmd *cobra.Command, args []string) error { log.WithFields(log.Fields{"module": logModule, "error": err}).Fatal("Failded to initialize mysql db.") } + db.LogMode(true) + sync, err := synchron.NewChainKeeper(db, config, rewardEndHeight) if err != nil { log.WithFields(log.Fields{"module": logModule, "error": err}).Fatal("Failded to initialize NewChainKeeper.") diff --git a/toolbar/vote_reward/synchron/block_keeper.go b/toolbar/vote_reward/synchron/block_keeper.go index 99034809..368cb44f 100644 --- a/toolbar/vote_reward/synchron/block_keeper.go +++ b/toolbar/vote_reward/synchron/block_keeper.go @@ -84,7 +84,12 @@ func (c *ChainKeeper) syncChainStatus(db *gorm.DB, chainStatus *orm.ChainStatus) return err } - return c.DetachBlock(db, chainStatus, currentBlock) + preBlock, err := c.node.GetBlockByHash(currentBlock.PreviousBlockHash.String()) + if err != nil { + return err + } + + return c.DetachBlock(db, chainStatus, preBlock) } func (c *ChainKeeper) AttachBlock(db *gorm.DB, chainStatus *orm.ChainStatus, block *types.Block) error { @@ -131,11 +136,11 @@ func (c *ChainKeeper) AttachBlock(db *gorm.DB, chainStatus *orm.ChainStatus, blo } func (c *ChainKeeper) DetachBlock(db *gorm.DB, chainStatus *orm.ChainStatus, block *types.Block) error { - if err := db.Where(&orm.Utxo{VoteHeight: block.Height}).Delete(&orm.Utxo{}).Error; err != nil { + if err := db.Where(&orm.Utxo{VoteHeight: chainStatus.BlockHeight}).Delete(&orm.Utxo{}).Error; err != nil { return err } - if err := db.Where(&orm.Utxo{VetoHeight: block.Height}).Update("veto_height", 0).Error; err != nil { + if err := db.Model(&orm.Utxo{}).Where(&orm.Utxo{VetoHeight: chainStatus.BlockHeight}).Update("veto_height", 0).Error; err != nil { return err }