Skip to content

Commit 0085aa0

Browse files
author
Michael Gukov
committed
feat(be): boltdb to sql migration tool
1 parent 445cb0f commit 0085aa0

2 files changed

Lines changed: 16 additions & 6 deletions

File tree

cli/cmd/migrate.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ func migrateBoltDb(boltDbPath string) {
6767
return
6868
}
6969

70-
_, err := os.Stat(boltDbPath)
70+
file, err := os.Stat(boltDbPath)
7171
if err != nil {
7272
if errors.Is(err, os.ErrNotExist) {
7373
fmt.Println("File does not exist")
@@ -77,6 +77,10 @@ func migrateBoltDb(boltDbPath string) {
7777
return
7878
}
7979

80+
if file.Size() > 1024*1024*1024 {
81+
fmt.Println("File is too big ", file.Size())
82+
}
83+
8084
boltStore := bolt.CreateBoltDB()
8185
boltStore.Filename = boltDbPath
8286
boltStore.Connect("migrate")

db_migration/migration.go

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@ func (m *Migrator) Migrate(oldStore, newStore db.Store) error {
2525

2626
m.userIDs = make(map[int]db.User)
2727

28-
//m.integrationIDs = make(map[int]int)
29-
3028
fmt.Println("Migrating users...")
3129
if err := m.migrateUsers(); err != nil {
3230
return err
@@ -65,6 +63,7 @@ func (m *Migrator) migrateProjects() error {
6563
return err
6664
}
6765

66+
migrated := map[int]bool{}
6867
for _, user := range users {
6968
newUser := m.userIDs[user.ID]
7069
projects, err := m.oldStore.GetProjects(user.ID)
@@ -74,10 +73,13 @@ func (m *Migrator) migrateProjects() error {
7473
}
7574

7675
for _, project := range projects {
76+
if !migrated[project.ID] {
77+
err = m.migrateProject(&newUser, &project)
78+
if err != nil {
79+
return err
80+
}
7781

78-
err = m.migrateProject(&newUser, &project)
79-
if err != nil {
80-
return err
82+
migrated[project.ID] = true
8183
}
8284
}
8385
}
@@ -91,6 +93,10 @@ func (m *Migrator) migrateProject(user *db.User, project *db.Project) error {
9193
return err
9294
}
9395

96+
if err := backup.Verify(); err != nil {
97+
return err
98+
}
99+
94100
_, err = backup.Restore(*user, m.newStore)
95101
return err
96102
}

0 commit comments

Comments
 (0)