Rails数据库生命周期

时间:2015-07-10 21:11:30

标签: ruby-on-rails ruby-on-rails-4 migration

我是一名SQL专业人士和一名铁杆新手。

我无法理解如何最好地使用rails数据库抽象。我可以在几秒钟内从SQL命令行做的事情在rails中显得过于费力。

例如:

我使用多个模型生成了一个支架,然后尝试生成迁移以将关联添加到这些模型中 生成的迁移用于创建表格'因为桌子已经存在而无法工作 所以我可以删除并重新创建表格或使用SQL' ALTER TABLE'迁移中的语句让我觉得我应该首先手工创建数据库模型。

使用rails数据抽象有什么好处,可以使用建模工具执行SQL,只使用schema:dump和schema:load?

1 个答案:

答案 0 :(得分:2)

除了在控制台中编写create tableALTER TABLE之外,您有很多理由想要使用迁移。

1.当我向表中的列添加新表时,会有一条记录发生,并且团队中的其他开发人员将在下次提交时知道它,而不必发送包含复杂指令的电子邮件那些不是SQL专业的

2.当您使用迁移并且想要将数据库从MySql更改为Postgres或其他任何内容时,您只需更改连接脚本

  1. 您可以回滚更改 示例:

    class AddSsl < ActiveRecord::Migration
      def up
        add_column :accounts, :ssl_enabled, :boolean, default: true
      end
    
      def down
        remove_column :accounts, :ssl_enabled
      end
    end
    
  2. 您可以使用迁移执行更多操作。 我重新开始看 http://api.rubyonrails.org/classes/ActiveRecord/Migration.html