@@ -198,42 +198,54 @@ function initializeDatabase()
198
198
mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} < ${fileSQL} >> /var/www/documents/initdb.log 2>&1
199
199
done
200
200
201
- echo " Create SuperAdmin account ..."
202
- pass_crypted=` echo -n ${DOLI_ADMIN_PASSWORD} | md5sum | awk ' {print $1}' `
203
- # Insert may fails if record already exists
204
- mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e " INSERT INTO llx_user (entity, login, pass_crypted, lastname, admin, statut) VALUES (0, '${DOLI_ADMIN_LOGIN} ', '${pass_crypted} ', 'SuperAdmin', 1, 1);" >> /var/www/documents/initdb.log 2>&1
205
- # Insert may fails if record already exists
206
- mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e " UPDATE llx_user SET pass_crypted = '${pass_crypted} ' WHERE login = '${DOLI_ADMIN_LOGIN} ';" >> /var/www/documents/initdb.log 2>&1
207
-
208
201
echo " Set some default const ..."
209
202
mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e " DELETE FROM llx_const WHERE name='MAIN_VERSION_LAST_INSTALL';" >> /var/www/documents/initdb.log 2>&1
210
203
mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e " DELETE FROM llx_const WHERE name='MAIN_NOT_INSTALLED';" >> /var/www/documents/initdb.log 2>&1
211
204
mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e " DELETE FROM llx_const WHERE name='MAIN_LANG_DEFAULT';" >> /var/www/documents/initdb.log 2>&1
212
- mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e " INSERT INTO llx_const(name,value,type,visible,note,entity) values ('MAIN_VERSION_LAST_INSTALL', '${DOLI_VERSION} ', 'chaine', 0, 'Dolibarr version when install', 0);" >> /var/www/documents/initdb.log 2>&1
205
+ mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e " INSERT INTO llx_const(name,value,type,visible,note,entity) VALUES ('MAIN_VERSION_LAST_INSTALL', '${DOLI_VERSION} ', 'chaine', 0, 'Dolibarr version when install', 0);" >> /var/www/documents/initdb.log 2>&1
213
206
mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e " INSERT INTO llx_const(name,value,type,visible,note,entity) VALUES ('MAIN_LANG_DEFAULT', 'auto', 'chaine', 0, 'Default language', 1);" >> /var/www/documents/initdb.log 2>&1
214
207
mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e " INSERT INTO llx_const(name,value,type,visible,note,entity) VALUES ('SYSTEMTOOLS_MYSQLDUMP', '/usr/bin/mysqldump', 'chaine', 0, '', 0);" >> /var/www/documents/initdb.log 2>&1
215
208
216
209
if [[ ${DOLI_INIT_DEMO} -eq 1 ]]; then
217
210
mkdir -p /var/www/dev/initdemo/
218
- > /var/www/documents/vi
219
- versiondemo=` echo " ${DOLI_VERSION} " | sed " s/^\([0-9]*\.[0-9]*\).*/\1.0/" `
220
- echo " Get demo data from file https://raw.githubusercontent.com/Dolibarr/dolibarr/${DOLI_VERSION} /dev/initdemo/mysqldump_dolibarr_$versiondemo .sql ..."
211
+
212
+ echo " DOLI_VERSION=$DOLI_VERSION "
213
+ # Convert version x.y into x.y.0
214
+ if [ ${DOLI_VERSION} == " develop" ]; then
215
+ echo " DOLI_VERSION is develop, we will use the file for version %DOLIBARR_VERSION_FOR_INIT_DEMO%"
216
+ DOLI_VERSION=" %DOLIBARR_VERSION_FOR_INIT_DEMO%"
217
+ fi
218
+ versiondemo=` echo " ${DOLI_VERSION} " | sed " s/^\([0-9]*\.[0-9]*\).*/\1.0/" ` # Convert vesion x.y into x.y.0
219
+ echo " Get demo data with: curl -fLSs -o /var/www/dev/initdemo/initdemo.sql https://raw.githubusercontent.com/Dolibarr/dolibarr/${DOLI_VERSION} /dev/initdemo/mysqldump_dolibarr_$versiondemo .sql"
221
220
curl -fLSs -o /var/www/dev/initdemo/initdemo.sql https://raw.githubusercontent.com/Dolibarr/dolibarr/${DOLI_VERSION} /dev/initdemo/mysqldump_dolibarr_$versiondemo .sql
222
- for fileSQL in /var/www/dev/initdemo/* .sql; do
223
- echo " Found demo data file, so we first drop table llx_accounting_system ..."
224
- echo " mysql -u ${DOLI_DB_USER} -pxxxxxxx -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e \" DROP TABLE llx_accounting_account\" >> /var/www/documents/initdb.log 2>&1"
225
- mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e " DROP TABLE llx_accounting_account" >> /var/www/documents/initdb.log 2>&1
226
- echo " mysql -u ${DOLI_DB_USER} -pxxxxxxx -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e \" DROP TABLE llx_accounting_system\" >> /var/www/documents/initdb.log 2>&1"
227
- mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e " DROP TABLE llx_accounting_system" >> /var/www/documents/initdb.log 2>&1
228
- echo " Then we load demo data ${fileSQL} ..."
229
- # sed -i 's/--.*//g;' ${fileSQL}
230
- echo " mysql -u ${DOLI_DB_USER} -pxxxxxxx -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} < ${fileSQL} >> /var/www/documents/initdb.log 2>&1"
231
- mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} < ${fileSQL} >> /var/www/documents/initdb.log 2>&1
232
- done
221
+ if [ $? -ne 0 ]; then
222
+ echo " ERROR: failed to get the online init demo file. No demo init will be done."
223
+ else
224
+ for fileSQL in /var/www/dev/initdemo/* .sql; do
225
+ echo " Found demo data file, so we first drop table llx_accounting_system ..."
226
+ echo " mysql -u ${DOLI_DB_USER} -pxxxxxxx -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e \" DROP TABLE llx_accounting_account\" >> /var/www/documents/initdb.log 2>&1"
227
+ mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e " DROP TABLE llx_accounting_account" >> /var/www/documents/initdb.log 2>&1
228
+ echo " mysql -u ${DOLI_DB_USER} -pxxxxxxx -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e \" DROP TABLE llx_accounting_system\" >> /var/www/documents/initdb.log 2>&1"
229
+ mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e " DROP TABLE llx_accounting_system" >> /var/www/documents/initdb.log 2>&1
230
+ echo " Then we load demo data ${fileSQL} ..."
231
+ # sed -i 's/--.*//g;' ${fileSQL}
232
+ echo " mysql -u ${DOLI_DB_USER} -pxxxxxxx -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} < ${fileSQL} >> /var/www/documents/initdb.log 2>&1"
233
+ mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} < ${fileSQL} >> /var/www/documents/initdb.log 2>&1
234
+ done
235
+ fi
233
236
else
234
- echo " DOLI_NIT_DEMO is off. No demo data load to do."
237
+ echo " DOLI_INIT_DEMO is off. No demo data load to do."
235
238
fi
236
239
240
+ echo " Create SuperAdmin account ..."
241
+ pass_crypted=` echo -n ${DOLI_ADMIN_PASSWORD} | md5sum | awk ' {print $1}' `
242
+ # pass_crypted2=`php -r "echo password_hash(${DOLI_ADMIN_PASSWORD}, PASSWORD_BCRYPT);"`
243
+
244
+ # Insert may fails if record already exists
245
+ mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e " INSERT INTO llx_user (entity, login, pass_crypted, lastname, admin, statut) VALUES (0, '${DOLI_ADMIN_LOGIN} ', '${pass_crypted} ', 'SuperAdmin', 1, 1);" >> /var/www/documents/initdb.log 2>&1
246
+ # Insert may fails if record already exists
247
+ mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e " UPDATE llx_user SET pass_crypted = '${pass_crypted} ' WHERE login = '${DOLI_ADMIN_LOGIN} ';" >> /var/www/documents/initdb.log 2>&1
248
+
237
249
echo " Enable user module ..."
238
250
php /var/www/scripts/docker-init.php
239
251
@@ -292,16 +304,28 @@ function run()
292
304
if [[ ${DOLI_INSTALL_AUTO} -eq 1 && ${DOLI_CRON} -ne 1 && ${DOLI_DB_TYPE} != " pgsql" ]]; then
293
305
echo " DOLI_INSTALL_AUTO is on, so we check to initialize or upgrade mariadb database"
294
306
295
- # If install.lock does not exists, we launch the initializeDataze
296
- if [[ ! -f /var/www/documents/install.lock ]]; then
297
- waitForDataBase
307
+ waitForDataBase
298
308
299
- mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e " SELECT Q.LAST_INSTALLED_VERSION FROM (SELECT INET_ATON(CONCAT(value, REPEAT('.0', 3 - CHAR_LENGTH(value) + CHAR_LENGTH(REPLACE(value, '.', ''))))) as VERSION_ATON, value as LAST_INSTALLED_VERSION FROM llx_const WHERE name IN ('MAIN_VERSION_LAST_INSTALL', 'MAIN_VERSION_LAST_UPGRADE') and entity=0) Q ORDER BY VERSION_ATON DESC LIMIT 1" > /var/www/documents/lastinstall.result 2>&1
309
+ DB_EXISTS=0
310
+
311
+ echo " mysql -u ${DOLI_DB_USER} -pxxxxxx -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} -e \" SELECT SCHEMA_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = '${DOLI_DB_NAME} ';\" > /tmp/docker-run-checkdb.result 2>&1" >> /var/www/documents/initdb.log 2>&1
312
+ mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} -e " SELECT SCHEMA_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = '${DOLI_DB_NAME} ';" > /tmp/docker-run-checkdb.result 2>&1
313
+ r=$?
314
+ if [[ ${r} -eq 0 ]]; then
315
+ DB_EXISTS=` grep ${DOLI_DB_NAME} /tmp/docker-run-checkdb.result`
316
+ fi
317
+ echo " DB Exists is : ${DB_EXISTS} " >> /var/www/documents/initdb.log 2>&1
318
+ echo " DB Exists is : ${DB_EXISTS} "
319
+
320
+ # If install.lock does not exists, or if db does not exists, we launch the initializeDatabase
321
+ if [[ ! -f /var/www/documents/install.lock || " $DB_EXIST " -eq 0 ]]; then
322
+ echo " mysql -u ${DOLI_DB_USER} -pxxxxxx -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e \" SELECT Q.LAST_INSTALLED_VERSION FROM (SELECT INET_ATON(CONCAT(value, REPEAT('.0', 3 - CHAR_LENGTH(value) + CHAR_LENGTH(REPLACE(value, '.', ''))))) as VERSION_ATON, value as LAST_INSTALLED_VERSION FROM llx_const WHERE name IN ('MAIN_VERSION_LAST_INSTALL', 'MAIN_VERSION_LAST_UPGRADE') and entity=0) Q ORDER BY VERSION_ATON DESC LIMIT 1\" > /tmp/docker-run-lastinstall.result 2>&1" >> /var/www/documents/initdb.log 2>&1
323
+ mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e " SELECT Q.LAST_INSTALLED_VERSION FROM (SELECT INET_ATON(CONCAT(value, REPEAT('.0', 3 - CHAR_LENGTH(value) + CHAR_LENGTH(REPLACE(value, '.', ''))))) as VERSION_ATON, value as LAST_INSTALLED_VERSION FROM llx_const WHERE name IN ('MAIN_VERSION_LAST_INSTALL', 'MAIN_VERSION_LAST_UPGRADE') and entity=0) Q ORDER BY VERSION_ATON DESC LIMIT 1" > /tmp/docker-run-lastinstall.result 2>&1
300
324
r=$?
301
325
if [[ ${r} -ne 0 ]]; then
302
326
initializeDatabase
303
327
else
304
- INSTALLED_VERSION=` grep -v LAST_INSTALLED_VERSION /tmp/lastinstall.result`
328
+ INSTALLED_VERSION=` grep -v LAST_INSTALLED_VERSION /tmp/docker-run- lastinstall.result`
305
329
echo " Last installed Version is : ${INSTALLED_VERSION} "
306
330
if [[ " $( echo ${INSTALLED_VERSION} | cut -d. -f1) " -lt " $( echo ${DOLI_VERSION} | cut -d. -f1) " ]]; then
307
331
migrateDatabase
@@ -314,7 +338,7 @@ function run()
314
338
lockInstallation
315
339
fi
316
340
else
317
- echo " File /var/www/documents/install.lock exists so we cancel database init"
341
+ echo " File /var/www/documents/install.lock exists and database eists so we cancel database init"
318
342
fi
319
343
fi
320
344
@@ -347,3 +371,5 @@ if [ "${1#-}" != "$1" ]; then
347
371
fi
348
372
349
373
exec " $@ "
374
+
375
+ echo " docker-run.sh finished."
0 commit comments