我最近在我自愿参加的实验室里找到了一项任务,我的PI表示他们的实验没有工作,因为没有工人能够完成任务......
我的假设是,由于sqlite在并发操作中的无效性(如psiturk文档中所述),他们的sqlite实现不允许正确记录实验数据。 我的问题是,如何正确设置一个mysql数据库来处理他们已经完成的实验呢?
我创建了一个名为" particpants"的新数据库。来自mysql解释器。然后我成功启动了mysql服务器......
接下来,我更改了" config.txt"中的database_url
。文件从等于sqlite://participants.db
(本地数据库文件)等于mysql://aweeeezy@localhost:3306/participants
,但是当我尝试启动psiturk服务器时,我无法连接到数据库。
我也尝试了mysql://aweeeezy@localhost/particpants
...我无法弄清楚如何格式化这个database_url字符串,以便实验与mysql一起使用,而且在搜索mysql时我找不到任何有用的东西相关帖子和/或psiturk相关帖子。
请帮助数据库noob!
答案 0 :(得分:1)
使用MySQL的config.txt的database_url字段的格式需要是mysql:// username:password @ hostname / database。 psiTurk 2.0依赖于SQLAlchemy,有些文档在这里:http://docs.sqlalchemy.org/en/rel_1_0/core/engines.html