mirror of
https://github.com/mattermost/focalboard.git
synced 2024-12-24 13:43:12 +02:00
(cherry picked from commit 257cc5f1fd
)
Co-authored-by: Miguel de la Cruz <miguel@mcrx.me>
This commit is contained in:
parent
5cb55de86e
commit
be2f5871ae
@ -0,0 +1 @@
|
|||||||
|
SELECT 1;
|
@ -0,0 +1,8 @@
|
|||||||
|
{{if .plugin}}
|
||||||
|
UPDATE FileInfo
|
||||||
|
SET DeleteAt = 0
|
||||||
|
WHERE CreatorId = 'boards'
|
||||||
|
AND DeleteAt != 0;
|
||||||
|
{{else}}
|
||||||
|
SELECT 1;
|
||||||
|
{{end}}
|
@ -0,0 +1,9 @@
|
|||||||
|
INSERT INTO FileInfo
|
||||||
|
(Id, CreatorId, CreateAt, UpdateAt, DeleteAt)
|
||||||
|
VALUES
|
||||||
|
('fileinfo-1', 'user-id', 1, 1, 1000),
|
||||||
|
('fileinfo-2', 'user-id', 1, 1, 1000),
|
||||||
|
('fileinfo-3', 'user-id', 1, 1, 0),
|
||||||
|
('fileinfo-4', 'boards', 1, 1, 2000),
|
||||||
|
('fileinfo-5', 'boards', 1, 1, 2000),
|
||||||
|
('fileinfo-6', 'boards', 1, 1, 0);
|
@ -0,0 +1,48 @@
|
|||||||
|
package migrationstests
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
|
)
|
||||||
|
|
||||||
|
func Test40FixFileinfoSoftDeletes(t *testing.T) {
|
||||||
|
th, tearDown := SetupPluginTestHelper(t)
|
||||||
|
defer tearDown()
|
||||||
|
|
||||||
|
th.f.MigrateToStep(39).
|
||||||
|
ExecFile("./fixtures/test40FixFileinfoSoftDeletes.sql").
|
||||||
|
MigrateToStep(40)
|
||||||
|
|
||||||
|
type FileInfo struct {
|
||||||
|
Id string
|
||||||
|
DeleteAt int
|
||||||
|
}
|
||||||
|
|
||||||
|
getFileInfo := func(t *testing.T, id string) FileInfo {
|
||||||
|
t.Helper()
|
||||||
|
fileInfo := FileInfo{}
|
||||||
|
|
||||||
|
query := "SELECT id, deleteat FROM FileInfo WHERE id = $1"
|
||||||
|
if th.IsMySQL() {
|
||||||
|
query = "SELECT Id as id, DeleteAt as deleteat FROM FileInfo WHERE Id = ?"
|
||||||
|
}
|
||||||
|
|
||||||
|
err := th.f.DB().Get(&fileInfo, query, id)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
return fileInfo
|
||||||
|
}
|
||||||
|
|
||||||
|
t.Run("the file infos that don't belong to boards will not be restored", func(t *testing.T) {
|
||||||
|
require.Equal(t, 1000, getFileInfo(t, "fileinfo-1").DeleteAt)
|
||||||
|
require.Equal(t, 1000, getFileInfo(t, "fileinfo-2").DeleteAt)
|
||||||
|
require.Empty(t, getFileInfo(t, "fileinfo-3").DeleteAt)
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("the file infos that belong to boards should correctly be restored", func(t *testing.T) {
|
||||||
|
require.Empty(t, getFileInfo(t, "fileinfo-3").DeleteAt)
|
||||||
|
require.Empty(t, getFileInfo(t, "fileinfo-4").DeleteAt)
|
||||||
|
require.Empty(t, getFileInfo(t, "fileinfo-5").DeleteAt)
|
||||||
|
})
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user