В таблице Case_Supplies_Media есть столбец SupplyID_XRef. В настоящее время он имеет ссылку на Media_List по внешнему ключу. Мне нужно изменить ссылку на Supplies_DVD_List. Я нашел некоторые фрагменты, но не знаю, как соединить все это в коде. Я использую GRDB.
Заранее спасибо за помощь.
func update_Foreign_Key()
{
let the_Version = ModelData.get_Current_Version()
if the_Version == 6
{
do {
try Database_GRDB.shared.databaseConnection!.write { db in
try db.execute(sql: "UPDATE Case_Supplies_Media SET SupplyID_XRef = :value", arguments: ["value": "Supplies_DVD_List"])
// FOREIGN KEY("SupplyID_XRef") REFERENCES "Media_List"
// change to this
// FOREIGN KEY("SupplyID_XRef") REFERENCES "Supplies_DVD_List"
// Set the version to 7
try db.execute(sql: "UPDATE My_Settings SET Version = :version WHERE SettingsID = :id", arguments: ["version": 7, "id": 1])
}
} catch {
print("Updating the Foreign_Key values failed! (AppDelegate) \(error)")
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... -with-grdb