2014-09-24 2 views
2

나는 티타늄에 Db 테이블을 만드는 데 2 ​​가지 접근법을 사용합니다.모델을 사용하여 티타늄에 데이터베이스 테이블을 만드는 방법은 무엇입니까?

접근법 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; 
    } 
}; 

가 지금은 조금 혼란 오전 코드입니다.

테이블 생성에 대한 도움을 받으십시오.

답변

4

어댑터 유형이 "sql"이면 DB가 자동으로 생성됩니다. 당신이 모델을 사용하는 경우

, 당신은 더 이상 DB로의 Alloy_Collection_and_Model_Objects에서 등

을 DB를 여는 걱정 모델을 생성하고 저장 할 필요가 없습니다 :

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

하는 데이터를로드하려면 다시 DB에서 :

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

공부 Alloy_Collection_and_Model_ObjectsBackbone JS docs

관련 문제