Транзакция для создания пользователя - PullRequest
0 голосов
/ 11 ноября 2011

С помощью следующего кода я хотел бы создать базу данных пользователя.Для этого я хочу использовать транзакции Active Record.К сожалению, мой код не работает, поэтому кто-то может мне помочь?

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

1 Ответ

0 голосов
/ 12 ноября 2011

У меня была возможность подумать об этом, в основном вам нужно изменить базу данных на системную.ActiveRecord :: Base.establish_connection (: адаптер => "mysql2",: host => "localhost",: username => "me",: пароль => "secret",: database => "activerecord")

:database будет именем базы данных, содержащей таблицу User.

Затем вы можете заключить создание User в транзакцию, вы сделаете это следующим образом:

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

Используемые атрибуты должны совпадать с тем, что вы найдете в системной таблице User.

Вероятно, есть вещи, которые вы должны сделать, такие как закрытие соединений и тому подобное, прежде чем делать это, но это зависит от того, гдеВы звоните это от.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...