有没有库能定义个模型然后生成建表语句
发布于 8 年前 作者 ystyle 4128 次浏览 来自 问答

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

1 回复

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;
回到顶部