2015-12-08 8 views
0

如果我使用sequelize API(sequelize.define)創建表,它將返回一個模型對象(用戶,在以下示例中),我可以使用它來執行查詢(User.find )和其他類型的操作:sequelize:檢索手動創建表的模型

var User = sequelize.define('User', {/* ... */}) 

如果我需要在沒有該API的數據庫中創建一個表,但我需要一個純粹的SQL查詢來做到這一點,是有辦法檢索相同的模型對象爲我的手動表,並像其他人一樣使用它?

sequelize.models我看到我所有的表格,但不是自定義的表格。

回答

1

您需要使用define定義模型,並將tableName屬性設置爲您手動定義的表格。

您想要作爲模型屬性檢索的數據庫列必須符合許多條件。每個應該有一個匹配列類型的數據類型。它們應該與DB列具有相同的約束(級聯,空等)。列名稱應該與Sequelize自動生成的名稱匹配,或者使用field手動指定。

由於該模型的表已經被手動創建,請確保它不是sync'編輯到數據庫。要測試您指定的模型將使用手動指定的表,您應該將模型同步到測試數據庫,並將自動生成的SQL與您正在使用的手動生成的SQL進行比較。

此答案是基於文檔here