Merge remote-tracking branch 'upstream/4.6' into 4.6-master-2015-10-19-19-40-00
[civicrm-core.git] / bin / regen.sh
1 #!/usr/bin/env /bin/bash
2 set -e
3 set -x
4
5 source `dirname $0`/setup.conf
6 source `dirname $0`/setup.lib.sh
7
8 # someone might want to use empty password for development,
9 # let's make it possible - we asked before.
10 if [ -z $DBPASS ]; then # password still empty
11 PASSWDSECTION=""
12 else
13 PASSWDSECTION="-p$DBPASS"
14 fi
15
16 pushd .
17 cd $CIVISOURCEDIR
18 # svn up .
19 cd $CIVISOURCEDIR/bin
20 ./setup.sh
21 cd $CIVISOURCEDIR/sql
22
23 echo; echo "Dropping civicrm_* tables from database $DBNAME"
24 # mysqladmin -f -u $DBUSER $PASSWDSECTION $DBARGS drop $DBNAME
25 MYSQLCMD=$(mysql_cmd)
26 MYSQLADMCMD=$(mysqladmin_cmd)
27 MYSQLDUMP=$(mysqldump_cmd)
28 echo "SELECT table_name FROM information_schema.TABLES WHERE TABLE_SCHEMA='${DBNAME}' AND TABLE_TYPE = 'VIEW'" \
29 | $MYSQLCMD \
30 | grep '^\(civicrm_\|log_civicrm_\)' \
31 | awk -v NOFOREIGNCHECK='SET FOREIGN_KEY_CHECKS=0;' 'BEGIN {print NOFOREIGNCHECK}{print "drop view " $1 ";"}' \
32 | $MYSQLCMD
33 echo "SELECT table_name FROM information_schema.TABLES WHERE TABLE_SCHEMA='${DBNAME}' AND TABLE_TYPE = 'BASE TABLE'" \
34 | $MYSQLCMD \
35 | grep '^\(civicrm_\|log_civicrm_\)' \
36 | awk -v NOFOREIGNCHECK='SET FOREIGN_KEY_CHECKS=0;' 'BEGIN {print NOFOREIGNCHECK}{print "drop table " $1 ";"}' \
37 | $MYSQLCMD
38
39 $MYSQLCMD < civicrm.mysql
40 $MYSQLCMD < civicrm_data.mysql
41 $MYSQLCMD < civicrm_sample.mysql
42 $MYSQLCMD < zipcodes.mysql
43 php GenerateData.php
44
45 # run the cli script to build the menu and the triggers
46 cd $CIVISOURCEDIR
47 "$PHP5PATH"php bin/cli.php -e System -a flush --triggers 1 --session 1
48
49 $MYSQLCMD -e "DROP TABLE zipcodes; UPDATE civicrm_domain SET config_backend = NULL; DELETE FROM civicrm_extension; DELETE FROM civicrm_cache; DELETE FROM civicrm_setting;"
50 TABLENAMES=$( echo "show tables like 'civicrm_%'" | $MYSQLCMD | grep ^civicrm_ | xargs )
51
52 cd $CIVISOURCEDIR/sql
53
54 $MYSQLDUMP -cent --skip-triggers $DBNAME $TABLENAMES > civicrm_generated.mysql
55 #cat civicrm_sample_report.mysql >> civicrm_generated.mysql
56 cat civicrm_sample_custom_data.mysql >> civicrm_generated.mysql
57 #cat civicrm_devel_config.mysql >> civicrm_generated.mysql
58 cat civicrm_dummy_processor.mysql >> civicrm_generated.mysql
59 $MYSQLADMCMD -f drop $DBNAME
60 $MYSQLADMCMD create $DBNAME
61 $MYSQLCMD < civicrm.mysql
62 $MYSQLCMD < civicrm_generated.mysql
63 popd