Node.js Rails ActiveRecord迁移在Node/ExpressJs中类似
我来自Ruby world,开始学习Express js,Node/ExpressJs中是否有Rails ActiveRecord Migrations之类的库?我认为您可以使用Sequelize,它真正受到了ActiveRecord的启发。也许你也需要使用软件包Migrat,它看起来是一个非常好的迁移工具,我在谷歌上快速搜索了四个不同的软件包/库,你可以试试:Node.js Rails ActiveRecord迁移在Node/ExpressJs中类似,node.js,express,activerecord,database-migration,Node.js,Express,Activerecord,Database Migration,我来自Ruby world,开始学习Express js,Node/ExpressJs中是否有Rails ActiveRecord Migrations之类的库?我认为您可以使用Sequelize,它真正受到了ActiveRecord的启发。也许你也需要使用软件包Migrat,它看起来是一个非常好的迁移工具,我在谷歌上快速搜索了四个不同的软件包/库,你可以试试: 我认为您应该使用,语法非常简单,曲线学习速度很快。以下是如何在sequelize中定义模型的相同示例: const User
- 我认为您应该使用,语法非常简单,曲线学习速度很快。以下是如何在sequelize中定义模型的相同示例:
const User = sequelize.define('user', {
username: { type: Sequelize.STRING, allowNull: false },
password: { type: Sequelize.STRING, allowNull: false },
admin: { type: Sequelize.BOOLEAN, defaultValue: false }
});
调用代码后,sync()
方法Sequelize将创建表(如果不存在)
所有模型添加id
(您也可以更改),在
创建和在
更新(时间戳),您可以这样调用:
sequelize.sync()
.then(() => User.create({
username: 'administrator',
password: 'yahoo',
admin: true
}))
.then(userCreated => {
console.log(userCreated.toJSON());
});
您可以使用少量代码进行非常复杂的查询,并将其与express.js混合,以响应您的客户端,例如:
User.findAll({
where: {
[Op.iLike] : { username: 'Jack%' },
admin: true
}
}).then(usersList => {
if (!usersList) {
response.status(404).json({ error: 'not found' });
return null;
}
for (var i = 0; i < usersList.length; i++) {
usersList[I].something = 42;
}
response.json(usersList);
return null;
});
User.findAll({
其中:{
[Op.iLike]:{username:'Jack%'},
管理员:是的
}
})。然后(usersList=>{
如果(!usersList){
json({error:'notfound'});
返回null;
}
for(var i=0;i
这将产生如下结果:
选择“id”、“username”、“password”、“admin”、“created_at”、“updated_at”,其中“admin”=true,“username”类似于“Jack%”
我是RubyonRails开发人员,我在Node.js上搜索类似的框架
现在,我将Sails.js与Waterline一起使用,使用PostgreSQL与迁移库一起使用文件结构与Rails中的几乎相同。与ActiveRecord几乎相同。我很高兴我目前的设置,工作完美,燃烧迅速 我有500个功能测试。每个测试都有许多查询,通过10-20个类别运行,其中包含许多更新、创建和查找查询。使用Rails和PG数据库,它们将在10分钟内运行。有了Sails和PG数据库,它们在2分钟内就运行了(或者更多——我有这个设置)。使用Sails和MongoDB(我刚刚从pg迁移到mongo),同样的测试只需12秒钟 我仍然有类似于ActiveRecord的Rails,如文件系统和Waterline。所有的交易我都转移到了Redis(这很难,但完成了)