2

私はdjangoを使用しているサーバーを持っています。データベースを sqlite3 から mysql に切り替えようとしています。以前はすべてが sqlite3 で正常に機能していました。ただし、mysqlを使用して行うと

python manage.py syncdb

エラーは発生しませんでしたが、models.py で指定されたテーブルが作成されません。次のテーブルのみが作成されます。

[ec2-user@domU-12-31-39-0F-D2-F3 prototype]$ python manage.py syncdb
Syncing...
Creating tables ...
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_user_permissions
Creating table auth_user_groups
Creating table auth_user
Creating table django_content_type
Creating table django_session
Creating table django_site
Creating table django_admin_log
Creating table south_migrationhistory

理由を知っている人はいますか?

4

4 に答える 4

5

南を使っているようです。通常、South は syncdb 内のほとんどのテーブルの作成を禁止し、初めてそれらを作成するために South マイグレーションを実行することが期待されます。これは、South がテーブルの状態を追跡し、最初から特別な移行ルールを適用できるようにするためです。

INSTALLED_APPSもう 1 つの可能性は、設定ファイルの変数にすべてのアプリがリストされていないことです。

于 2013-05-09T16:17:14.833 に答える
3

あなたは南をインストールしました。

実行するpython manage.py syncdbと、南で管理されていないすべてのアプリが同期されます。

実行python manage.py migrateして他のアプリを同期します。

これは私が同僚の何人かを実行したチュートリアルです (公式の南のドキュメントはより詳細であり、南で生産的になるまでに 15 分かかりました): https://gist.github.com/fyaconiello/2423447

于 2013-05-09T16:18:18.193 に答える