2014-11-25 21 views
6

Tôi đang chơi với đường ray 4. Tôi vừa tạo thử nghiệm rất đơn giản cho mô hình của mình nhưng khi tôi cố gắng thực hiện "kiểm tra rake: models" lỗi:Errno :: EACCES: Quyền bị từ chối @ unlink_internal khi chạy kiểm tra rake: mô hình

C:\rails\project>rake test:models 
DL is deprecated, please use Fiddle 
rake aborted! 
Errno::EACCES: Permission denied @ unlink_internal - /tmp/db/new.sqlite3 
C:/rails/project/test/test_helper.rb:3:in `<top (required)>' 
C:/rails/project/test/models/admin_test.rb:1:in `<top (required)>' 
Tasks: TOP => test:models 
(See full trace by running task with --trace) 

kiểm tra cấu hình cơ sở dữ liệu của tôi trông như sau:

test: 
    adapter: sqlite3 
    database: /tmp/db/new.sqlite3 
    pool: 5 
    timeout: 5000 

"/ tmp/db" là thư mục nơi mà tôi có quyền truy cập đầy đủ trên máy tính xách tay cá nhân của tôi.

Bất kỳ ý tưởng nào có thể là nguồn gốc của vấn đề này?

Trả lời

5

Tôi đã gặp vấn đề tương tự với bảng test.sqlite3 và những gì đã hiệu quả đối với tôi là tạo một bản sao của bảng development.sqlite3 và đổi tên thành test.sqlite3. Tôi mong công việc này phù hợp với bạn.

+0

Điều này cũng làm việc cho tôi - hãy thực hiện công việc tái cấu trúc, sau đó xác minh bằng cách sử dụng trình khám phá tệp. – cyclical

8

Một cách tôi đã có thể để có được xung quanh lỗi này đã được sử dụng

rake db:migrate rails_env=test 

này tạo ra sự di cư cần thiết về test.sqlite3 tôi

Tôi tin rằng các thiết lập mặc định cho RAILS_ENV là "dev" nhưng điều này có thể thay đổi. Tôi vẫn còn rất mới để rails nhưng tôi hy vọng điều này sẽ giúp.

+0

Đây là cách tiếp cận chính xác. Việc di chuyển phải được thực hiện trong môi trường cụ thể mà nó muốn được sử dụng. – iGbanam

+0

có thể mặc định là phát triển không dev, dù sao đi nữa, không may mắn cho tôi hoặc khi làm đường ray db: reset tôi nhận được sự cho phép bị từ chối lỗi. – barlop

Các vấn đề liên quan