Я новичок в титане и сплаве, но я чувствую себя комфортно с большинством из них примерно через 3 месяца использования. Я, однако, довольно новичок в Модели в сплаве, и у меня возникает ошибка, которую я не могу понять. Ниже приведено описание моей модели и контроллера (исключая файл .XML вида, поскольку это не имеет значения)Модели из титанового сплава - Таблица не имеет колонки
Orders.js | Модель
exports.definition = {
config : {
columns : {
"id_Orders" : "INTEGER PRIMARY KEY AUTOINCREMENT",
"reseller_name" : "TEXT",
"reseller_invoice_account" : "TEXT"
},
adapter : {
type : "sql",
collection_name : "orders",
idAttribute: "id_Orders"
}
}
Orders.js | Контроллер
var network = require("network");
network.soapRequest("<prem:getResellersRequest/>", function(a) {
Ti.API.info("The Soap Server Returned: " + JSON.stringify(a));
Ti.API.info("There are " + a.reseller_name.length + " returned records.");
for (var i = 0; a.reseller_name.length > i; i++) {
var listModel = Alloy.createModel("orders", {
reseller_name: a.reseller_name[i],
reseller_invoice_account: a.reseller_invoice_account[i]
});
listModel.save();
Alloy.Collections.orders.fetch();
}
});
Alloy.Collections.orders.fetch();
Ошибка возникает в listModel.save() строка:
Ошибка выполнения SQL: таблица заказов не имеет столбец с именем RESELLER_NAME:, при компиляции: REPLACE INTO заказов (id_Orders, RESELLER_NAME, reseller_invoice_account) VALUES (?,?,?);
Сеть - это lib, которая отправляет SOAP-запрос на веб-сервер и преобразует его в JSON с помощью soap2json.js. Я убежден, что нет ничего плохого в сетевой части. Я уверен, что с возвращенным объектом JSON 'a' не замечается. Я могу вывести все значения по отдельности и использовать его в другом месте - ошибка возникает, когда я пытаюсь сохранить модель в коллекции.
Я что-то упустил?
Похоже, что это действительно так - уже существующая база данных на устройстве не хватает колонки я добавил позже. Проще всего я преодолел эту проблему, перейдя в информацию о приложении на устройстве и очистив данные приложения. Я предполагаю, что это имеет тот же эффект, что и падение таблицы, но гораздо легче сделать. –