advanced-database-replace 1.0.0

Creator: bradpython12

Last updated:

0 purchases

TODO
Add to Cart

Description:

advanceddatabasereplace 1.0.0

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.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.