Skip to main content

Utility package which runs an advanced search&replace on a mysql database.

Project description

Advanced Database Replace

Short description

A utility management library which runs an advanced search&replace action against a specified database's records (event if they are serialized).

Long description

This project aims to take search&replace to the next level by applying search&replace even to serialized records in the database. This type of project is especially effective against e.g. Wordpress databases since they may contain serialized PHP array records.

Prerequisites

  • A MySql database.
  • This project installed with:
pip install advanced_database_replace

or:

./install.sh

Usage

Replacing all occurrences on all tables

from advanced_database_replace.database_replace import DatabaseReplace
from advanced_database_replace.database_credentials import DatabaseCredentials

db_credentials = DatabaseCredentials()
db_replacer = DatabaseReplace(credentials=db_credentials)

db_replacer.replace_all('my-old-record', 'my-new-record')

Replacing all occurrences on a specific table

from advanced_database_replace.database_replace import DatabaseReplace
from advanced_database_replace.database_credentials import DatabaseCredentials

db_credentials = DatabaseCredentials()
db_replacer = DatabaseReplace(credentials=db_credentials)

db_replacer.replace('my-old-record', 'my-new-record', 'my-table')

Using custom serializer

Since (as mentioned in the description) this find&replace project handles serialized data, by default it assumes PHP serialization, however, you can provide a custom serializer.

from advanced_database_replace.database_replace import DatabaseReplace
from advanced_database_replace.database_credentials import DatabaseCredentials

class MyCustomSerializer:
    @staticmethod
    def dumps(*args, **kwargs):
        pass

    @staticmethod
    def loads(*args, **kwargs):
        pass

db_credentials = DatabaseCredentials()
db_replacer = DatabaseReplace(credentials=db_credentials, serializer=MyCustomSerializer())

db_replacer.replace_all('my-old-record', 'my-new-record')

Release history

1.0.0

Initial.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

advanced_database_replace-1.0.0.tar.gz (16.2 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file advanced_database_replace-1.0.0.tar.gz.

File metadata

  • Download URL: advanced_database_replace-1.0.0.tar.gz
  • Upload date:
  • Size: 16.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/2.7.15+

File hashes

Hashes for advanced_database_replace-1.0.0.tar.gz
Algorithm Hash digest
SHA256 632ec18152ac96466b2397ea35b09184b0b35ec2d1fe80e86dead7cb9b95e3fb
MD5 ada96542418f5c52da058c061c39d0d3
BLAKE2b-256 ec5f9c1048451f3ead2edbd7aeb18eb5f475ba2009d0c202be81cf043db4d155

See more details on using hashes here.

File details

Details for the file advanced_database_replace-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: advanced_database_replace-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 17.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/2.7.15+

File hashes

Hashes for advanced_database_replace-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 681125785d400e950ff4c54fcec302fec6a4d6d6c9416a4d3f895a20b1ee748a
MD5 39c0d088168d0144099a2da69881278c
BLAKE2b-256 3fa1f3174d9a8cd6efe6a387f1cff33218a39bcbdcb4ff0be982a32b7e08db87

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page