Metadata-Version: 2.1
Name: advanced_database_replace
Version: 1.0.0
Summary: Utility package which runs an advanced search&replace on a mysql database.
Home-page: https://github.com/laimonassutkus/AdvancedDatabaseReplace
Author: Laimonas Sutkus
Author-email: laimonas.sutkus@gmail.com
License: UNKNOWN
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:
        ```bash
        pip install advanced_database_replace
        ```
        or:
        ```bash
        ./install.sh
        ```
        
        ## Usage
        
        #### Replacing all occurrences on all tables
        ```python
        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
        ```python
        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.
        
        ```python
        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.
Keywords: Wordpress Database Replace Search Replace
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Operating System :: POSIX :: Linux
Description-Content-Type: text/markdown
