PHP code example of g4 / ruckusing-migrations
1. Go to this page and download the library: Download g4/ruckusing-migrations library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
g4 / ruckusing-migrations example snippets
# ruckusing.conf.php
return array(
/* ... snip ... */,
'tasks_dir' => RUCKUSING_WORKING_BASE . '/custom_tasks'
);
$this->create_database("my_project");
$this->drop_database("my_project");
$users = $this->create_table("users");
$users->column("first_name", "string");
$users->column("last_name", "string");
$users->finish();
$this->create_table('users', array('options' => 'Engine=InnoDB'));
$this->create_table('users', array('id' => false));
$t = $this->create_table('users', array('id' => false, 'options' => 'Engine=InnoDB'));
$t->column('guid', 'string', array('primary_key' => true, 'limit' => 64));
$t->finish();
$this->drop_table("users");
// rename from "users" to "people"
$this->rename_table("users", "people");
$this->remove_column("users", "age");
$this->rename_column("users", "first_name", "fname");
$this->change_column("users", "first_name", "string", array('limit' => 128) );
$this->add_timestamps("users");
$this->add_timestamps("users", "created", "updated");
$this->add_index("users", "email");
$this->add_index("users", "ssn", array('unique' => true)));
$this->add_index("posts", "blog_id", array('name' => 'index_on_blog_id'));
$this->add_index("users", array('email', 'ssn') );
$this->remove_index("users", "email");
$this->remove_index("users", array("email", "ssn") );
$this->remove_index("users", "email", array('name' => "index_on_email_column") );
$this->execute("UPDATE foo SET name = 'bar' WHERE .... ");
$result = $this->select_one("SELECT SUM(total_price) AS total_price FROM orders");
if($result) {
echo "Your revenue is: " . $result['total_price'];
}
$result = $this->select_all("SELECT email, first_name, last_name FROM users WHERE created_at >= SUBDATE( NOW(), INTERVAL 7 DAY)");
if($result) {
echo "New customers: (" . count($result) . ")\n";
foreach($result as $row) {
printf("(%s) %s %s\n", $row['email'], $row['first_name'], $row['last_name']);
}
}
$ php ruckus.php db:generate create_users_table
Created OK
Created migration: 20121112163653_CreateUsersTable.php
$ php ruckus.php db:generate create_items_table module=module_name
Created OK
Created migration: 20121112163653_CreateItemsTable.php
class CreateUsersTable extends Ruckusing_Migration_Base {
public function up() {
}//up()
public function down() {
}//down()
}
$ ENV=test php db:migrate
$ php ruckus.php db:migrate
$ php ruckus.php db:migrate VERSION=-1
$ php ruckus.php db:migrate VERSION=20121114001742
bash
$ vi config/database.inc.php
$ mysql -uroot -p < tests/test.sql
$ phpunit tests/unit/MySQLAdapterTest.php