问题标签 [database-migration]

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 回答
727 浏览

database - 使用 Qt4 进行数据库迁移(架构更改)

从 Ruby on Rails 中,我了解了一种舒适且易于管理的数据库迁移方式。

在 Qt4 中如何处理这种情况?它不需要像 Rails 的解决方案那样详细说明。我可以通过运行 SQL 和代码片段来提高或降低数据的版本列表。

我用谷歌搜索了一下,但似乎没有标准的解决方案。以前似乎没有人挠过头。看起来每个人都实现了自己的想法。

是否有人对标准解决方案感兴趣或正在研究并愿意分享努力?或者甚至有一个可行的实现?我正在考虑使用类似于information_schemaRails 中的表的想法,并让应用程序运行一个向导来升级或降级数据库(并且可能首先提供备份/转储),或者作为另一种选择,只需运行没有向导的迁移,也许只是一个方便的进度条。

0 投票
1 回答
132 浏览

ruby-on-rails - 将 schema_migration 表移动到较新版本而不迁移?

我的大多数迁移都是按数字而不是时间戳,但其中 5 或 6 个(最近的)带有时间戳。这些我想移动到基于数字的,现在我想将迁移表转发到适当的数字。如何在不实际运行迁移的情况下强制表更新,或者我应该向下迁移到 5 或 6 之前(时间戳之前),然后再次使用数字向上迁移?

0 投票
2 回答
362 浏览

.net - 帮助估算数据迁移

我们的客户有一个完全定制的 CMS,它内置在 ASP 1.1 中,后来升级到 2.0。该数据库有 200 多个表,不幸的是,没有 ASP 代码或数据库的文档。无法询问原始开发人员,我公司中没有人熟悉设置。

大多数数据库表没有时间戳列,因此仅通过检查很难确定哪些表正在使用,哪些未使用。增加任务的复杂性是,对于 CMS 中的每个门户站点,已经开发了使用单独的数据库表的自定义功能,有时还使用存储过程来处理单独的客户端站点的数据。

从事这个项目的原始开发人员已经走了,它意外地被放在了我的盘子里。我的任务是将现有 CMS 中的所有数据(包括每个模块和每个客户端站点的数据)移动到带有我们正在开发的自定义模块的 DotNetNuke 安装中。我收到的估计是三周。

如果有人以前尝试过这样的任务:这在三周内可行吗?我以前从未尝试过如此大规模的数据迁移,任何有关策略的帮助都会有所帮助。

0 投票
2 回答
213 浏览

sql-server - 从存储过程中创建新数据库

由于一名员工辞职,我接到了一个超出我专业领域的项目。

我有一个产品,每个客户都有自己的数据库副本。用于创建数据库的 UI(许可、基本信息收集等)正在外包,所以我希望只有一个他们可以调用的存储过程,提供一些参数,然后让 SP 创建数据库。我有一个用于创建数据库的脚本,但我不确定实际执行该脚本的最佳方式。

根据我的发现,这似乎超出了 SP 可以轻松做到的范围。是否有任何“最佳实践”来处理这种程序流程?

0 投票
4 回答
2939 浏览

database - 升级或迁移后是否有一种好方法可以验证数据库架构是否正确?

我们有客户从一个数据库版本升级到另一个(Oracle 9i 到 Oracle 10g 或 11g,具体来说)。在一种情况下,客户导出旧数据库并将其导入新数据库,但由于某种原因没有创建索引和约束。他们可能故意这样做是为了加快导入过程,但我们仍在调查原因。

真正的问题是,有没有一种简单的方法可以在导入后验证数据库的结构是否完整?我们可以对结构进行某种校验和吗?我们意识到我们可以做一堆查询来查看所有的表、索引、别名、视图、序列等是否存在,但这可能很难编写和维护。

更新

感谢您提供建议使用商业和/或 GUI 工具的答案,但我们确实需要一些免费的东西,我们可以将其与我们的产品打包在一起。它还必须是命令行或脚本驱动的,以便我们的客户可以在任何环境(unix、linux、windows)中运行它。

0 投票
1 回答
157 浏览

sql - 将具有欺骗性的 MySQL 表迁移到具有 UNIQUE 约束的另一个表的最佳方法

我正在尝试找出数据迁移的最佳方法。

我正在从这样的表中迁移一些数据(~8000 行):

到这样的表:

保留主键并不重要。

“位置”中的地址重复了很多次。大多数情况下经纬度相同。但在某些情况下,有些行的 addr 值相同,但纬度和经度的值不同。

最终的 location2 表应该为 location 中的每个唯一 addr 条目提供一个条目。如果纬度/经度有多个可能值,则应使用最新的(最高 location_id)。

我创建了一个过程来执行此操作,但它不喜欢 addr 相同但纬度/经度不同的行。

有没有好的方法来做到这一点?我一直想放弃并编写一个小的 PHP 程序来做到这一点,但如果可以的话,我宁愿学习正确的 SQL 方式。

可能我只需要从第一个表中找到正确的 SELECT 就可以使用:

迁移数据。

谢谢!

0 投票
4 回答
920 浏览

.net - 处理数据库模式中的更改

我正处于构建应用程序的相当初始阶段,该应用程序有望在 1000 台内销售 - 更有可能是数百台,但无论哪种方式都足以引起数据库架构更改的巨大头痛。

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

我所追求的是一个工具,它可以让我轻松地在应用程序的版本之间迁移。我找到了 migrator.net 并且之前使用过它,但从未投入生产,因为开发团队似乎只每年都在开发它,而不是一个活跃的项目。

有哪些替代方法可用?

更新 我忘了提到我希望能够在持续集成环境中使用它,所以虽然 data dude 和 sql compare 是很好的 gui 工具,但我真的很自动化。

0 投票
1 回答
314 浏览

sql-server-2005 - 将 Sql server 2005 移至 Oracle?

我想将我的 SQL Server 2005 数据库移动到 Oracle。我怎样才能做到这一点?我要遵循的步骤是什么?有什么工具可以做到这一点吗?

0 投票
1 回答
241 浏览

ruby-on-rails - 对于 Ruby on Rails,如何切换到具有相同 DBMS 或不同 DBMS 的新空 DB?

如果不需要迁移数据,看来我们可以编辑database.yml

1)使用一个全新的数据库,数据为 0,只需将第 3 行更改为:

然后做一个rake db:createrake db:migrate现在,我们有一个零数据的全新数据库?

2)如果它指定使用 SQLite,我们可以将其更改为 MySQL 描述作为这篇文章的顶部,也可以做一个rake db:createand rake db:migrate,现在我们有一个全新的数据库可以使用,并且是 MySQL 吗?

3) Rails 3 有一个 db/schema.rb。可以用这个代替rake db:migrate,如果有30个迁移文件会涉及30个迁移,但是如果使用schema.rb,那么它可以一步到达数据库模式?

4)我认为我们可以development_02database.yml文件中创建其他等,指向旧数据库,或指向不同的 DBMS,但只要确保我们运行

?

0 投票
6 回答
2907 浏览

ruby-on-rails - 数据库迁移回滚的用处

许多人谈论数据库迁移,尤其是它的回滚可能性。

我怀疑它是否有用,因为数据库和模型的模式与应用程序逻辑(MVC)紧密相连。

假设我已经完成了一些迁移的回滚。什么?该应用程序将无法运行,因为它的逻辑完全依赖于 db。

数据库迁移回滚能力的用例是什么?


更新 1

主要问题

当我需要更改代码时,为什么将回滚作为一项功能呈现?

创建迁移,例如“add_another_field_to_table”。相反,每个迁移文件都完整描述了 DB 中的每个表。当我需要更改数据库中的某些内容时,我只需更改迁移文件,但不要回滚

真的,如果我回滚迁移,不会像版本控制那样让我及时回来。我有很多工作,当计划更改并且回滚给我任何东西时。