代码之家  ›  专栏  ›  技术社区  ›  Kenneth Cochran

NHibernate SchemaUpdate在生产代码中是否安全?

  •  14
  • Kenneth Cochran  · 技术社区  · 16 年前

    为了简单起见。我在运行时使用Fluent NHibernate的自动映射与NHibernate的SchemaUpdate相结合。在每次运行时,Automapper都会为所有实体类创建映射,SchemaUpdate会将模式应用于现有数据库。我惊喜地发现,它在一个空数据库上也能正常工作。到目前为止,它在开发环境中工作得很好,并且允许我相当快地响应bug。

    我的问题是,它是否足够可靠,可以留在生产代码中。显然,它不需要每次程序在生产环境中启动时都运行,但它对于增量产品更新非常有用(尽管我不打算在产品发布后对域进行任何重大更改)。

    (也许我真正的问题应该是结合使用这两种工具有多安全?)

    该应用程序有两个版本:独立桌面和多用户客户端/服务器。此外,由于业务领域(税务软件)的性质,我有幸每年从一个干净的数据库开始。

    4 回复  |  直到 16 年前
        1
  •  13
  •   Greg Beech    16 年前

    为了能够在生产代码中运行,生产应用程序用于连接数据库的帐户必须具有更改数据库架构的权限。

    无论NHibernate代码的质量/可靠性如何,仅此一点就应该阻止您使用这种方法。

        2
  •  9
  •   Jamie Ide    16 年前

        3
  •  8
  •   SerialSeb    16 年前

    您可能想考虑,StudioApple将总是进行附加的和非破坏性的更改,导致过时的列和可空列,它们应该是不可空的。

    也就是说,绝对不能用于生产使用。

        4
  •  2
  •   mhenrixon    16 年前

    推荐文章