node.js - principiantes - Sequelizar: cómo importar definiciones de una base de datos existente
node versions (2)
Este proyecto tiene como objetivo crear modelos Sequelize a partir del esquema existente https://github.com/sequelize/sequelize-auto
Sequelizar-Auto
Una herramienta para generar automáticamente modelos para SequelizeJS
través de la línea de comando.
Instalar:
npm install -g sequelize-auto
Uso:
sequelize-auto -h <host> -d <database> -u <user> -x [password] -p [port] --dialect [dialect] -c [/path/to/config] -o [/path/to/models]
Opciones:
-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
Ejemplo
sequelize-auto -o "./models" -d sequelize_auto_test -h localhost -u daniel -p 5432 -x my_password -e postgres
Produce un archivo / archivos como ./models/Users.js
que se ve así:
/* 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
}
});
};
Lo que hace que sea más fácil para usted simplemente Sequelize.import
.
¿Debo escribir a mano las definiciones de modelo para Sequelizar incluso si estoy trabajando fuera de una base de datos existente?
Si no es necesario, ¿cómo se puede utilizar Sequelize con una base de datos existente?
Ya he definido el esquema de la base de datos en Doctrine, por lo que preferiría no tener que volver a escribir otro conjunto de definiciones de modelos.
con Sequelize, debe definir la estructura del modelo dentro de su código. Al hacerlo, Sequelize supone un esquema de base de datos específico a menos que se sobrescriba algo. En resumen: No, la secuencia no puede reflejar la base de datos.
Espero que ayude :)