node-mongo-native迁移框架

我正在使用node.js服务器,并使用MongoDB和mongo-native。 我正在寻找一个数据库迁移框架,类似于Rails迁移。 任何build议?

我不知道用于执行MongoDB迁移的特定本地Node.js工具,但您可以select使用其他语言编写的工具(例如, Mongoid Rails Migrations )。

值得注意的是,MongoDB中的Schemadevise和数据build模方法与关系数据库不同。 特别是,不要求集合具有一致或预定义的模式,因此许多传统的迁移操作(例如添加和删除列)不是必需的。

但是,涉及数据转换的迁移仍然有用。

如果您的应用程序希望数据具有某种格式(例如,您想将“名称”字段分为“名字”和“姓氏”),则可以使用几种策略,如果使用写入迁移工具的想法在另一种编程语言是不吸引人的:

  • 处理应用程序逻辑中的数据差异,所以新旧数据格式都是可以接受的(也许“升级”logging以匹配更新后的新格式)
  • 写一个脚本来做一次数据迁移
  • 贡献MongoDB助手节点迁移

我刚写完基于node-mongo-native的基本迁移框架: https : //github.com/afloyd/mongo-migrate 。 它将允许您向上和向下迁移,以及向上/向下迁移到特定的修订版本号。 它最初是基于节点迁移的,但显然需要改变一点才能使其工作。

修订历史logging存储在mongodb中,而不是像node-migrate这样的文件系统中,允许使用单个数据库在同一个项目上进行协作。 否则,运行迁移的每个开发人员都可能导致迁移对数据库运行多次。

迁移本身是基于文件的,也有助于在每个开发人员(或不在)使用相同数据库的单个项目上进行协作。 因此,当每个开发人员运行迁移时,将不运行针对他/她的数据库的所有迁移文件。

查看文档了解更多信息。