SQLAlchemy可以单独使用,独立于框架,这是推荐的吗?

时间:2011-11-06 17:22:48

标签: mysql sql database node.js sqlalchemy

我想使用Node.js作为我的框架,但它没有一种管理MySQL模式和迁移的好方法。

我可以单独使用SQLAlchemy吗?只是为了同步表格和创建列等......?

然后在我的node.js上,我 NOT 使用SQLAlchemy进行查询或插入......

这是推荐的吗?

3 个答案:

答案 0 :(得分:2)

是的,可以做到。虽然我没有任何特定于Node.js的经验,但我使用SQLAlchemy:

  • 为非SQLAlchemy应用程序设置小型数据库。
  • 查询,更新和迁移未使用SQLAlchemy创建的数据库。
  • 将新的使用SQLAlchemy的应用程序连接到现有的MySQL数据库。

仅将其用于设置数据库时的一个注意事项是,默认情况下,您选择在模型中定义的任何级联或其他参照完整性详细信息都不会由MySQL本身强制执行。我知道可以使用passive_deletespassive_updates选项后端句柄更新或删除级联,但我不知道是否或如何自动创建这些通过SQLAlchemy在后端的规则。

答案 1 :(得分:1)

我使用SQLAlchemy-migrate来创建/更新/降级数据库模式。它允许您将模式设计为​​SQLAlchemy模型或纯SQL语句(或混合)。您可以在本地存储库中为模式创建升级/降级步骤的“版本”,然后将其应用于SQLAlchemy可以与之通信的任何数据库。

答案 2 :(得分:0)

虽然使用SQLAlchemy的迁移工具是个好主意,但节点的某些ORM实际上可以合理地处理迁移问题。例如,Persistence JS可以将数据库同步到JS文件中声明的属性。

话虽如此,SQLAlchemy是一个很好的选择,我相信 - 它足够灵活,可以处理你可能会抛出的任何数据库结构(不像Ruby的ActiveRecord,它会假设你的情况可能或可能不是这样)