Я использую Rails v2.3.2 с MySQL v5.1 и mysql2 gem.
Я запускаю следующие грабли втакой метод, как:
def db_operation
Rake::Task['db:drop'].invoke #this one does not work
Rake::Task['db:create'].invoke
Rake::Task['db:migrate'].invoke
...
end
, но Rake::Task['db:drop'].invoke
не удаляет мою базу данных **, и появляется сообщение об ошибке no , из-за которого я понятия не имею,найдите причину.
Затем: я перехожу на командную строку MySQL , чтобы выполнить "DROP DATABASE my_db;
", и появляется следующее сообщение об ошибке:
ERROR 1010 (HY000): Error dropping database (can't rmdir './my_db/', errno: 17)
После этого: я снова запускаю приведенный выше код, база данных неожиданно удаляется ...
Что происходило ??Почему мой rake db:drop
не удаляет базу данных, но после того, как я запускаю команду drop в командной строке MySQL и снова запускаю rake db: drop, она сбрасывается ???(и я получаю сообщение об ошибке при запуске в командной строке MySQL)
PS
rake db:create
и rake db:migrate
работают без проблем.