2010-10-31 61 views
3

我在Ubuntu10上。 创建sqlite3 db已锁定

touch development.db 

新的数据库文件,希望我的迁移

rake db:migrate 

但被锁定的错误

SQLite3::BusyException: database is locked 

如何可以锁定?


更新它可以通过桑巴舞被锁定。它是共享文件夹

回答

3

我已经遇到这个问题我自己。我发现避免将锁置于这样的文件上的唯一方法是将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的wiki页面:https://wiki.ubuntu.com/MountWindowsSharesPermanently

1

您应该尝试rake db:create而不是touch。这总是适合我。也许迁移本身存在问题?

+0

我没有分贝:create..i使用http://github.com/bmizerany/sinatra-activerecord – 2010-10-31 22:24:51

+0

迁移是好的..我已经在win7上尝试过它们。一切都很正常 – 2010-10-31 22:26:35

1

我认为它被锁定了samba

我把development.db在其他非共享文件夹,一切都按预期