Grant privileges after database is created
Never drop the database when granting privileges
This commit is contained in:
parent
cdcde75bb7
commit
0ab6469187
|
@ -189,7 +189,7 @@ stages:
|
||||||
<<: *dedicated-no-docs-and-no-qa-pull-cache-job
|
<<: *dedicated-no-docs-and-no-qa-pull-cache-job
|
||||||
<<: *use-pg
|
<<: *use-pg
|
||||||
variables:
|
variables:
|
||||||
CREATE_DB_USER: "true"
|
SETUP_DB: "false"
|
||||||
script:
|
script:
|
||||||
# Manually clone gitlab-test and only seed this project in
|
# Manually clone gitlab-test and only seed this project in
|
||||||
# db/fixtures/development/04_project.rb thanks to SIZE=1 below
|
# db/fixtures/development/04_project.rb thanks to SIZE=1 below
|
||||||
|
@ -233,7 +233,6 @@ stages:
|
||||||
.migration-paths: &migration-paths
|
.migration-paths: &migration-paths
|
||||||
<<: *dedicated-no-docs-and-no-qa-pull-cache-job
|
<<: *dedicated-no-docs-and-no-qa-pull-cache-job
|
||||||
variables:
|
variables:
|
||||||
CREATE_DB_USER: "true"
|
|
||||||
SETUP_DB: "false"
|
SETUP_DB: "false"
|
||||||
script:
|
script:
|
||||||
- git fetch https://gitlab.com/gitlab-org/gitlab-ce.git v9.3.0
|
- git fetch https://gitlab.com/gitlab-org/gitlab-ce.git v9.3.0
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
mysql --user=root --host=mysql <<EOF
|
mysql --user=root --host=mysql <<EOF
|
||||||
CREATE DATABASE IF NOT EXISTS gitlabhq_test DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
|
||||||
CREATE USER IF NOT EXISTS 'gitlab'@'%';
|
CREATE USER IF NOT EXISTS 'gitlab'@'%';
|
||||||
GRANT ALL PRIVILEGES ON gitlabhq_test.* TO 'gitlab'@'%';
|
GRANT ALL PRIVILEGES ON gitlabhq_test.* TO 'gitlab'@'%';
|
||||||
FLUSH PRIVILEGES;
|
FLUSH PRIVILEGES;
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
psql -h postgres -U postgres postgres <<EOF
|
psql -h postgres -U postgres postgres <<EOF
|
||||||
DROP DATABASE IF EXISTS gitlabhq_test;
|
|
||||||
CREATE DATABASE gitlabhq_test;
|
|
||||||
CREATE USER gitlab;
|
CREATE USER gitlab;
|
||||||
GRANT ALL PRIVILEGES ON DATABASE gitlabhq_test TO gitlab;
|
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO gitlab;
|
||||||
EOF
|
EOF
|
||||||
|
|
|
@ -49,16 +49,8 @@ sed -i 's/localhost/redis/g' config/redis.queues.yml
|
||||||
cp config/redis.shared_state.yml.example config/redis.shared_state.yml
|
cp config/redis.shared_state.yml.example config/redis.shared_state.yml
|
||||||
sed -i 's/localhost/redis/g' config/redis.shared_state.yml
|
sed -i 's/localhost/redis/g' config/redis.shared_state.yml
|
||||||
|
|
||||||
# Some tasks (e.g. db:seed_fu) need to have a properly-configured database
|
|
||||||
# user but not necessarily a full schema loaded
|
|
||||||
if [ "$CREATE_DB_USER" != "false" ]; then
|
|
||||||
if [ "$GITLAB_DATABASE" = 'postgresql' ]; then
|
|
||||||
. scripts/create_postgres_user.sh
|
|
||||||
else
|
|
||||||
. scripts/create_mysql_user.sh
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$SETUP_DB" != "false" ]; then
|
if [ "$SETUP_DB" != "false" ]; then
|
||||||
setup_db
|
setup_db
|
||||||
|
elif getent hosts postgres || getent hosts mysql; then
|
||||||
|
setup_db_user_only
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -13,7 +13,17 @@ retry() {
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setup_db_user_only() {
|
||||||
|
if [ "$GITLAB_DATABASE" = "postgresql" ]; then
|
||||||
|
. scripts/create_postgres_user.sh
|
||||||
|
else
|
||||||
|
. scripts/create_mysql_user.sh
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
setup_db() {
|
setup_db() {
|
||||||
|
setup_db_user_only
|
||||||
|
|
||||||
bundle exec rake db:drop db:create db:schema:load db:migrate
|
bundle exec rake db:drop db:create db:schema:load db:migrate
|
||||||
|
|
||||||
if [ "$GITLAB_DATABASE" = "mysql" ]; then
|
if [ "$GITLAB_DATABASE" = "mysql" ]; then
|
||||||
|
|
Loading…
Reference in New Issue