Sri*_*.V. 17 activerecord triggers ruby-on-rails
有没有办法使用Activerecord迁移创建mysql触发器?有没有人参与其中分享你的经验.谢谢
Dam*_*IEU 23
没有魔术方法允许您在不编写任何SQL的情况下创建触发器.
但是您可以在任何迁移中执行原始sql.
def self.up
execute <<-SQL
CREATE TRIGGER my_trigger ...
SQL
end
Run Code Online (Sandbox Code Playgroud)
然后,您只需要根据迁移情况适当地编写触发器或更新它.
编辑:我刚刚找到rails_on_pg,它为迁移提供了一些帮助.
它不适用于除PgSQL之外的任何其他数据库服务器.但是如果你要写一些MySQL触发帮助器,它可能是一个很好的领导.
Jon*_*sen 11
有一个名为hairtrigger的宝石,它使这更容易和更便携(mysql/sqlite/postgres).它允许您以与数据库无关的方式在迁移中创建触发器,或者甚至可以更好地在模型中声明它们,然后运行rake db:generate_trigger_migration来为您执行此操作.