我一直在做一个项目,并让它通过了第一阶段.然而,需求最终发生了变化,我不得不添加新的表,并在数据库中重做一些外键引用.

我的问题是,一旦我在dev数据库上完成了开发,我就缺乏处理对临时数据库和生产数据库进行这种更改的知识.

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

据我所知,这项工作就是打开SQLServerManagementStudio,开始手动添加表.我知道这可能是一种不好的方式,所以在意识到自己可能一开始就错了的情况下,寻找如何正确地完成它.

推荐答案

我通常使用类似SQL Server Publishing Wizard的代码来生成更改的SQL脚本.这是一个相当简单和容易的方法.该工具的主要缺点是,生成的表将删除并重新创建未更改但由已更改的过程使用的表(我不明白为什么),因此在判断脚本并删除不需要的内容时需要一些手工操作.

Note您不需要下载并安装此工具;您可以从Visual Studio中启动它.右键单击Server Explorer中的一个连接,然后在上下文菜单中 Select "Publish to Provider".

Database相关问答推荐

如何将使用模块创建的 Redis RDB 文件迁移到没有该模块的部署? (RedisStack 版本 7.2+ 中不再包含 RedisGraph)

DBMS_RANDOM 是否默认安装?

如何高效地存储棋局?

java嵌入式库磁盘键值数据库

数据库设计:多表与单表

基于邮政编码的纬度和经度

按纬度/经度进行半径搜索

在事务提交之前传递 JMS 消息

区分大小写的数据库有什么好处吗?

SQL 历史(history)表设计

如何在 2 个 MySQL 数据库之间传输数据?

为什么String or Binary data would be truncated不是更具描述性的错误?

South migration error: NoMigrations exception for django.contrib.auth

连接池策略效果怎样?

更改列类型而不丢失数据

如何从 PostgreSQL 数据库中的文本文件加载数据?

如何处理数据库中用户的身份验证/授权?

数据库与平面文本文件:当性能不是问题时, Select 一个而不是另一个的一些技术原因是什么?

如何在 SQL Server 中创建数据库的别名

为 django 模型自动创建数据的工具