CNode

有没有库能定义个模型然后生成建表语句

问答
Yystyle发布于10 年前最后回复10 年前1 回复4916 浏览0 收藏

有没有库能定义个模型然后生成建表语句? 不需要连接数据库, 我想做一个快速生成建表语句的工具。 有没有这方面的库推荐一下?

查看回复

回复 (1)

Y
ystyle#1·10 年前

sequelizejs 的测试代码看到了隐藏功能。api文档里没写到的

var Sequelize = require('sequelize');
// 因为没有连接到数据库, 用户名什么的可以随意写
var sequelize = new Sequelize('test', 'root', 'root', {
    dialect: "mysql"
});

var User = sequelize.define('User', {
    username: Sequelize.STRING,
    password: Sequelize.STRING
});

var sql = sequelize.dialect.QueryGenerator;

var ddlsql = sql.createTableQuery(User.getTableName(), sql.attributesToSQL(User.rawAttributes), { });

console.log(ddlsql);
$ node test.js
CREATE TABLE IF NOT EXISTS `Users` (`id` INTEGER NOT NULL auto_increment , `username` VARCHAR(255), `password` VARCHAR
(255), `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB;
参与回复
登录后即可参与回复。登录