rails更新数据库架构

时间:2009-07-06 18:59:14

标签: ruby-on-rails

有人告诉我,由于某种原因,使用rails时无法更新数据库架构。您可以删除表,然后重新创建具有更新架构的表,但如果您已经在表中存储了要更新的内容,则无法使用此表。

你推荐什么?

谢谢!

2 个答案:

答案 0 :(得分:10)

你被告知的是不正确的。您可以在使用Rails时更新数据库架构。

你这样做的方法是通过“迁移”。

常见的模式是编写一组构建初始模式的迁移。随着您的应用程序的开发,您可以编写其他迁移来更改表和列以适应不断发展的设计。如果应用程序正在生产中,则将这些新迁移应用于生产模式。

当然,一些更改会破坏您现有的数据,但这与Rails无关。无论您使用何种编程语言/框架,都是如此。

如果您具有旧版数据库架构且未使用迁移,则仍可以通过直接与数据库服务器交互来更新架构。在这种情况下,什么会起作用,什么不会与Rails无关。这完全取决于架构的结构和数据本身。

答案 1 :(得分:0)

如果您在其中的内容中删除表格,则内容将被销毁。但是,您可以将内容迁移与数据库模式迁移一起包括在内,因此一旦更新了模式,它就会迁移回表。