refactor(documents): rename document owner fields

This commit is contained in:
2026-07-24 12:29:16 +08:00
parent ab8ba3c03f
commit f2d1fef2d6
16 changed files with 68 additions and 21 deletions

View File

@@ -87,6 +87,36 @@ func TestAutoMigrateRejectsAmbiguousLegacyAndCurrentTables(t *testing.T) {
require.EqualError(t, err, "cannot rename legacy table senlin_agent_users: target table sa_users already exists")
}
func TestRenameLegacyTablesRenamesDocumentOwnerColumns(t *testing.T) {
database, err := gorm.Open(sqlite.Open(fmt.Sprintf("file:%s?mode=memory&cache=shared", t.Name())), &gorm.Config{})
require.NoError(t, err)
require.NoError(t, database.Exec(`
CREATE TABLE sa_documents (
id integer primary key,
created_by integer not null,
created_by_identity text
)
`).Error)
require.NoError(t, database.Exec(`
INSERT INTO sa_documents (id, created_by, created_by_identity)
VALUES (1, 7, 'owner-identity')
`).Error)
require.NoError(t, renameLegacyTables(database))
require.False(t, database.Migrator().HasColumn("sa_documents", "created_by"))
require.False(t, database.Migrator().HasColumn("sa_documents", "created_by_identity"))
require.True(t, database.Migrator().HasColumn("sa_documents", "owner_id"))
require.True(t, database.Migrator().HasColumn("sa_documents", "owner_identity"))
var stored struct {
OwnerID uint
OwnerIdentity string
}
require.NoError(t, database.Table("sa_documents").Where("id = ?", 1).Take(&stored).Error)
require.Equal(t, uint(7), stored.OwnerID)
require.Equal(t, "owner-identity", stored.OwnerIdentity)
}
func projectIdentifiers(projects []SaProject) []string {
result := make([]string, 0, len(projects))
for _, project := range projects {