我是一名SQL专业人士和一名铁杆新手。
我无法理解如何最好地使用rails数据库抽象。我可以在几秒钟内从SQL命令行做的事情在rails中显得过于费力。
例如:
我使用多个模型生成了一个支架,然后尝试生成迁移以将关联添加到这些模型中 生成的迁移用于创建表格'因为桌子已经存在而无法工作 所以我可以删除并重新创建表格或使用SQL' ALTER TABLE'迁移中的语句让我觉得我应该首先手工创建数据库模型。
使用rails数据抽象有什么好处,可以使用建模工具执行SQL,只使用schema:dump和schema:load?
答案 0 :(得分:2)
除了在控制台中编写create table
和ALTER TABLE
之外,您有很多理由想要使用迁移。
1.当我向表中的列添加新表时,会有一条记录发生,并且团队中的其他开发人员将在下次提交时知道它,而不必发送包含复杂指令的电子邮件那些不是SQL专业的
2.当您使用迁移并且想要将数据库从MySql更改为Postgres或其他任何内容时,您只需更改连接脚本
您可以回滚更改 示例:
class AddSsl < ActiveRecord::Migration
def up
add_column :accounts, :ssl_enabled, :boolean, default: true
end
def down
remove_column :accounts, :ssl_enabled
end
end
您可以使用迁移执行更多操作。 我重新开始看 http://api.rubyonrails.org/classes/ActiveRecord/Migration.html