我正在使用Ubuntu10操作系统。 以下是创建新数据库文件的步骤:
touch development.db
我需要我的迁移。
rake db:migrate
但是遇到了锁定错误
SQLite3::BusyException: database is locked
如何将其锁定?!
更新:它可以通过Samba进行锁定。这是共享文件夹。
我自己也遇到过这个问题。我发现避免文件被锁定的唯一方法是在挂载时添加 nobrl
选项。你的 /etc/fstab
中的条目可能看起来像这样:
//<SERVERNAME>/<REMOTEPATH> /<LOCALMOUNTPOINT>/<LOCALPATH> cifs credentials=/home/<LOCALUSERNAME>/.smbcredentials,iocharset=utf8,uid=1000,gid=1000,file_mode=0775,dir_mode=0775,nobrl 0 0
以下内容是基于Ubuntu维基页面的简要介绍:https://wiki.ubuntu.com/MountWindowsSharesPermanently
rake db:create
而不是touch
。这对我总是有效的。也许迁移本身存在问题?我认为它被 samba 锁定了。
我将 development.db 放在其他非共享文件夹中,一切都按预期工作。