peewee.ProgrammingError: (1146, "Table 'test.lagou_position_info' doesn't exist")
9335 ワード
プロジェクトの概要はscrapyを使ってすべてのネット上の技術職の情報を引き出してmysqlに保存して、それからpeeweeが非常に軽量なORMフレームワークだと言っているので、私は持ってきて試して、それから穴を踏んだ.
完全なtracebackは上記の通りですが、何も見えません.唯一役に立つと思う情報は「Table」testです.lagou_position_info'doesn't exist」ですが、私自身が使っているのはdbです.create_tables(lagou_position_info,safe=True)は、テーブル構造を自動的に作成するため、結果としてテーブルが作成されていないことを注意します.
公式の例を振り返ってみました.
はい、実はパラメータはlistで、私は直接modelに伝わりました.のdbに変更します.create_tables([lagou_position_info],safe=True)、その後は正常でしたが、この異常にツッコミを入れたいのは自分があまりにも不注意です.
D:\lagou\venv\Scripts\python.exe D:/lagou/lagou/run.py
Traceback (most recent call last):
File "E:\Python36\lib\site-packages\peewee.py", line 3830, in execute_sql
cursor.execute(sql, params or ())
File "E:\Python36\lib\site-packages\pymysql\cursors.py", line 165, in execute
result = self._query(query)
File "E:\Python36\lib\site-packages\pymysql\cursors.py", line 321, in _query
conn.query(q)
File "E:\Python36\lib\site-packages\pymysql\connections.py", line 860, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File "E:\Python36\lib\site-packages\pymysql\connections.py", line 1061, in _read_query_result
result.read()
File "E:\Python36\lib\site-packages\pymysql\connections.py", line 1349, in read
first_packet = self.connection._read_packet()
File "E:\Python36\lib\site-packages\pymysql\connections.py", line 1018, in _read_packet
packet.check_error()
File "E:\Python36\lib\site-packages\pymysql\connections.py", line 384, in check_error
err.raise_mysql_exception(self._data)
File "E:\Python36\lib\site-packages\pymysql\err.py", line 107, in raise_mysql_exception
raise errorclass(errno, errval)
pymysql.err.ProgrammingError: (1146, "Table 'test.lagou_position_info' doesn't exist")
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:/lagou/lagou/run.py", line 6, in
mysqldb.db.create_tables(lagou_position_info, safe=True)
File "E:\Python36\lib\site-packages\peewee.py", line 3917, in create_tables
create_model_tables(models, fail_silently=safe)
File "E:\Python36\lib\site-packages\peewee.py", line 5355, in create_model_tables
for m in sort_models_topologically(models):
File "E:\Python36\lib\site-packages\peewee.py", line 201, in sort_models_topologically
models = set(models)
File "E:\Python36\lib\site-packages\peewee.py", line 4924, in __iter__
return iter(self.select())
File "E:\Python36\lib\site-packages\peewee.py", line 3281, in __iter__
return iter(self.execute())
File "E:\Python36\lib\site-packages\peewee.py", line 3274, in execute
self._qr = ResultWrapper(model_class, self._execute(), query_meta)
File "E:\Python36\lib\site-packages\peewee.py", line 2939, in _execute
return self.database.execute_sql(sql, params, self.require_commit)
File "E:\Python36\lib\site-packages\peewee.py", line 3837, in execute_sql
self.commit()
File "E:\Python36\lib\site-packages\peewee.py", line 3656, in __exit__
reraise(new_type, new_type(*exc_args), traceback)
File "E:\Python36\lib\site-packages\peewee.py", line 135, in reraise
raise value.with_traceback(tb)
File "E:\Python36\lib\site-packages\peewee.py", line 3830, in execute_sql
cursor.execute(sql, params or ())
File "E:\Python36\lib\site-packages\pymysql\cursors.py", line 165, in execute
result = self._query(query)
File "E:\Python36\lib\site-packages\pymysql\cursors.py", line 321, in _query
conn.query(q)
File "E:\Python36\lib\site-packages\pymysql\connections.py", line 860, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File "E:\Python36\lib\site-packages\pymysql\connections.py", line 1061, in _read_query_result
result.read()
File "E:\Python36\lib\site-packages\pymysql\connections.py", line 1349, in read
first_packet = self.connection._read_packet()
File "E:\Python36\lib\site-packages\pymysql\connections.py", line 1018, in _read_packet
packet.check_error()
File "E:\Python36\lib\site-packages\pymysql\connections.py", line 384, in check_error
err.raise_mysql_exception(self._data)
File "E:\Python36\lib\site-packages\pymysql\err.py", line 107, in raise_mysql_exception
raise errorclass(errno, errval)
peewee.ProgrammingError: (1146, "Table 'test.lagou_position_info' doesn't exist")
Process finished with exit code 1
完全なtracebackは上記の通りですが、何も見えません.唯一役に立つと思う情報は「Table」testです.lagou_position_info'doesn't exist」ですが、私自身が使っているのはdbです.create_tables(lagou_position_info,safe=True)は、テーブル構造を自動的に作成するため、結果としてテーブルが作成されていないことを注意します.
公式の例を振り返ってみました.
db.create_tables([Person, Pet])
はい、実はパラメータはlistで、私は直接modelに伝わりました.のdbに変更します.create_tables([lagou_position_info],safe=True)、その後は正常でしたが、この異常にツッコミを入れたいのは自分があまりにも不注意です.