用户创建的交易

时间:2011-11-11 15:28:09

标签: ruby-on-rails-3 activerecord transactions

使用以下代码我想创建一个数据库用户。为此,我想使用Active Record Transactions。可悲的是我的代码不起作用,有人能帮助我吗?

begin
  ActiveRecord::Base.transaction("CREATE USER " + @user.name + " IDENTIFIED BY "1234")
rescue => e
  puts e.to_s
end

1 个答案:

答案 0 :(得分:0)

我有机会考虑这个问题,基本上你需要将数据库更改为系统数据库。         的ActiveRecord :: Base.establish_connection(           :adapter => “mysql2”           :host => “localhost” 的,           :username => “我”,           :password => “秘密”,           :database => “ActiveRecord的”         )

:database将是包含User表的数据库的名称。

然后你可以将User创建包装在一个事务中,你可以这样做:

    ActiveRecord::Base.transaction do
      User.create({:name => "my_name"})
    end

使用的属性应与您在系统User表中找到的属性相匹配。

在执行此操作之前,您可能需要执行一些操作,例如关闭连接等,但这取决于您从哪里调用它。