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 | ||||
|   <<: *use-pg | ||||
|   variables: | ||||
|     CREATE_DB_USER: "true" | ||||
|     SETUP_DB: "false" | ||||
|   script: | ||||
|     # Manually clone gitlab-test and only seed this project in | ||||
|     # db/fixtures/development/04_project.rb thanks to SIZE=1 below | ||||
|  | @ -233,7 +233,6 @@ stages: | |||
| .migration-paths: &migration-paths | ||||
|   <<: *dedicated-no-docs-and-no-qa-pull-cache-job | ||||
|   variables: | ||||
|     CREATE_DB_USER: "true" | ||||
|     SETUP_DB: "false" | ||||
|   script: | ||||
|     - git fetch https://gitlab.com/gitlab-org/gitlab-ce.git v9.3.0 | ||||
|  |  | |||
|  | @ -1,7 +1,6 @@ | |||
| #!/bin/bash | ||||
| 
 | ||||
| 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'@'%'; | ||||
| GRANT ALL PRIVILEGES ON gitlabhq_test.* TO 'gitlab'@'%'; | ||||
| FLUSH PRIVILEGES; | ||||
|  |  | |||
|  | @ -1,8 +1,6 @@ | |||
| #!/bin/bash | ||||
| 
 | ||||
| psql -h postgres -U postgres postgres <<EOF | ||||
| DROP DATABASE IF EXISTS gitlabhq_test; | ||||
| CREATE DATABASE gitlabhq_test; | ||||
| CREATE USER gitlab; | ||||
| GRANT ALL PRIVILEGES ON DATABASE gitlabhq_test TO gitlab; | ||||
| GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO gitlab; | ||||
| 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 | ||||
| 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 | ||||
|     setup_db | ||||
| elif getent hosts postgres || getent hosts mysql; then | ||||
|     setup_db_user_only | ||||
| fi | ||||
|  |  | |||
|  | @ -13,7 +13,17 @@ retry() { | |||
|     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_user_only | ||||
| 
 | ||||
|     bundle exec rake db:drop db:create db:schema:load db:migrate | ||||
| 
 | ||||
|     if [ "$GITLAB_DATABASE" = "mysql" ]; then | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue