2

既存のデータベースをインポートし、そのデータを Web2py で使用する必要があるプロジェクトに取り組んでいます。DAL URI を次のように変更することで、データベースにリンクできました。

db = DAL('mysql://root:password@localhost/database_name',pool_size=1,check_reserved=['all'])

web2pyで定義されたすべてのフィールドを正常に作成し、それらと対話できますが、以前にデータベースにあったデータにはアクセスできません。データをインポートするサポートされている方法である web2py スクリプト extract_mysql_models.py を実行しようとしましたが、返されたのは次のものだけでした。

legacy_db = DAL('mysql://root:password@localhost/localhost/database_name')

別のdalオブジェクトを作成するだけです。legacy_db を介して何かにアクセスしようとすると、db を介して何かを取得しようとするのと同じオプションしか提供されません。誰もこれを以前にやったことがありますか?任意のヒント?

4

2 に答える 2

2

私も同じ問題を抱えていました。これが私がした方法です。

  1. 古いデータベースからダンプする

    mysqldump --user USERNAME --password=PASSWORD dbname > backup.sql
    
  2. バックアップファイルを新しいmysqlサーバーにインポートしています

    mysql -h mysql.server -u USERNAME -p 'DBNAME' < backup.sql
    
  3. DAL 接続を新しい mysql サーバーに追加します。

それは古いデータベースと同じです。私が抱えていた問題は、pythonanywhere UI からデータベースをセットアップすると、古いデータベースと同一ではない DB が作成されることでした。したがって、私の記憶が正しければ、最初に web2py に db テーブルを作成させてから、最後にステップ 2 を実行させることもできます。とにかくそれが私がした方法です...私の記憶が正しければ;)それがあなたを助けてくれることを願っています. 乾杯

于 2013-07-23T05:52:23.300 に答える