如何使用模型在钛中创建数据库表?

时间:2014-09-24 12:28:48

标签: sqlite titanium-alloy database-abstraction

我有以下2种方法在钛中创建Db表。

方法1 - 使用钛代码中的查询创建一个sqlite数据库。比如Ti.Database.open(“DBName”);然后使用sqlite查询创建表

var db = Ti.Database.open('DBName');

db.execute('CREATE TABLE IF NOT EXISTS test(id INTEGER PRIMARY KEY, name TEXT)');

工作正常。

但我需要知道如何使用模型

创建表

方法2 - 创建数据库Ti.Database.open(“DBName”);

创建模型book.js,这里是代码

exports.definition = {
    config: {


        "columns": {
            "id":"TEXT PRIMARY KEY",
            "title":"TEXT  ",
            "author":"TEXT",
        },

        adapter: {
            type: "sql",
            collection_name: "book"
        }
    },
    extendModel: function(Model) {
        _.extend(Model.prototype, {
            // extended functions and properties go here
        });

        return Model;
    },
    extendCollection: function(Collection) {
        _.extend(Collection.prototype, {
            // extended functions and properties go here
        });

        return Collection;
    }
};

现在我对使用模型创建表格感到有些困惑。

请帮助并指导我创建表格。

1 个答案:

答案 0 :(得分:4)

如果适配器类型=“sql”,则会自动创建数据库。

如果您正在使用模型,则不再需要担心打开数据库等。

Alloy_Collection_and_Model_Objects创建模型并将其保存到DB:

var book = Alloy.createModel('book', {title:'Green Eggs and Ham', author:'Dr. Seuss'}); 
book.save();

从数据库加载数据:

var books = Alloy.Collections.instance('books');
var filteredArray = books.where({book_id: args.bookId});

研究Alloy_Collection_and_Model_ObjectsBackbone JS docs