处理数据库模式中的更改

2024-03-25

我正处于构建应用程序的初始阶段,该应用程序有望以 1000 的价格出售 - 更有可能的是数百,但无论哪种方式都足以引起数据库架构更改的严重头痛。

我相当受限于 windows / .net / sql 服务器环境,因为我们的许多客户将自行托管我在他们的网络服务器中构建的应用程序,并且在他们的服务器上安装的额外位永远不会顺利进行,并且总是有一些投诉/因此而失去业务。所以 sqlalchemy 已经过时了,因为它在 python 中运行。

我想要的是一个可以让我在应用程序版本之间轻松迁移的工具。我发现了 migrator.net 并且以前用过它,但从未在生产中使用过,因为开发团队似乎每年只对其进行开发,而不是一个活跃的项目。

有哪些替代方法可用?

UPDATE我忘了提到我希望能够在持续集成环境中使用它,因此虽然 data dude 和 sql Compare 是很好的 GUI 工具,但我确实自动化了。


如果您使用 Visual Studio 2010 Ultimate/Premium Edition 或 Visual Studio Team/Database Edition 2008,您将在 Visual Studio 中找到所需的一切。

您可以比较两个数据库(例如,dev 和 prod)并生成用于修改数据的 SQL 脚本。您可以轻松地从比较中排除某些表或某些列。您还可以检查结果并从脚本的生成中排除一些条目。因此,我们可以轻松灵活地生成可用于部署数据库中的更改的脚本。您可以分别比较数据的两个数据库结构 (模式比较)。只需进入“数据”菜单并选择“架构比较”或“数据比较”。你可以阅读http://msdn.microsoft.com/en-us/library/dd193250.aspx http://msdn.microsoft.com/en-us/library/dd193250.aspx and http://msdn.microsoft.com/en-us/library/dd193261.aspx http://msdn.microsoft.com/en-us/library/dd193261.aspx了解它是如何工作的。因此,您可以使用 prod 中的数据刷新 dev 中的数据,或者生成将 prod 数据库修改为 dev 数据库的最新版本的脚本。

我开始在 Vinsual Studio Team Edition 2008 中使用此功能,并在 Visual Studio 2010 Ultimate 中继续使用它。这正是我所需要的。在某些情况下,我需要修改一些脚本,但 95% 的工作都是由 Visual Studio 完成的。

如果您无法使用 VS2010 Ultimate 或 Premium,并且没有 VS2008 Team 或 Database Edition,我建议您查看以下产品http://www.red-gate.com/ http://www.red-gate.com/ (like http://www.red-gate.com/products/SQL_Compare/index.htm http://www.red-gate.com/products/SQL_Compare/index.htm)具有接近的特征。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

处理数据库模式中的更改 的相关文章

  • #region 描述编译到.net 中的.exe 中?

    region endregion 指令 描述 是否编译到 NET 中的 EXE 中 我知道注释不是 但我经常在一个区域内对代码组进行分块并给出有用的描述 我想确保这些描述在我编译的代码中不可见 我不是在寻找混淆信息 不过 谢谢 不 他们不是
  • 将 SQL 依赖关系与 Azure 结合使用

    在我的本地数据库中 Sql 依赖关系工作正常 但是当我迁移到 Azure 数据库时 它就不起作用了 我检查服务代理是否已启用 并且它已激活 这是错误 此版本的 SQL Server 不支持语句 RECEIVE MSG 这是我的代码 publ
  • 如何检查程序是否在 Windows 上的 Ubuntu 上的 Bash 中运行,而不仅仅是普通的 Ubuntu?

    非常简单 确定您所使用的操作系统的通常位置似乎与 Ubuntu for Windows 上的普通 Ubuntu 相同 例如uname a与本机 GNU Linux 安装相同并且 etc os version与 Ubuntu Trusty T
  • 如何在“Where”子句之前写“Order By”子句

    我想写一个ORDER BY我之前的子句WHERE条件 因为我需要将结果截断为 10 但我需要首先按字母顺序对它们进行排序 我知道你不能把ORDER BY before WHERE那我该怎么办呢 我需要做类似以下的事情 SELECT FROM
  • Python ctypes:SetWindowsHookEx 回调函数从未被调用

    我正在尝试用 Python 编写一个程序 该程序可以识别何时显示警报框 对话框 它正在处理多个监视器 我希望它在任务栏图标闪烁 弹出错误 通知等时在辅助监视器上显示可视化效果 据我所知 检测这些事件的方法是使用消息挂钩 如下所述 http
  • 插入到表中并在 SQL 中拆分字符串

    我想将分割字符串插入到我的表中 如您所见 create table Organization organizationId bigint provienceId bigint CityId bigint TownId bigint Inse
  • 如何获取Access数据库中已更改的记录详细信息

    我有一个 Access 数据库 其中有许多表和数千条记录 如果有人更改其中的任何数据 任何行 甚至只是一个单元格 有什么方法可以知道哪些特定行或单元格已更改Access 数据库 任何属性或者我应该使用任何触发器吗 几年前我在使用 MSSQL
  • 如何在codeigniter中从数据库返回最后一条记录?

    我正在尝试获取我拥有数据的最后日期 所以我想打印 date data 列中的最后一个日期 在模型中 public function last record query this gt db gt select LAST date data
  • 我如何(或可以)在多个列上选择 DISTINCT?

    我需要从表中检索所有行 其中两列的组合都不同 因此 我希望同一天没有任何其他销售的所有销售都以相同的价格进行 基于日期和价格的唯一销售将更新为活动状态 所以我在想 UPDATE sales SET status ACTIVE WHERE i
  • 如何在 WPF 中绑定用户控件作为 DataGridTemplateColumn 失败

    我想使用来自不同程序集的用户控件作为 DataGridTemplateColumn 我已经看过很多例子和问题 比如this https stackoverflow com questions 13956767 binding to cust
  • gzipstream.copyto .net 3.5 中的替代且简单的方法

    你好 在 net 4的这段代码中我使用了gzipstream的copyto方法 System IO MemoryStream ms new System IO MemoryStream byteArray GZipStream Decomp
  • 将颜色淡化为白色(增加亮度)

    我想用 NET 制作一个文本框 发光 黄色 然后 淡出 为白色 基本上 通过逐渐增加亮度 我认为 Stackoverflow 会在您发布答案后执行此操作 我知道增加亮度并不是那么简单 它不仅仅是均匀地增加 减少 RGB 但我不知道如何做到这
  • 有没有办法以编程方式最小化窗口

    我正在做的是我有一个全屏表单 没有标题栏 因此缺少右上角的最小化 最大化 关闭按钮 我想用键盘快捷键和上下文菜单项替换该功能 但我似乎找不到触发事件来最小化表单 private void Form1 KeyPress object send
  • 如何设置报表服务器实例?

    我正在尝试设置 Microsoft SQL Server Reporting Services 我打开 Reporting Services 配置管理器 它要求输入服务器名称 问题是 我不知道服务器名称 因为据我所知还没有设置报表服务器 那
  • 跳转到文件行c#

    我如何跳到文件中的某些行 例如 c text txt 中的第 300 行 using var reader new StreamReader c test txt for int i 0 i lt 300 i reader ReadLine
  • 通过 StackExchange.Redis 连接到 Redis Servier

    我尝试使用以下方法制作一个测试项目Redis https redis io服务器 通过 Virtual Box 安装在 Linux Ubuntu 虚拟机上 Linux 机器通过 Virtual Box 的桥接适配器与本地网络连接 Virtu
  • 如何找到与日期范围最重叠的时间段

    假设您有一个包含标识符 开始时间和结束时间的表 这些开始和结束时间可以是任意时间长度 开始时间始终早于结束时间 假设没有空值 什么样的查询会告诉我最 流行 的时间 即每行中的两个范围与大多数其他行重叠的位置 它的实际应用是它是一个记录用户登
  • 设置 eclipse 进行 Windows 驱动程序开发

    我正在尝试使用 WDK 7 1 0 编写用户模式 Windows XP Vista 和 7 虚拟打印机驱动程序 我打算使用 eclipse IDE 进行开发 所以想知道是否可以进行相同的设置 我希望做以下事情 1 Eclipse 能够识别
  • MYSQL枚举:@rownum,奇偶记录

    我问了一个关于为查询结果创建临时 虚拟 ID 的问题 mysql 和 php 查询结果的临时 虚拟 ID https stackoverflow com questions 4063998 mysql php temporary virtu
  • OledbConnection.Dispose() 是否关闭连接? [复制]

    这个问题在这里已经有答案了 可能的重复 如果使用 using 子句 是否需要关闭 DbConnection https stackoverflow com questions 12033998 is there any need to cl

随机推荐

  • ILogger (ASP.NET Core) 日志被调用甚至 IsEnabled 返回 false

    我试图理解的目的已启用 https learn microsoft com en us aspnet core api microsoft extensions logging ilogger Microsoft Extensions Lo
  • RStudio 达到最大文件大小

    我已经下载了 RStudio 在打开我的代码所在的文件时 我似乎已经达到了容量限制 The file is 2 3MB the maximum file size is 2MB The file is too large to open a
  • 使用 jQuery 从 ASP.NET 向用户显示消息

    在 ASP NET 中开发各种 Web 应用程序时 我发现自己需要在执行各种操作后将消息发送回用户 例如 文件是否已成功上传或数据库记录已更新 另外 如果有错误我想通知用户 到目前为止 我一直在创建包含要向用户显示的消息的服务器端变量 然后
  • 如何捕获 socket.io 错误并防止它们出现在控制台中?

    我在node js 上运行socket io 并在Apache 网站上运行socket io 客户端 如果我不启动 node js 服务器并加载客户端页面 则会触发错误事件并显示空错误消息 这会导致以下控制台输出 GET http exam
  • Android:快速按下按钮会导致多个意图实例

    目前 我遇到一个错误 如果用户快速点击按钮 该按钮所附加的意图将多次触发 从而导致需要再次回溯的该意图堆栈 我怎样才能避免这种情况或补救这种情况 谢谢 k 这是 onClickListener 的内部 我在这里设置了布尔值 然后在过程结束时
  • 使用 Spreadsheetml 换行文本的样式

    我使用 xslt 生成电子表格 并想要一个带有换行文本的单元格 或者更好 带有换行符的文本 所以我的 xslt 为工作表数据生成以下 XML
  • 在 osx 上批量将 .py(文本文件)转换为 .pdf

    我教授 Python 课程 并且有大量提交用于考试的 py 文件 我想将所有这些内容转换为 pdf 以便我可以在 ipad 上的 IAnnotate 中打开它们 对其进行标记并将其返回给学生 我怎样才能在批处理模式下进行这样的转换 在小牛队
  • 在以破折号开头的目录中查找

    find将文件名开头的破折号解释为选项的开头 使用熟悉的 技巧不起作用 因为选项位于文件名之后 引用无效 并将第一个破折号替换为 也不行 通常鼓励用户在此类文件名之前添加 但是如果我不知道给定的路径是绝对路径还是相对路径 我该怎么办 编辑
  • rdstate 和 rdbuf 中的 rd 代表什么?

    C 标准I O库中有两个名称 rdstate and rdbuf 我知道 state 和 buf 但是 rd 是什么 PS 我相信我知道如何使用rdstate and rdbuf 不要教我那个 我认为它们代表 read 类似于大多数人使用
  • 如何使用 dbus-send 调用 org.bluez.Adapter1.StartDiscovery?

    我正在尝试使用 Bluez 5 44 进行交互dbus send https dbus freedesktop org doc dbus send 1 html命令行工具 我似乎无法让它正确启动发现 尽管当我使用时它工作得很好bluetoo
  • 使用 POI Apache 从 Excel 读取数据时将数据添加到 ArrayList

    我正在尝试使用 POI Apache 从 Excel 工作表中读取数据 我遇到的问题是我想同时读取一行中所有单元格的数据并将其存储在 Type Class 的 ArrayList 中 但输出只是逐个单元格 这是打开 Excel 工作表并逐个
  • 从 Windows 媒体库获取目录列表

    有没有什么方法可以以编程方式查找当前在 Windows 媒体库上设置的目录列表 例如 假设我有以下库 我为葡萄牙语表示歉意 但你会明白的 我怎样才能以编程方式获得这些三个目录路径列于视频库 D Filmes D Series D Video
  • 如何使用 Scala 中的任何库将通用潜在嵌套映射 Map[String, Any] 转换为案例类?

    我对反射并没有太多的兴趣 这个答案在某些情况下使用无形的作品 但似乎有很多边缘情况 将 Map String Any 转换为 case 类的无形状代码无法处理可选子结构 https stackoverflow com questions 5
  • 检测全屏模式

    现代桌面版 IE 10 始终是全屏的 有一个居住规范 https dvcs w3 org hg fullscreen raw file tip Overview html for fullscreenW3 上的伪类 但是当我尝试使用 jQu
  • pandas 中日期时间索引的算术运算

    在 pandas 中 您可以通过基于经典整数位置 行的索引或基于日期时间的索引来访问时间序列的特定位置 可以使用基本算术运算来操作基于整数的索引 例如如果我有一个integer index对于频率为 12 小时的时间序列 并且我想恰好在此之
  • 为什么要在 Java 中的方法参数上使用关键字“final”?

    我不明白在哪里final关键字是really当它用在方法参数上时很方便 如果我们排除匿名类的使用 可读性和意图声明 那么它对我来说几乎毫无价值 强制某些数据保持不变并不像看起来那么有力 如果参数是原语 那么它将没有任何效果 因为参数作为值传
  • 如何优化 FQL 以避免 Facebook 超时?

    我们来举个简单的FQL查询以获取自昨天以来用户的朋友共享的所有链接 例如 SELECT link id title url owner created time FROM link WHERE created time gt strtoti
  • 从复选框输入 PHP 表单将多个项目插入到一个 ID MySQL

    I badly needed this solution Here is the image what I will checked 这是订单 ID 它对于所有问题标题都是通用的 它将像这样插入 这是我使用的代码 if isset POST
  • Google API 发送带有附件的电子邮件 - REST API 调用 Postman

    我想通过 Google API 创建电子邮件 消息 用户消息发送 https developers google com gmail api reference rest v1 users messages send 我设法使用此端点创建了
  • 处理数据库模式中的更改

    我正处于构建应用程序的初始阶段 该应用程序有望以 1000 的价格出售 更有可能的是数百 但无论哪种方式都足以引起数据库架构更改的严重头痛 我相当受限于 windows net sql 服务器环境 因为我们的许多客户将自行托管我在他们的网络