【问题标题】:is it ok to change the database table schemas created from rails using mysql?可以使用 mysql 更改从 rails 创建的数据库表模式吗?
【发布时间】:2016-01-29 09:17:29
【问题描述】:

我使用 Rails 创建了一些表格。现在我想修改其中一些的结构。我知道可以使用 rails 迁移来完成。但是我想知道如果我使用 mysql rdbms 修改模式是否会导致 rails 应用程序出现异常?

【问题讨论】:

    标签: mysql ruby-on-rails database-migration


    【解决方案1】:

    如果您决定重新创建/重新迁移数据库,通过迁移进行此类更改的优点是不会丢失更改。

    它也可用作文档。想象一下,如果你的同事偷偷改变了一些表格(然后你们都忘记了)。

    从技术上讲,直接在数据库中更新模式应该可以,但不要这样做。

    【讨论】:

      【解决方案2】:

      为了补充 Sergio 的观点,您错过了一个简单的事实 - Rails' migrations 创建著名的 db/schema.rb 文件 - 您的迁移从中提取所有数据。

      schema.rb 的重要性被忽视了 - 它是您的应用程序中最重要的方面之一。

      db/schema.rb

      架构为您的所有迁移提供了数据库的版本,以供更改/添加。每次执行迁移时,Rails 都会更改架构文件以确保它具有存储在文件中的数据库的“蓝图”。

      该架构然后能够使用诸如rake db:schema:load 之类的方法重建数据库(仅推荐用于新安装 -- 删除以前的数据)


      因此,虽然使用数据库自​​己的本机工具设置数据库没有问题,但我建议不要这样做。您需要保持迁移速度,以便 Rails 可以根据其架构构建适当的表。

      【讨论】:

        猜你喜欢
        • 2014-10-06
        • 2013-01-02
        • 2014-02-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-08
        相关资源
        最近更新 更多