2016-03-31 9 views
0
class Command(BaseCommand): 
    args = 'Arguments is not needed' 
    help = 'Django admin custom command poc.' 

    def handle(self, *args, **options): 
     db_alias = options.get('olddb') 
     db_entry = settings.DATABASES.get(db_alias) 
     output = open(output_filename,'w') 

     cmd = ["mysqldump", 
       "-u", db_entry.get('USER'), 
       "-p%s" % db_entry.get('PASSWORD'), 
       "-h", db_entry.get('HOST'), 
       db_entry.get('NAME')] 
     subprocess.call(cmd, stdout=output) 

ここで私のデータベース(olddb)をダンプしていますか?ダンプの構文は正しいですか? "python manage.py sqldump"というコマンドを実行しています。 現在のDBにスキーマがあります。データを新しいデータベースに移行する方法は?私は アイデアが新しいDBに存在するスキーマはありません。エラーが発生した場合にデータを移行する際には、ロールバック を新しいDBで実行する必要があります。django管理コマンドを使用してデータベースをダンプして新しいDBに移行します

または他の良い記事は、より多くの情報を取得するには?

答えて

0

mysqldumpを検索すると、多くの情報が見つかります。例えば:あなたはdumpfilename.sqlを見ればあなたがそれらにデータを挿入するコマンドを挿入し、あなたのテーブルを作成するSQLコマンドの束であることがわかりますhttp://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/

backup: # mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql 

restore:# mysql -u root -p[root_password] [database_name] < dumpfilename.sql 

がから来ています

+0

素晴らしいです。しかし、どうすれば2つのデータベースの2つのスキーマの違いを確認できますか? – danny

+0

これらは同じです。作成されたファイルを見てください。 –

+0

いいえ私は復元前に差分スキーマについて話しています – danny

関連する問題