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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 632ec18152ac96466b2397ea35b09184b0b35ec2d1fe80e86dead7cb9b95e3fb |
|
MD5 | ada96542418f5c52da058c061c39d0d3 |
|
BLAKE2b-256 | ec5f9c1048451f3ead2edbd7aeb18eb5f475ba2009d0c202be81cf043db4d155 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 681125785d400e950ff4c54fcec302fec6a4d6d6c9416a4d3f895a20b1ee748a |
|
MD5 | 39c0d088168d0144099a2da69881278c |
|
BLAKE2b-256 | 3fa1f3174d9a8cd6efe6a387f1cff33218a39bcbdcb4ff0be982a32b7e08db87 |