示例#1
0
文件: dump.py 项目: Betriebsrat/ecm
def dump_mysql(instance_dir, dump_file, db_user, db_password, db_name):

    tables = [ t for t in pipe_to_dbshell(r"SHOW TABLES LIKE 'eve\_%';", instance_dir).split() if t.startswith('eve_') ]

    f = open(dump_file, 'w')
    try:
        try:
            dump_cmd = MYSQL_DUMP_CMD % {
                'user': db_user,
                'password': db_password,
                'database': db_name,
                'tables': ' '.join(tables)
            }
            f.write('BEGIN;\n\n')
            f.write('SET FOREIGN_KEY_CHECKS = 0;\n\n')
            for t in tables:
                f.write('TRUNCATE TABLE `%s`;\n' % t)
            f.write('\n')
            f.flush()
            run_command(dump_cmd.split(), os.path.abspath(instance_dir), stdout=f)
            f.flush()
            f.write('SET FOREIGN_KEY_CHECKS = 1;\n\n')
            f.write('COMMIT;\n\n')
        except KeyboardInterrupt:
            f.close()
            sys.exit(1)
    finally:
        f.close()
示例#2
0
文件: dump.py 项目: vanderheyde/ecm
def dump_mysql(instance_dir, dump_file, db_user, db_password, db_name):

    tables = [
        t for t in pipe_to_dbshell(r"SHOW TABLES LIKE 'eve\_%';",
                                   instance_dir).split()
        if t.startswith('eve_')
    ]

    f = open(dump_file, 'w')
    try:
        try:
            dump_cmd = MYSQL_DUMP_CMD % {
                'user': db_user,
                'password': db_password,
                'database': db_name,
                'tables': ' '.join(tables)
            }
            f.write('BEGIN;\n\n')
            f.write('SET FOREIGN_KEY_CHECKS = 0;\n\n')
            for t in tables:
                f.write('TRUNCATE TABLE `%s`;\n' % t)
            f.write('\n')
            f.flush()
            run_command(dump_cmd.split(),
                        os.path.abspath(instance_dir),
                        stdout=f)
            f.flush()
            f.write('SET FOREIGN_KEY_CHECKS = 1;\n\n')
            f.write('COMMIT;\n\n')
        except KeyboardInterrupt:
            f.close()
            sys.exit(1)
    finally:
        f.close()
示例#3
0
文件: dump.py 项目: Betriebsrat/ecm
def dump_psql(instance_dir, dump_file, db_user, db_password, db_name):

    os.environ['PGDATABASE'] = db_name
    os.environ['PGUSER'] = db_user
    os.environ['PGPASSWORD'] = db_password

    tables = [ t for t in pipe_to_dbshell(r"\dt eve_*", instance_dir).split() if t.startswith('eve_') ]

    f = open(dump_file, 'w')
    try:
        try:
            dump_cmd = 'pg_dump --format=p --encoding=utf-8 --no-owner --no-privileges '\
                       '--quote-all-identifiers --data-only --disable-triggers --table eve_*'

            f.write('BEGIN;\n\n')
            for t in tables:
                f.write('TRUNCATE TABLE `%s`;\n' % t)
            f.write('\n')
            f.flush()
            run_command(dump_cmd.split(), os.path.abspath(instance_dir), stdout=f)
            f.flush()
            f.write('COMMIT;\n\n')
        except KeyboardInterrupt:
            f.close()
            sys.exit(1)
    finally:
        f.close()
示例#4
0
文件: dump.py 项目: vanderheyde/ecm
def dump_psql(instance_dir, dump_file, db_user, db_password, db_name):

    os.environ['PGDATABASE'] = db_name
    os.environ['PGUSER'] = db_user
    os.environ['PGPASSWORD'] = db_password

    tables = [
        t for t in pipe_to_dbshell(r"\dt eve_*", instance_dir).split()
        if t.startswith('eve_')
    ]

    f = open(dump_file, 'w')
    try:
        try:
            dump_cmd = 'pg_dump --format=p --encoding=utf-8 --no-owner --no-privileges '\
                       '--quote-all-identifiers --data-only --disable-triggers --table eve_*'

            f.write('BEGIN;\n\n')
            for t in tables:
                f.write('TRUNCATE TABLE `%s`;\n' % t)
            f.write('\n')
            f.flush()
            run_command(dump_cmd.split(),
                        os.path.abspath(instance_dir),
                        stdout=f)
            f.flush()
            f.write('COMMIT;\n\n')
        except KeyboardInterrupt:
            f.close()
            sys.exit(1)
    finally:
        f.close()