【问题标题】:Dumping database & migrate to new DB using django management command使用 django 管理命令转储数据库并迁移到新数据库
【发布时间】:2016-03-31 10:31:35
【问题描述】:
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”的形式运行命令。 我当前的数据库中有一个架构。如何将数据迁移到新数据库?我没有 了解新数据库中存在的架构是什么。如果错误来回滚,则在迁移数据时 必须在新数据库中完成。

或任何其他获得更多信息的好文章?

【问题讨论】:

    标签: mysql django django-commands


    【解决方案1】:

    如果你搜索 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 命令,然后 insert 命令将数据插入其中

    【讨论】:

    • 太好了。但是如何检查两个数据库的两个模式之间的区别?
    • 它们将是相同的。查看生成的文件。
    • 没有。我说的是恢复前的差异模式
    猜你喜欢
    • 1970-01-01
    • 2021-12-20
    • 2017-03-30
    • 1970-01-01
    • 2018-03-04
    • 2016-09-05
    • 2021-07-06
    • 2014-01-13
    • 1970-01-01
    相关资源
    最近更新 更多