diff options
author | George Goldberg <george@gberg.me> | 2018-03-02 15:55:03 +0000 |
---|---|---|
committer | George Goldberg <george@gberg.me> | 2018-03-02 15:55:03 +0000 |
commit | 901acc9703ae58b625b44e7abfd02333b9bab951 (patch) | |
tree | 1a8fc17a85544bc7b8064874923e2fe6e3f44354 /store/sqlstore | |
parent | 21afaf4bedcad578d4f876bb315d1072ccd296e6 (diff) | |
parent | 2b3b6051d265edf131d006b2eb14f55284faf1e5 (diff) | |
download | chat-901acc9703ae58b625b44e7abfd02333b9bab951.tar.gz chat-901acc9703ae58b625b44e7abfd02333b9bab951.tar.bz2 chat-901acc9703ae58b625b44e7abfd02333b9bab951.zip |
Merge branch 'master' into advanced-permissions-phase-1
Diffstat (limited to 'store/sqlstore')
-rw-r--r-- | store/sqlstore/channel_store.go | 6 | ||||
-rw-r--r-- | store/sqlstore/team_store.go | 11 | ||||
-rw-r--r-- | store/sqlstore/upgrade.go | 13 |
3 files changed, 27 insertions, 3 deletions
diff --git a/store/sqlstore/channel_store.go b/store/sqlstore/channel_store.go index 75a615aee..131e5649b 100644 --- a/store/sqlstore/channel_store.go +++ b/store/sqlstore/channel_store.go @@ -946,9 +946,9 @@ func (s SqlChannelStore) GetAllChannelMembersNotifyPropsForChannel(channelId str var data []allChannelMemberNotifyProps _, err := s.GetReplica().Select(&data, ` - SELECT ChannelMembers.UserId, ChannelMembers.NotifyProps - FROM Channels, ChannelMembers - WHERE Channels.Id = ChannelMembers.ChannelId AND ChannelMembers.ChannelId = :ChannelId`, map[string]interface{}{"ChannelId": channelId}) + SELECT UserId, NotifyProps + FROM ChannelMembers + WHERE ChannelId = :ChannelId`, map[string]interface{}{"ChannelId": channelId}) if err != nil { result.Err = model.NewAppError("SqlChannelStore.GetAllChannelMembersPropsForChannel", "store.sql_channel.get_members.app_error", nil, "channelId="+channelId+", err="+err.Error(), http.StatusInternalServerError) diff --git a/store/sqlstore/team_store.go b/store/sqlstore/team_store.go index cddfb7c1a..6528b8e4c 100644 --- a/store/sqlstore/team_store.go +++ b/store/sqlstore/team_store.go @@ -99,6 +99,7 @@ func (s SqlTeamStore) Update(team *model.Team) store.StoreChannel { team.CreateAt = oldTeam.CreateAt team.UpdateAt = model.GetMillis() team.Name = oldTeam.Name + team.LastTeamIconUpdate = oldTeam.LastTeamIconUpdate if count, err := s.GetMaster().Update(team); err != nil { result.Err = model.NewAppError("SqlTeamStore.Update", "store.sql_team.update.updating.app_error", nil, "id="+team.Id+", "+err.Error(), http.StatusInternalServerError) @@ -559,3 +560,13 @@ func (s SqlTeamStore) RemoveAllMembersByUser(userId string) store.StoreChannel { } }) } + +func (us SqlTeamStore) UpdateLastTeamIconUpdate(teamId string, curTime int64) store.StoreChannel { + return store.Do(func(result *store.StoreResult) { + if _, err := us.GetMaster().Exec("UPDATE Teams SET LastTeamIconUpdate = :Time, UpdateAt = :Time WHERE Id = :teamId", map[string]interface{}{"Time": curTime, "teamId": teamId}); err != nil { + result.Err = model.NewAppError("SqlTeamStore.UpdateLastTeamIconUpdate", "store.sql_team.update_last_team_icon_update.app_error", nil, "team_id="+teamId, http.StatusInternalServerError) + } else { + result.Data = teamId + } + }) +} diff --git a/store/sqlstore/upgrade.go b/store/sqlstore/upgrade.go index 8d1513381..de4dbe095 100644 --- a/store/sqlstore/upgrade.go +++ b/store/sqlstore/upgrade.go @@ -16,6 +16,7 @@ import ( const ( VERSION_4_8_0 = "4.8.0" + VERSION_4_7_1 = "4.7.1" VERSION_4_7_0 = "4.7.0" VERSION_4_6_0 = "4.6.0" VERSION_4_5_0 = "4.5.0" @@ -65,6 +66,7 @@ func UpgradeDatabase(sqlStore SqlStore) { UpgradeDatabaseToVersion45(sqlStore) UpgradeDatabaseToVersion46(sqlStore) UpgradeDatabaseToVersion47(sqlStore) + UpgradeDatabaseToVersion471(sqlStore) UpgradeDatabaseToVersion48(sqlStore) // If the SchemaVersion is empty this this is the first time it has ran @@ -352,6 +354,16 @@ func UpgradeDatabaseToVersion47(sqlStore SqlStore) { } } +// If any new instances started with 4.7, they would have the bad Email column on the +// ChannelMemberHistory table. So for those cases we need to do an upgrade between +// 4.7.0 and 4.7.1 +func UpgradeDatabaseToVersion471(sqlStore SqlStore) { + if shouldPerformUpgrade(sqlStore, VERSION_4_7_0, VERSION_4_7_1) { + sqlStore.RemoveColumnIfExists("ChannelMemberHistory", "Email") + saveSchemaVersion(sqlStore, VERSION_4_7_1) + } +} + func UpgradeDatabaseToVersion48(sqlStore SqlStore) { // This version of Mattermost includes an App-Layer migration which migrates from hard-coded roles configured by // a number of parameters in `config.json` to a `Roles` table in the database. The migration code can be seen @@ -359,6 +371,7 @@ func UpgradeDatabaseToVersion48(sqlStore SqlStore) { //TODO: Uncomment the following condition when version 4.8.0 is released //if shouldPerformUpgrade(sqlStore, VERSION_4_7_0, VERSION_4_8_0) { + sqlStore.CreateColumnIfNotExists("Teams", "LastTeamIconUpdate", "bigint", "bigint", "0") // saveSchemaVersion(sqlStore, VERSION_4_8_0) //} } |