Migration to nano

This commit is contained in:
2017-11-01 09:45:14 +01:00
parent 32d7378e87
commit c60f53ed76
7 changed files with 228 additions and 212 deletions

View File

@ -1,273 +1,273 @@
package main
// package main
import (
"time"
// import (
// "time"
"github.com/aerogo/database"
"github.com/animenotifier/arn"
"github.com/fatih/color"
)
// "github.com/aerogo/nano"
// "github.com/animenotifier/arn"
// "github.com/fatih/color"
// )
func main() {
arn.DB.SetScanPriority("high")
// func main() {
// arn.DB.SetScanPriority("high")
aeroDB := database.New("arn", arn.DBTypes)
defer aeroDB.Close()
// aeroDB := nano.New(5000).Namespace("arn", arn.DBTypes...)
// defer aeroDB.Close()
for typeName := range arn.DB.Types() {
count := 0
// for typeName := range arn.DB.Types() {
// count := 0
switch typeName {
case "Anime":
channel, _ := arn.DB.All(typeName)
// switch typeName {
// case "Anime":
// channel, _ := arn.DB.All(typeName)
for obj := range channel.(chan *arn.Anime) {
aeroDB.Set(typeName, obj.ID, obj)
count++
}
// for obj := range channel.(chan *arn.Anime) {
// aeroDB.Set(typeName, obj.ID, obj)
// count++
// }
case "AnimeEpisodes":
channel, _ := arn.DB.All(typeName)
// case "AnimeEpisodes":
// channel, _ := arn.DB.All(typeName)
for obj := range channel.(chan *arn.AnimeEpisodes) {
aeroDB.Set(typeName, obj.AnimeID, obj)
count++
}
// for obj := range channel.(chan *arn.AnimeEpisodes) {
// aeroDB.Set(typeName, obj.AnimeID, obj)
// count++
// }
case "AnimeList":
channel, _ := arn.DB.All(typeName)
// case "AnimeList":
// channel, _ := arn.DB.All(typeName)
for obj := range channel.(chan *arn.AnimeList) {
aeroDB.Set(typeName, obj.UserID, obj)
count++
}
// for obj := range channel.(chan *arn.AnimeList) {
// aeroDB.Set(typeName, obj.UserID, obj)
// count++
// }
case "AnimeCharacters":
channel, _ := arn.DB.All(typeName)
// case "AnimeCharacters":
// channel, _ := arn.DB.All(typeName)
for obj := range channel.(chan *arn.AnimeCharacters) {
aeroDB.Set(typeName, obj.AnimeID, obj)
count++
}
// for obj := range channel.(chan *arn.AnimeCharacters) {
// aeroDB.Set(typeName, obj.AnimeID, obj)
// count++
// }
case "AnimeRelations":
channel, _ := arn.DB.All(typeName)
// case "AnimeRelations":
// channel, _ := arn.DB.All(typeName)
for obj := range channel.(chan *arn.AnimeRelations) {
aeroDB.Set(typeName, obj.AnimeID, obj)
count++
}
// for obj := range channel.(chan *arn.AnimeRelations) {
// aeroDB.Set(typeName, obj.AnimeID, obj)
// count++
// }
case "Character":
channel, _ := arn.DB.All(typeName)
// case "Character":
// channel, _ := arn.DB.All(typeName)
for obj := range channel.(chan *arn.Character) {
aeroDB.Set(typeName, obj.ID, obj)
count++
}
// for obj := range channel.(chan *arn.Character) {
// aeroDB.Set(typeName, obj.ID, obj)
// count++
// }
case "Purchase":
channel, _ := arn.DB.All(typeName)
// case "Purchase":
// channel, _ := arn.DB.All(typeName)
for obj := range channel.(chan *arn.Purchase) {
aeroDB.Set(typeName, obj.ID, obj)
count++
}
// for obj := range channel.(chan *arn.Purchase) {
// aeroDB.Set(typeName, obj.ID, obj)
// count++
// }
case "PushSubscriptions":
channel, _ := arn.DB.All(typeName)
// case "PushSubscriptions":
// channel, _ := arn.DB.All(typeName)
for obj := range channel.(chan *arn.PushSubscriptions) {
aeroDB.Set(typeName, obj.UserID, obj)
count++
}
// for obj := range channel.(chan *arn.PushSubscriptions) {
// aeroDB.Set(typeName, obj.UserID, obj)
// count++
// }
case "User":
channel, _ := arn.DB.All(typeName)
// case "User":
// channel, _ := arn.DB.All(typeName)
for obj := range channel.(chan *arn.User) {
aeroDB.Set(typeName, obj.ID, obj)
count++
}
// for obj := range channel.(chan *arn.User) {
// aeroDB.Set(typeName, obj.ID, obj)
// count++
// }
case "Post":
channel, _ := arn.DB.All(typeName)
// case "Post":
// channel, _ := arn.DB.All(typeName)
for obj := range channel.(chan *arn.Post) {
aeroDB.Set(typeName, obj.ID, obj)
count++
}
// for obj := range channel.(chan *arn.Post) {
// aeroDB.Set(typeName, obj.ID, obj)
// count++
// }
case "Thread":
channel, _ := arn.DB.All(typeName)
// case "Thread":
// channel, _ := arn.DB.All(typeName)
for obj := range channel.(chan *arn.Thread) {
aeroDB.Set(typeName, obj.ID, obj)
count++
}
// for obj := range channel.(chan *arn.Thread) {
// aeroDB.Set(typeName, obj.ID, obj)
// count++
// }
case "Analytics":
channel, _ := arn.DB.All(typeName)
// case "Analytics":
// channel, _ := arn.DB.All(typeName)
for obj := range channel.(chan *arn.Analytics) {
aeroDB.Set(typeName, obj.UserID, obj)
count++
}
// for obj := range channel.(chan *arn.Analytics) {
// aeroDB.Set(typeName, obj.UserID, obj)
// count++
// }
case "SoundTrack":
channel, _ := arn.DB.All(typeName)
// case "SoundTrack":
// channel, _ := arn.DB.All(typeName)
for obj := range channel.(chan *arn.SoundTrack) {
aeroDB.Set(typeName, obj.ID, obj)
count++
}
// for obj := range channel.(chan *arn.SoundTrack) {
// aeroDB.Set(typeName, obj.ID, obj)
// count++
// }
case "Item":
channel, _ := arn.DB.All(typeName)
// case "Item":
// channel, _ := arn.DB.All(typeName)
for obj := range channel.(chan *arn.Item) {
aeroDB.Set(typeName, obj.ID, obj)
count++
}
// for obj := range channel.(chan *arn.Item) {
// aeroDB.Set(typeName, obj.ID, obj)
// count++
// }
case "Inventory":
channel, _ := arn.DB.All(typeName)
// case "Inventory":
// channel, _ := arn.DB.All(typeName)
for obj := range channel.(chan *arn.Inventory) {
aeroDB.Set(typeName, obj.UserID, obj)
count++
}
// for obj := range channel.(chan *arn.Inventory) {
// aeroDB.Set(typeName, obj.UserID, obj)
// count++
// }
case "Settings":
channel, _ := arn.DB.All(typeName)
// case "Settings":
// channel, _ := arn.DB.All(typeName)
for obj := range channel.(chan *arn.Settings) {
aeroDB.Set(typeName, obj.UserID, obj)
count++
}
// for obj := range channel.(chan *arn.Settings) {
// aeroDB.Set(typeName, obj.UserID, obj)
// count++
// }
case "UserFollows":
channel, _ := arn.DB.All(typeName)
// case "UserFollows":
// channel, _ := arn.DB.All(typeName)
for obj := range channel.(chan *arn.UserFollows) {
aeroDB.Set(typeName, obj.UserID, obj)
count++
}
// for obj := range channel.(chan *arn.UserFollows) {
// aeroDB.Set(typeName, obj.UserID, obj)
// count++
// }
case "PayPalPayment":
channel, _ := arn.DB.All(typeName)
// case "PayPalPayment":
// channel, _ := arn.DB.All(typeName)
for obj := range channel.(chan *arn.PayPalPayment) {
aeroDB.Set(typeName, obj.ID, obj)
count++
}
// for obj := range channel.(chan *arn.PayPalPayment) {
// aeroDB.Set(typeName, obj.ID, obj)
// count++
// }
case "AniListToAnime":
channel, _ := arn.DB.All(typeName)
// case "AniListToAnime":
// channel, _ := arn.DB.All(typeName)
for obj := range channel.(chan *arn.AniListToAnime) {
aeroDB.Set(typeName, obj.ServiceID, obj)
count++
}
// for obj := range channel.(chan *arn.AniListToAnime) {
// aeroDB.Set(typeName, obj.ServiceID, obj)
// count++
// }
case "MyAnimeListToAnime":
channel, _ := arn.DB.All(typeName)
// case "MyAnimeListToAnime":
// channel, _ := arn.DB.All(typeName)
for obj := range channel.(chan *arn.MyAnimeListToAnime) {
aeroDB.Set(typeName, obj.ServiceID, obj)
count++
}
// for obj := range channel.(chan *arn.MyAnimeListToAnime) {
// aeroDB.Set(typeName, obj.ServiceID, obj)
// count++
// }
case "SearchIndex":
anime, _ := arn.DB.Get(typeName, "Anime")
aeroDB.Set(typeName, "Anime", anime)
// case "SearchIndex":
// anime, _ := arn.DB.Get(typeName, "Anime")
// aeroDB.Set(typeName, "Anime", anime)
users, _ := arn.DB.Get(typeName, "User")
aeroDB.Set(typeName, "User", users)
// users, _ := arn.DB.Get(typeName, "User")
// aeroDB.Set(typeName, "User", users)
posts, _ := arn.DB.Get(typeName, "Post")
aeroDB.Set(typeName, "Post", posts)
// posts, _ := arn.DB.Get(typeName, "Post")
// aeroDB.Set(typeName, "Post", posts)
threads, _ := arn.DB.Get(typeName, "Thread")
aeroDB.Set(typeName, "Thread", threads)
// threads, _ := arn.DB.Get(typeName, "Thread")
// aeroDB.Set(typeName, "Thread", threads)
count += 4
// count += 4
case "DraftIndex":
channel, _ := arn.DB.All(typeName)
// case "DraftIndex":
// channel, _ := arn.DB.All(typeName)
for obj := range channel.(chan *arn.DraftIndex) {
aeroDB.Set(typeName, obj.UserID, obj)
count++
}
// for obj := range channel.(chan *arn.DraftIndex) {
// aeroDB.Set(typeName, obj.UserID, obj)
// count++
// }
case "EmailToUser":
channel, _ := arn.DB.All(typeName)
// case "EmailToUser":
// channel, _ := arn.DB.All(typeName)
for obj := range channel.(chan *arn.EmailToUser) {
if obj.Email == "" {
continue
}
// for obj := range channel.(chan *arn.EmailToUser) {
// if obj.Email == "" {
// continue
// }
aeroDB.Set(typeName, obj.Email, obj)
count++
}
// aeroDB.Set(typeName, obj.Email, obj)
// count++
// }
case "FacebookToUser":
channel, _ := arn.DB.All(typeName)
// case "FacebookToUser":
// channel, _ := arn.DB.All(typeName)
for obj := range channel.(chan *arn.FacebookToUser) {
if obj.ID == "" {
continue
}
// for obj := range channel.(chan *arn.FacebookToUser) {
// if obj.ID == "" {
// continue
// }
aeroDB.Set(typeName, obj.ID, obj)
count++
}
// aeroDB.Set(typeName, obj.ID, obj)
// count++
// }
case "GoogleToUser":
channel, _ := arn.DB.All(typeName)
// case "GoogleToUser":
// channel, _ := arn.DB.All(typeName)
for obj := range channel.(chan *arn.GoogleToUser) {
if obj.ID == "" {
continue
}
// for obj := range channel.(chan *arn.GoogleToUser) {
// if obj.ID == "" {
// continue
// }
aeroDB.Set(typeName, obj.ID, obj)
count++
}
// aeroDB.Set(typeName, obj.ID, obj)
// count++
// }
case "TwitterToUser":
channel, _ := arn.DB.All(typeName)
// case "TwitterToUser":
// channel, _ := arn.DB.All(typeName)
for obj := range channel.(chan *arn.TwitterToUser) {
if obj.ID == "" {
continue
}
// for obj := range channel.(chan *arn.TwitterToUser) {
// if obj.ID == "" {
// continue
// }
aeroDB.Set(typeName, obj.ID, obj)
count++
}
// aeroDB.Set(typeName, obj.ID, obj)
// count++
// }
case "NickToUser":
channel, _ := arn.DB.All(typeName)
// case "NickToUser":
// channel, _ := arn.DB.All(typeName)
for obj := range channel.(chan *arn.NickToUser) {
if obj.Nick == "" {
continue
}
// for obj := range channel.(chan *arn.NickToUser) {
// if obj.Nick == "" {
// continue
// }
aeroDB.Set(typeName, obj.Nick, obj)
count++
}
// aeroDB.Set(typeName, obj.Nick, obj)
// count++
// }
default:
color.Yellow("Skipping %s", typeName)
continue
}
// default:
// color.Yellow("Skipping %s", typeName)
// continue
// }
color.Green("Export %d %s", count, typeName)
}
// color.Green("Export %d %s", count, typeName)
// }
time.Sleep(1 * time.Second)
}
// time.Sleep(1 * time.Second)
// }