有人告诉我,由于某种原因,使用rails时无法更新数据库架构。您可以删除表,然后重新创建具有更新架构的表,但如果您已经在表中存储了要更新的内容,则无法使用此表。
你推荐什么?
谢谢!
答案 0 :(得分:10)
你被告知的是不正确的。您可以在使用Rails时更新数据库架构。
你这样做的方法是通过“迁移”。
常见的模式是编写一组构建初始模式的迁移。随着您的应用程序的开发,您可以编写其他迁移来更改表和列以适应不断发展的设计。如果应用程序正在生产中,则将这些新迁移应用于生产模式。
当然,一些更改会破坏您现有的数据,但这与Rails无关。无论您使用何种编程语言/框架,都是如此。
如果您具有旧版数据库架构且未使用迁移,则仍可以通过直接与数据库服务器交互来更新架构。在这种情况下,什么会起作用,什么不会与Rails无关。这完全取决于架构的结构和数据本身。
答案 1 :(得分:0)
如果您在其中的内容中删除表格,则内容将被销毁。但是,您可以将内容迁移与数据库模式迁移一起包括在内,因此一旦更新了模式,它就会迁移回表。