dvc*_*dvc 44 node.js sequelize.js
我是否需要为Sequelize手写模型定义,即使我正在使用现有数据库.
如果不需要,那么如何在现有数据库中使用Sequelize?
我已经在Doctrine中定义了数据库的模式,所以我不必再次编写另一组模型定义.
Jac*_*wes 79
该项目旨在从现有模式https://github.com/sequelize/sequelize-auto创建Sequelize模型
一种SequelizeJS通过命令行自动生成模型的工具.
npm install -g sequelize-auto
Run Code Online (Sandbox Code Playgroud)
sequelize-auto -h <host> -d <database> -u <user> -x [password] -p [port] --dialect [dialect] -c [/path/to/config] -o [/path/to/models]
Run Code Online (Sandbox Code Playgroud)
-h, --host IP/Hostname for the database. [required]
-d, --database Database name. [required]
-u, --user Username for database. [required]
-x, --pass Password for database.
-p, --port Port number for database.
-c, --config JSON file for sending additional options to the Sequelize object.
-o, --output What directory to place the models.
-e, --dialect The dialect/engine that you're using: postgres, mysql, sqlite
Run Code Online (Sandbox Code Playgroud)
例
sequelize-auto -o "./models" -d sequelize_auto_test -h localhost -u daniel -p 5432 -x my_password -e postgres
Run Code Online (Sandbox Code Playgroud)
生成一个文件/文件./models/Users.js,如下所示:
/* jshint indent: 2 */
module.exports = function(sequelize, DataTypes) {
return sequelize.define('Users', {
username: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: null
},
touchedAt: {
type: DataTypes.DATE,
allowNull: true,
defaultValue: null
},
aNumber: {
type: DataTypes.INTEGER,
allowNull: true,
defaultValue: null
},
id: {
type: DataTypes.INTEGER,
primaryKey: true
},
createdAt: {
type: DataTypes.DATE,
allowNull: false,
defaultValue: null
},
updatedAt: {
type: DataTypes.DATE,
allowNull: false,
defaultValue: null
}
});
};
Run Code Online (Sandbox Code Playgroud)
这让你很容易就Sequelize.import可以了.
使用Sequelize,您必须在代码中定义模型的结构.这样做,Sequelize假定一个特定的数据库模式,除非被覆盖.所以简而言之:不,sequelize不能镜像数据库.
希望有帮助:)
| 归档时间: |
|
| 查看次数: |
20110 次 |
| 最近记录: |