Use a better way to insert data in batches (#1874)

This commit is contained in:
Misha Bragin
2024-04-20 22:04:20 +02:00
committed by GitHub
parent 77488ad11a
commit b74078fd95
2 changed files with 153 additions and 3 deletions

View File

@ -55,8 +55,9 @@ func NewSqliteStore(dataDir string, metrics telemetry.AppMetrics) (*SqliteStore,
file := filepath.Join(dataDir, storeStr)
db, err := gorm.Open(sqlite.Open(file), &gorm.Config{
Logger: logger.Default.LogMode(logger.Silent),
PrepareStmt: true,
Logger: logger.Default.LogMode(logger.Silent),
CreateBatchSize: 400,
PrepareStmt: true,
})
if err != nil {
return nil, err
@ -196,7 +197,8 @@ func (s *SqliteStore) SaveAccount(account *Account) error {
result = tx.
Session(&gorm.Session{FullSaveAssociations: true}).
Clauses(clause.OnConflict{UpdateAll: true}).Create(account)
Clauses(clause.OnConflict{UpdateAll: true}).
Create(account)
if result.Error != nil {
return result.Error
}