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"。 我当前的数据库中有一个模式。如何将数据迁移到新数据库?我没有 想法新数据库中存在什么模式。迁移数据时如果出现错误则回滚 必须在新数据库中完成。
或其他任何好的文章,以获得更多的信息?
答案 0 :(得分:0)
如果搜索mysqldump,你会发现很多信息。例如:
backup: # mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql
restore:# mysql -u root -p[root_password] [database_name] < dumpfilename.sql
来自:http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/
如果查看dumpfilename.sql,您会看到它是一堆用于创建表的sql命令,然后插入命令将数据插入到它们中