问题标签 [database-deployment]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
268 浏览

ef-code-first - 代码优先迁移 - 如何回滚第一次迁移

使用代码优先迁移,使用 -TargetMigration [MigrationName] 迁移到任何给定的迁移都是微不足道的。

但是如何回滚到第一次迁移之前呢?你的目标是什么迁移?第一次迁移有一个 Down() 就像其余的一样,逻辑是合理的 - 但我如何让它通过 update-database 命令执行?

0 投票
5 回答
74300 浏览

sql - SQL Server 2008 R2 陷入单用户模式

在本地数据库上执行数据库部署(来自 VS SQL Server 数据库项目)失败后,数据库处于单用户模式(部署以单用户模式运行)的状态。

当我从 SSMS 连接到它并尝试以下操作时:

我得到错误:

目前无法更改数据库“MyDatabase”的状态或选项。数据库处于单用户模式,并且当前有一个用户连接到它。

我尝试使数据库脱机,SSMS 告诉我成功,但它似乎并没有真正做任何事情。到目前为止,我只能通过删除并重新创建数据库来解决这个问题(这还可以,因为它只是一个本地测试数据库)。但是,我希望能够重置状态。

如何说服 SQL Server 将此数据库从单用户模式中移除?

0 投票
2 回答
721 浏览

visual-studio-2012 - VS2012 Sql server 项目中的自定义脚本文件

我应该将数据库迁移到 VS2012 sql server 项目中。我已经从目标数据库中导入了所有模式。种子数据将添加到项目中的部署后脚本中。但是,我也预见到开发人员在进行各种增强时会添加许多脚本。这些可以是更改模式脚本以及数据添加编辑删除脚本。并且所有这些都必须按顺序运行部署后,理想情况下是脚本名称执行 1.0.0.0,然后是 1.0.0.2,然后是 1.0.1.0。SQL Server 项目不允许多个部署后文件。我在网上只能找到如何创建一个项目,而没有人谈论创建一个结构,该结构将考虑到开发人员在不同发布周期中所做的更改(更改脚本)。有人可以在这里帮助我吗?

0 投票
1 回答
645 浏览

mysql - 可以通过从 mysql 目录复制和粘贴数据文件来传输 mysql 备份吗?

我需要重新格式化我的电脑并重新安装操作系统。我有很多数据库连接到我的 XAMPP 堆栈上运行的站点。如果我将 mysql 文件夹中的数据文件复制粘贴到新的 XAMPP 堆栈中,是否会保留数据库?如果是,需要复制哪些文件?还有其他考虑吗?另外,目标堆栈是 LAMP 还是 WAMP 有区别吗?

0 投票
1 回答
22 浏览

sql-server - 如何在安装项目对话框中提供一个选项,用户可以在其中从本地计算机或服务器中选择实例名称?

假设我有一个用于提供实例名称的对话框,并且我想查看本地计算机或服务器中可用的其他实例是什么,以及如果用户在他的系统中同时安装了 SQL Server 2005 和 SQL Server 2008 并且我想要选择要将数据库部署到的实例名称。如何使用使用 Visual Studio 2010 创建的安装项目来实现这一点?

请指导我,因为我是安装项目的新手。谢谢

0 投票
1 回答
277 浏览

asp.net - 如何在 appHarbor SQL Server 中运行数据库 sql 脚本

我已经asp.net在 appHarbor 上成功部署了我的 Web 表单应用程序,并且还安装了SQL Server.

但是我不知道如何创建数据库,因为我找不到任何可以运行模式脚本的 shell 查询框。

0 投票
1 回答
955 浏览

sql-server - SSDT/VS2015 数据库部署——发布忽略嵌套视图

我试图获得一些关于 SSDT 数据库开发和部署的知识和用例,并努力解决一些部署问题。

特别是在使用嵌套视图时。由于某些未知原因,在尝试将项目中的文件部署/发布到本地/实时数据库时,它似乎弄乱了视图中的引用。

在这个项目中,我有以下视图(示例):

  • 视图1
  • 视图2
  • 视图3

View1 引用 View2,而 View3 引用 View1。

构建项目工作正常。但是,当我尝试通过快照生成 dacpac 并将其发布到数据库或让 Visual Studio 在比较模式之后(或不)生成更新脚本来发布数据库时,我最终会得到一个更新脚本,该脚本试图在它们在项目中存储的逻辑顺序似乎是什么。

在这种情况下,View1 -> View2 -> View3。这意味着由于参考问题,发布失败。如果引用的视图不存在,则无法创建视图。

我已经尝试了几个选项,通过以各种方式在项目中添加 dacpac 作为参考(相同的数据库,相同的服务器,不同的数据库 w/w/o 数据库参数),但在许多情况下,我最终得到一个 sql71561 / SQL71508 错误,这是另一个 PITA解决。

在网上我找不到任何好的资源来解释如何解决这个问题或解释它如何正常工作。

希望我能在这里得到一些帮助。如果您需要我方面的额外意见或希望我尝试一些事情,请告诉我。

0 投票
1 回答
504 浏览

encoding - 修改数据库部署脚本的编码

有没有办法将 Sql Server Data Tools 生成的部署脚本的编码从 UTF-8 更改为 ANSI?

我遇到的问题是我在一个包含字符“è”的函数中有一个字符串,并且在生成的部署脚本中出现了一个框而不是这个字符。

编辑:我在 Visual Studio 2013 和 2015 中使用 SSDT。

0 投票
1 回答
109 浏览

mysql - 数据库版本控制使用哪个工具?liquibase vs mysql 二进制日志

我正在尝试构建一个重构、测试和部署我的数据库的过程。经过某种研究,我发现liquibase是管理我的数据库版本的好工具。类似的工作也可以只用mysql 二进制日志来完成。

你能告诉我 liquibase 在 mysql 二进制日志之上有什么好处吗?

0 投票
1 回答
247 浏览

deployment - 如何在多个环境中同步部署(尤其是数据库对象更改)

我有这个挑战。我是一个团队中的 DevOps 工程师和软件工程师,几个月前,开发人员从拥有中央 Oracle 数据库转变为在个人笔记本电脑上的 CentOS VM 上拥有数据库。从中央数据库转移是为了减少对 DBA 的依赖,同时也消除因数据不一致而引起的问题。

与团队中的每个人共享和确保数据库同步的计划是每个人都将与每个人共享更改脚本。问题是我们使用 Skype 进行通信(我们只是设置了 slack,但还没有开始完全使用它),虽然人们有时会发布数据库更改脚本的文本,但有些人可能会错过。另一个问题是一些开发人员错过了发布更改。此外,新版本部署在生产环境中,而不部署在测试和演示环境中。

这给我们带来了严峻的挑战,尤其是我自己,他最近开始负责确保我们的演示部署与生产部署同步。由于缺少更改脚本或缺少数据库对象,大多数同步问题与数据库缺乏同步有关。Oracle 是我们的首选数据库。

Demo 环境中的典型部署是一个非常痛苦的过程,涉及测试应用程序,并且由于缺少 DB 表列、函数、存储过程而出现问题,我们必须查找缺少的 DB 对象,将它们应用到 DB,然后继续,直到所有问题都得到解决。

如何解决此问题以确保顺利、轻松且耗时更少的部署?将我们的应用程序迁移到 Docker 是否有助于解决数据库同步问题以及相关的开发人员缺乏纪律?我们可以采取什么流程来改进这一领域?

非常感谢您的帮助。