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
Hashes for advanced_database_replace-1.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 632ec18152ac96466b2397ea35b09184b0b35ec2d1fe80e86dead7cb9b95e3fb |
|
MD5 | ada96542418f5c52da058c061c39d0d3 |
|
BLAKE2b-256 | ec5f9c1048451f3ead2edbd7aeb18eb5f475ba2009d0c202be81cf043db4d155 |
Hashes for advanced_database_replace-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 681125785d400e950ff4c54fcec302fec6a4d6d6c9416a4d3f895a20b1ee748a |
|
MD5 | 39c0d088168d0144099a2da69881278c |
|
BLAKE2b-256 | 3fa1f3174d9a8cd6efe6a387f1cff33218a39bcbdcb4ff0be982a32b7e08db87 |