У меня есть база данных SQLite, которую я хочу заполнить некоторыми исходными данными.
Используя SQLite.swift, этот метод, кажется, работает:
do {
let _ = try db.run( userDictionary.create(ifNotExists: false) {t in
t.column(wordId, primaryKey: true)
t.column(word, unique: true)
t.column(frequency, defaultValue: 1)
t.column(following, defaultValue: "")
})
} catch _ {
print("table already exists")
return
}
// Add some initial data for a new database
print("adding new data")
myMethodToInsertInitialData()
Однако это работает так, что я использую ifNotExists: false
для выдачи ошибки каждый раз после первоначального создания базы данных. (Установка его на true
не вызовет ошибку (или не разрешит досрочный возврат).) Однако преднамеренное создание ошибки каждый раз, кроме первого раза, кажется плохим программированием. Я не имею в виду это как ошибку. Я просто хочу вставить некоторые данные во вновь созданную базу данных. Есть ли лучший способ сделать это или это то, что делают все?
NSUserDefaults
или в списке свойствplist
, чтобы проверить, запущено ли приложение впервые. - person TPlet   schedule 12.05.2016let users = Table('users')
. Что произойдет, если эта таблица не существует? Это просто ноль, или он падает? ` - person TPlet   schedule 12.05.2016