我有几个表格UUID
,它们的列类型。
我想将这些列转换为,String
而不是UUID
因为调试很麻烦(例如,使用DB Browser for SQLite浏览sqlite文件需要我执行 SQL 查询,只是为了将对象转换为s 以查看 id 值。UUID
String
回到这个问题,最实用的方法是什么?
我正在考虑,并且即将做,但我想先问这个:
- 在 中
registerMigration
,创建一个新表。 - 新表现在有字符串列。
- 循环遍历旧表的行,并将这些行移动到新表中,但要确保 id 现在在
String
s 中而不是UUID
s 中。 - 丢弃旧表
- 将新表重命名为旧表的名称。
registerMigration("UUIDMigrationToString") { db in
try db.create(table: "new_table") { table in
table.autoIncrementedPrimaryKey("id")
table.column("someIdStuff", .text).notNull()
}
// loop through the old table...
// move the rows from the old table to the new table but with string Ids.
// drop old table, and rename new table.
}