2016-02-29 20 views
2

我有2個服務正在運行。一個是Node.js應用程序,另一個是PSQL數據庫。我不知道我應該在哪裏定義我的數據庫模式。在SQL或應用程序語言中定義數據庫模式會更好嗎?

一些像Sequelize這樣的庫用應用程序語言(在這種情況下爲javascript)定義它。

var User = sequelize.define('user', { 
    firstName: { 
    type: Sequelize.STRING, 
    field: 'first_name' // Will result in an attribute that is firstName when user facing but first_name in the database 
    }, 
    lastName: { 
    type: Sequelize.STRING 
    } 
}); 

但我認爲這將是更好地界定它們在純SQL

CREATE TABLE users (
    id SERIAL, 
    first_name varchar(85), 
    PRIMARY KEY (id) 
); 

這樣,在其他其他平臺上的其他應用程序可以使用數據庫,而不與模式擰緊。在我看來,數據庫定義應該獨立於應用程序的語言。有什麼我不考慮?爲什麼這麼多庫爲你定義你的數據庫模式?

回答

0

您在混合使用數據庫和ORM(對象關係映射)庫。數據庫存儲您的數據,因此總是需要在那裏定義模式。 ORM庫可幫助您將應用程序的對象映射到數據庫的模式。許多ORM庫爲模式創建提供了一些功能,使生活變得更加簡單,但是,他們在數據庫中使用SQL創建了一個模式,就像您自己可以做的那樣。 因此,無論您選擇什麼方式,都可以將數據庫與其他應用程序一起使用。

相關問題