首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何升级MySQL数据库:添加列,添加表

问如何升级MySQL数据库:添加列,添加表
EN

Server Fault用户
提问于 2009-11-24 17:07:27
回答 4查看 359关注 0票数 0

我们正在进行一个使用MySQL存储数据的项目。在进入生产服务器之前,我们在测试服务器上进行开发和测试。在开发过程中,我们通过在表中添加/更改列或向数据库中添加更多表来对数据库进行结构更改。

如何在不破坏现有数据的情况下将这些更改从测试服务器传播到生产服务器?

我们的测试服务器在Mac上,生产服务器在上。MySQL的版本为5.1.39。谢谢你的阅读和帮助。

EN

回答 4

Server Fault用户

回答已采纳

发布于 2009-11-24 17:46:21

这在StackOverflow也许更合适,但我会给你两分钱。

这是您需要解决的应用程序部署过程的一部分。您需要查看生产服务器上的数据库模式和测试服务器上的模式,然后准确地确定使它们匹配所需的更改。你得逐个看,逐个看。根据所需的更改,您可能无法进行非破坏性部署。有些更改具有侵入性,因此唯一的选择是迁移数据(有时这意味着导出和重新加载数据,可能在两者之间进行一些数据操作,但希望这意味着在生产数据库中创建一个替换表,并使用SQL将旧表的内容转储到其中(可能需要进行一些操作)。

今后,我建议在开发过程中突出地记住数据库的更改。请始终记住,您必须将这些更改输入到生产服务器中,如果您在进行更改时跟踪这些更改,并计划如何部署这些更改,则可以更轻松地完成部署。

票数 1
EN

Server Fault用户

发布于 2009-11-24 17:36:13

我想这是堆叠溢出的。

您可以将您的更改放在。命令行,或者具有像phpmyadmin这样的前端。

代码语言:javascript
复制
 CREATE TABLE "table_name"
("column 1" "data_type_for_column_1",
"column 2" "data_type_for_column_2",
... )

若要修改表:

代码语言:javascript
复制
ALTER TABLE table_name
ADD (   column_1    column-definition,
    column_2    column-definition,
    ...     
    column_n    column_definition );
票数 1
EN

Server Fault用户

发布于 2009-11-24 18:18:29

正如其他人所说,这是一个堆积如山的问题.但是我在这里的时候..。

看看现代web应用程序开发框架是如何处理这个问题的。Rails有一种很棒的处理方法,称为“迁移”,它基本上要求您分别描述每个模式更改,然后跟踪当前的模式版本,并应用使数据库与当前现实保持同步所需的模式更改。这是一个改变生活的特征。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/87854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档