代码之家  ›  专栏  ›  技术社区  ›  Buddy Lindsey

如何将开发人员数据库更改移动到生产数据库?

  •  14
  • Buddy Lindsey  · 技术社区  · 14 年前

    我遇到的问题是,一旦我在dev数据库上完成了开发,我就不知道如何处理这种对staging-then-production数据库的更改。

    迁移数据库模式更改和维护数据库中的数据有哪些策略?

    据我所知,这是打开SQLServerManagementStudio并开始手动添加表。我知道这可能是一个不好的方式去做,所以寻找如何正确地做它,同时意识到我可能开始错了。

    9 回复  |  直到 14 年前
        1
  •  3
  •   Community CDub    5 年前

    我通常使用 SQL Server Publishing Wizard

    注意 你不需要下载和安装这个工具;您可以在visualstudio中启动它。右键单击服务器资源管理器中的连接,然后在上下文菜单中选择“发布到提供程序”。

        2
  •  6
  •   Milica Medic Kiralj    10 年前

    对于维护模式更改,可以使用 ApexSQL Diff ApexSQL Data Diff ,一个SQL Server和SQL Azure数据比较和同步工具。

    希望这有帮助

    免责声明:我作为支持工程师为ApexSQL工作

        3
  •  5
  •   Tom H zenazn    14 年前

    为UAT/Staging/production创建单独的批处理文件,这样您只需双击批处理文件即可在相应的服务器上执行工具包。检查OSQL选项。

    这样,您的所有环境都是同步的!

        4
  •  3
  •   Mathieu    14 年前

    红门SQL比较和SQL数据比较。自从我的公司买了它,它节省了我从开发到测试到验收再到生产的大量时间。

    您还可以让它与scripts文件夹同步,以便在源代码管理系统中轻松集成。

    http://www.red-gate.com

        5
  •  1
  •   jordekorre    14 年前

    您可能需要查看Liquibase之类的工具: http://liquibase.org/

        6
  •  1
  •   ToxicAvenger ToxicAvenger    14 年前

    有一些工具可以帮助你。

    如果您有VisualStudioTeamEdition,请检查数据库项目(又名DataDude又名VisualStudioTeamforDatabaseProfessionals) See here here

        7
  •  1
  •   Pavan Shevle    7 年前

    您可以使用visual studio 2015。转到 工具 => => 新架构比较

    步骤1) 选择 来源 目标 数据库。 点击 比较 选项。

    步骤2) 一旦比较完成,你可以点击图标

    这将产生 提交 脚本。

    步骤3) 回降

        8
  •  0
  •   HLGEM    14 年前

    我们发现推动更改的最佳方法是将数据库更改视为代码。所有更改都在脚本中,在源代码管理中,并且是版本的一部分。在任何情况下,没有任何东西会被推送到prod,而不是脚本化的和源代码管理中的。这样,您就不会意外地将dev中的更改推送到prod中,但尚未准备好将其推送到prod中。此外,您还可以将prod数据还原到dev框中,并重新运行所有尚未推送到的脚本,这样您就保留了新的数据和所有dev工作。当您对不需要更改的表有查找值时,这也非常有效;我不想在其他东西也移动之前被推着去戳。编写insert脚本并将其与版本的其余代码放在一起。

        9
  •  0
  •   Scotty Boy    10 年前

    一个好的数据库设计工具(如sybasepowerdesigner)将允许您创建对数据模型的设计更改,然后生成代码来实现这些更改。然后,您可以根据自己的选择存储和运行代码。当您继承未构建的数据库时,此工具还应该能够执行反向工程。