私は人生で初めて Linux で Web 開発を行っています。Linux マシンで動作するようになったら、後で組み込みシステムに移植する予定です。パスワード付きのmydbデータベースにLoginという名前のテーブルがあります。接続用のORMとしてpeeweeを使用しています。これは私が実行しているスクリプトです
from peewee import *
mysql_db = MySQLDatabase('mydb', user='root',passwd='rakesh')
class Login(Model):
usr_name = CharField()
passwd = TextField()
mysql_db.connect()
usr = Login(usr_name="me", passwd='Peewee is cool')
usr.save()
for user in usr.filter(usr_name="me"):
print usr.title
mydbデータベース(mysql)にLoginという名前の単純なテーブルを作成しましたが、クエリを実行して表示すると問題ないようです
このコードを実行すると、例外が発生します
Traceback (most recent call last):
File "/home/rakesh/Ubuntu One/PDNFlywheels/PDB/access_ex.py", line 53, in <module>
usr.save()
File "/usr/local/lib/python2.7/dist-packages/peewee.py", line 1949, in save
new_pk = insert.execute()
File "/usr/local/lib/python2.7/dist-packages/peewee.py", line 1355, in execute
result = self.database.execute(self)
File "/usr/local/lib/python2.7/dist-packages/peewee.py", line 1446, in execute
return self.execute_sql(sql, params, commit)
File "/usr/local/lib/python2.7/dist-packages/peewee.py", line 1449, in execute_sql
cursor = self.get_cursor()
File "/usr/local/lib/python2.7/dist-packages/peewee.py", line 1420, in get_cursor
return self.get_conn().cursor()
File "/usr/local/lib/python2.7/dist-packages/peewee.py", line 1413, in get_conn
self.connect()
File "/usr/local/lib/python2.7/dist-packages/peewee.py", line 1401, in connect
self.__local.conn = self._connect(self.database, **self.connect_kwargs)
File "/usr/local/lib/python2.7/dist-packages/peewee.py", line 1541, in _connect
return sqlite3.connect(database, **kwargs)
OperationalError: unable to open database file
最後の行でわかるように、sqllite3 を使用してデータベースを見つけようとしていますが、私は mysql を使用しています。なぜこれが起こっているのかわかりません。peewee のクック ブック、例、およびその他の説明のほとんどはすべて sqllite を使用しています。