// 添加了PublicTime, RecommendTime func (this *UpgradeService) UpgradeBlog() bool { notes := []info.Note{} db.ListByQ(db.Notes, bson.M{"IsBlog": true}, ¬es) // PublicTime, RecommendTime = UpdatedTime for _, note := range notes { if note.IsBlog && note.PublicTime.Year() < 100 { db.UpdateByIdAndUserIdMap2(db.Notes, note.NoteId, note.UserId, bson.M{"PublicTime": note.UpdatedTime, "RecommendTime": note.UpdatedTime}) Log(note.NoteId.Hex()) } } return true }
/* <li>Migrate "About me" to single(a single post)</li> <li>Add some default themes to administrator</li> <li>Generate "UrlTitle" for all notes. "UrlTitle" is a friendly url for post</li> <li>Generate "UrlTitle" for all notebooks</li> <li>Generate "UrlTitle" for all singles</li> */ func (this *UpgradeService) UpgradeBetaToBeta2(userId string) (ok bool, msg string) { if configService.GetGlobalStringConfig("UpgradeBetaToBeta2") != "" { return false, "Leanote have been upgraded" } // 1. aboutMe -> page userBlogs := []info.UserBlog{} db.ListByQ(db.UserBlogs, bson.M{}, &userBlogs) for _, userBlog := range userBlogs { blogService.AddOrUpdateSingle(userBlog.UserId.Hex(), "", "About Me", userBlog.AboutMe) } // 2. 默认主题, 给admin用户 themeService.UpgradeThemeBeta2() // 3. UrlTitles // 3.1 note notes := []info.Note{} db.ListByQ(db.Notes, bson.M{}, ¬es) for _, note := range notes { data := bson.M{} noteId := note.NoteId.Hex() // PublicTime, RecommendTime = UpdatedTime if note.IsBlog && note.PublicTime.Year() < 100 { data["PublicTime"] = note.UpdatedTime data["RecommendTime"] = note.UpdatedTime Log("Time " + noteId) } data["UrlTitle"] = GetUrTitle(note.UserId.Hex(), note.Title, "note") db.UpdateByIdAndUserIdMap2(db.Notes, note.NoteId, note.UserId, data) Log(noteId) } // 3.2 Log("notebook") notebooks := []info.Notebook{} db.ListByQ(db.Notebooks, bson.M{}, ¬ebooks) for _, notebook := range notebooks { notebookId := notebook.NotebookId.Hex() data := bson.M{} data["UrlTitle"] = GetUrTitle(notebook.UserId.Hex(), notebook.Title, "notebook") db.UpdateByIdAndUserIdMap2(db.Notebooks, notebook.NotebookId, notebook.UserId, data) Log(notebookId) } // 3.3 single /* singles := []info.BlogSingle{} db.ListByQ(db.BlogSingles, bson.M{}, &singles) for _, single := range singles { singleId := single.SingleId.Hex() blogService.UpdateSingleUrlTitle(single.UserId.Hex(), singleId, single.Title) Log(singleId) } */ // 删除索引 db.ShareNotes.DropIndex("UserId", "ToUserId", "NoteId") ok = true msg = "success" configService.UpdateGlobalStringConfig(userId, "UpgradeBetaToBeta2", "1") return }