Skip to content

Latest commit

 

History

History
99 lines (68 loc) · 2.8 KB

README.MD

File metadata and controls

99 lines (68 loc) · 2.8 KB

Build Status Scrutinizer Codecov License Latest Stable Version Latest Unstable Version

PHP SQL Replacer

A utility to replace strings/values in SQL files especially with serialized php values. Useful for database migrations/clones.

Installation

composer require gggordon/php-sql-replacer

Usage

Command Line Usage

./bin/php-sql-replacer --input-file-path="./original.sql" --output-file-path="./updated.sql" --match="Original Text" --replace="New Text"

Required Options:
--input-file-path   : Path of input file
--output-file-path  : Path of output file
--match             : Exact string to look for
--replace           : String to replace match with

Using Code

If you already have the contents stored as a string, you may follow the example below to replace the contents.

<?php

require_once dirname(__FILE__) . '/vendor/autoload.php';

$contents ="insert into test (column1, column2) values ('I like trading','Another Value')";

$replacer = new \PhpSqlReplacer\PhpSqlReplacer();
$updatedContents = $replacer->replaceValue(
    $contents, 
    "trading", 
    "butter"
);

echo $updatedContents;

to get the following output:

insert into test (column1, column2) values ('I like butter','Another Value')

OR

If you are extracting the contents from a file:

<?php

require_once dirname(__FILE__) . '/vendor/autoload.php';

$replacer = new \PhpSqlReplacer\PhpSqlReplacer();
$updatedContents = $replacer->replaceValueFromFile("/path/to/original_file.sql", "trading", "butter", "/path/to/output_file.sql");

echo $updatedContents;

to get the following output:

insert into test (column1, column2) values ('I like butter','Another Value')

and a new file created at /path/to/output_file.sql.

Tests

Testing done using phpunit

phpunit

Documentation

Documentation Generated using phpdox

phpdox

License

MIT License

Maintained by

gggordon