@@ -7,14 +7,12 @@ setup() {
7
7
cd ${DEV_DIR};
8
8
9
9
mysql() {
10
- if [ -e ${DEV_WORKDIR}/conf/mysql ]; then
11
- echo 'Looks to me that this machine already has MySQL configuration';
12
- return 1;
13
- fi
10
+ if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
11
+ export MYSQL_ROOT_PASSWORD="`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;`";
12
+ echo 'MYSQL_ROOT_PASSWORD='${MYSQL_ROOT_PASSWORD} >> ${DEV_WORKDIR}/.env;
13
+ echo 'Created a random root password for MySQL stored in '${DEV_WORKDIR}'/.env, to login as root use `dev myroot`';
14
+ fi;
14
15
15
- local randompass="`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;`";
16
- sed 's/\[YOURPASSWORDGOESHERE\]/'${randompass}'/' ${DEV_WORKDIR}/conf/mysql.dist > ${DEV_WORKDIR}/conf/mysql;
17
- echo 'Created a random root password for MySQL "'${randompass}'", to login as root use `dev myroot`';
18
16
19
17
if [ -z "`docker volume ls -q -f 'name=dockerdev-mysql-volume'`" ]; then
20
18
echo 'Create a persistant database volume';
@@ -23,13 +21,17 @@ setup() {
23
21
24
22
echo 'Starting regular database user, waiting for db to become ready';
25
23
./${DEV_SELF} up db;
26
- ./${DEV_SELF} logs -f db 2>&1 | grep -m1 'mysqld: ready for connections.' >/dev/null ;
24
+ ./${DEV_SELF} logs -f db 2>&1 | grep -m1 'ready for connections' ;
27
25
28
26
local user=${USER};
27
+
28
+ # Check if already exists
29
+ echo "select * from mysql.user where user='${user}';" | dev myroot | grep "${user}" >/dev/null && return 1;
30
+
29
31
echo 'Database user has access to databases "'${user}'_*"';
30
32
echo '';
31
- echo "create user '${user}' | ./${DEV_SELF} myroot;
32
- echo "grant all on ${user}.* to '${user}' | ./${DEV_SELF} myroot;
33
+ echo "create user '${user}'" | ./${DEV_SELF} myroot;
34
+ echo "grant all on ${user}.* to '${user}'" | ./${DEV_SELF} myroot;
33
35
echo "update mysql.db set db = '${user}\_%' where user = '${user}';" | ./${DEV_SELF} myroot;
34
36
echo 'flush privileges;' | ./${DEV_SELF} myroot;
35
37
@@ -45,14 +47,33 @@ setup() {
45
47
echo "- ${v}";
46
48
done
47
49
48
- read -p'?' version;
50
+ read -p'? ' version;
49
51
[ -z "${version}" ] && return 1;
50
52
51
53
touch ${DEV_WORKDIR}/workspace/.${version};
52
54
53
55
return 0;
54
56
}
55
57
58
+ suffix() {
59
+ if [ -n "${DOMAINSUFFIX}" ]; then
60
+ echo 'Listening on "*'${DOMAINSUFFIX}'"';
61
+ return 1;
62
+ fi
63
+
64
+ local suffix='' default='.localhost';
65
+ echo 'Which domain suffix do you want to listen to - default: '${default}'';
66
+ read -p' ' suffix;
67
+ if [ -z "${suffix}" ]; then
68
+ suffix=${default};
69
+ fi
70
+
71
+ echo 'DOMAINSUFFIX='${suffix} >> ${DEV_WORKDIR}/.env;
72
+ export DOMAINSUFFIX=${suffix};
73
+
74
+ return 0;
75
+ }
76
+
56
77
57
78
start() {
58
79
./${DEV_SELF} up;
@@ -64,8 +85,9 @@ setup() {
64
85
./${DEV_SELF} profile;
65
86
}
66
87
67
- mysql ;
88
+ suffix ;
68
89
php;
90
+ mysql;
69
91
start;
70
92
shell;
71
93
}
0 commit comments