Commit | Line | Data |
---|---|---|
6a488035 | 1 | #!/usr/bin/env /bin/bash |
55f7d1ec TO |
2 | set -e |
3 | set -x | |
6a488035 TO |
4 | |
5 | source `dirname $0`/setup.conf | |
55f7d1ec | 6 | source `dirname $0`/setup.lib.sh |
6a488035 TO |
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 . | |
b8b65506 | 17 | cd $CIVISOURCEDIR |
8f1445ea | 18 | # svn up . |
b8b65506 | 19 | cd $CIVISOURCEDIR/bin |
6a488035 | 20 | ./setup.sh |
b8b65506 | 21 | cd $CIVISOURCEDIR/sql |
6a488035 TO |
22 | |
23 | echo; echo "Dropping civicrm_* tables from database $DBNAME" | |
24 | # mysqladmin -f -u $DBUSER $PASSWDSECTION $DBARGS drop $DBNAME | |
55f7d1ec TO |
25 | MYSQLCMD=$(mysql_cmd) |
26 | MYSQLADMCMD=$(mysqladmin_cmd) | |
27 | MYSQLDUMP=$(mysqldump_cmd) | |
6a488035 TO |
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 | ||
55f7d1ec TO |
39 | $MYSQLCMD < civicrm.mysql |
40 | $MYSQLCMD < civicrm_data.mysql | |
41 | $MYSQLCMD < civicrm_sample.mysql | |
6a488035 | 42 | |
27458805 TO |
43 | ## For first boot on fresh DB, boot CMS before CRM. |
44 | cms_eval 'civicrm_initialize();' | |
45 | ||
46 | php GenerateData.php | |
6a488035 | 47 | |
27458805 | 48 | ## Prune local data |
6a87cb93 | 49 | $MYSQLCMD -e "DROP TABLE IF EXISTS civicrm_install_canary; DELETE FROM civicrm_cache; DELETE FROM civicrm_setting;" |
3f56e128 | 50 | $MYSQLCMD -e "DELETE FROM civicrm_extension WHERE full_name NOT IN ('sequentialcreditnotes', 'eventcart', 'greenwich', 'search', 'org.civicrm.flexmailer', 'financialacls', 'contributioncancelactions', 'recaptcha', 'ckeditor4', 'legacycustomsearches');" |
13864ea6 | 51 | TABLENAMES=$( echo "show tables like 'civicrm_%'" | $MYSQLCMD | grep ^civicrm_ | xargs ) |
6a488035 | 52 | |
b8b65506 | 53 | cd $CIVISOURCEDIR/sql |
13864ea6 TO |
54 | |
55 | $MYSQLDUMP -cent --skip-triggers $DBNAME $TABLENAMES > civicrm_generated.mysql | |
6a488035 TO |
56 | #cat civicrm_sample_report.mysql >> civicrm_generated.mysql |
57 | cat civicrm_sample_custom_data.mysql >> civicrm_generated.mysql | |
58 | #cat civicrm_devel_config.mysql >> civicrm_generated.mysql | |
f078ea51 | 59 | cat civicrm_dummy_processor.mysql >> civicrm_generated.mysql |
57ff183e | 60 | # adapted from https://bugs.mysql.com/bug.php?id=65465 |
61 | sed -i -e 's/VALUES (/VALUES\n (/g' civicrm_generated.mysql | |
62 | sed -i -e 's/),(\|), (/),\n (/g' civicrm_generated.mysql | |
55f7d1ec TO |
63 | $MYSQLADMCMD -f drop $DBNAME |
64 | $MYSQLADMCMD create $DBNAME | |
65 | $MYSQLCMD < civicrm.mysql | |
66 | $MYSQLCMD < civicrm_generated.mysql | |
6a488035 | 67 | popd |