1

Web2Py のモデルの 1 つに新しいテーブルを追加しようとしました。さらに、既存のテーブルに新しいフィールドを追加しました。それらのテーブルを使用するページをロードしようとしましたが、機能しませんでした。それらは存在しないと主張しました。わかりましたので、ここで False に移行します。

db = DAL('sqlite://storage.sqlite',pool_size=1,check_reserved=['all'], migrate = False)

ページを再読み込みしましたが、変更はありません。それから、理解できないテーブルでこのようなことをしてみました

db.define_table(....,migrate=False,fake_migrate=True)

そして、DAL呼び出しを次のように変更しました

db = DAL(...,fake_migrate_all=True)

web2pyのマニュアルにある通りです。まだ変化なし。それで、データベース全体をダムにする必要があります。そのため、データベース フォルダーからすべてを取り出し、白紙の状態で再読み込みしようとしました。

今はまったくロードされません。

データベース管理によると、テーブルは存在しませんが、データベースフォルダーを再度確認すると、すべて存在します。アプリケーションをロードしようとすると、呼び出されたテーブルが存在しないことがすぐに報告されます。すべてのコードをレポにバックアップしましたが、現在のアプリをアンインストールできません。これが実行されているサーバーにそのような読み取りアクセス権がないためです。

何か私にできることはありますか?

編集:ちなみにこれはSQLiteで起こっています

4

1 に答える 1

0

ダムDB以外に、データベースフォルダーのクリーンアップをすでに試しましたか? これを行わないと、web2py が狂ってしまいます。ファイルにはテーブルがあると書かれていますが、db にはありません。また、壊れた移行の修正と sqllite に関する注意事項については、こちらをご覧ください。

于 2014-01-09T14:43:20.043 に答える