#!/bin/bash
drush=/usr/bin/drush
sql_dump_dir=.system/sqldump
sql_dump_file=$sql_dump_dir/drupal-sql-dump.sql
action=$1
echo oo-drush $action is started
delete_all_tables_do()
{
echo "show tables;" | `$drush sql-connect` | grep -v Tables_in | grep -v "+" | awk '{print "drop table " $1 ";"}' | `$drush sql-connect`
if [ $? -ne 0 ]; then
echo "problems delete all tables"
return 1
else
echo "all tables deleted"
return 0
fi
}
if [[ $action = "dump" ]]; then
if [[ ! -d $sql_dump_dir ]]
then
mkdir -p $sql_dump_dir
chmod 750 $sql_dump_dir
fi
$drush sql-dump --structure-tables-key=common --ordered-dump --create-db --result-file=$sql_dump_file
elif [[ $action = "load" ]]; then
delete_all_tables_do
`$drush sql-connect` < $sql_dump_file
elif [[ $action = "del-tables" ]]; then
delete_all_tables_do
elif [[ $action = "help" ]]; then
echo "This is a some utilits for DRUSH, you may use it whist command:
dump - dump mysql database
load - import database from dump file
help -this shot help"
exit 0
else
echo Please use with command: dump, load, help
exit 1
fi
if [ $? -ne 0 ]; then
echo ERROR in oo-drush $action
exit 1
else
echo oo-drush $action is compleated OK
fi
exit 0
6 дек. 2010 г.
Скрипт (bash) для хранения базы Drupal в mercurial
Скрипт создает в подкаталоге .system текущей папки фаил drupal-sql-dump.sql. Вызывается хуком mercurial при commit (сохраняет б.д. в дамп) и update (удаляет все таблицы и загружает дамп в б.д.). Drush используется для универсального получения параметров подключения к б.д. независимо от настроек конкретного экземпляра Drupal.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий