daddy 0.12.1 → 0.12.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/itamae/environments/nodejs/nodejs.rb +1 -1
- data/itamae/environments/ruby/default.rb +1 -1
- data/lib/daddy/version.rb +1 -1
- data/lib/tasks/db_create.rake +2 -2
- data/lib/tasks/task_helper.rb +12 -3
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 210ec54b1c183695265335e73e3a5214656a7036aedf3d6379ad0cd4b7a24668
|
|
4
|
+
data.tar.gz: e0174f4014ed5fff7c8ca8a58bd093dde9ee3debd550bd05d8059ee06c86bc5f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 97941df6694940e5ca709046612349a9429c34d3c8c102d5d392d69f6e0b01e1282ffa86af8b1937840461352b47f4c2911f6bbf96ec89d9304a42d49d525095
|
|
7
|
+
data.tar.gz: 448513df74d6b6b47b6b8bdb5ed9a389049a9f2510a4e2757d16532dd14d217d825b6084442dc2848b168734410996dd1b136ccf518314a72c5e574609718210
|
data/lib/daddy/version.rb
CHANGED
data/lib/tasks/db_create.rake
CHANGED
|
@@ -64,7 +64,7 @@ namespace :dad do
|
|
|
64
64
|
database = db_config['database']
|
|
65
65
|
username = db_config['username']
|
|
66
66
|
|
|
67
|
-
create_database_sql(database, username)
|
|
67
|
+
create_database_sql(database, username, env)
|
|
68
68
|
puts "database #{database} (#{env}/#{db_name}) written to tmp/create_databases.sql"
|
|
69
69
|
end
|
|
70
70
|
else
|
|
@@ -73,7 +73,7 @@ namespace :dad do
|
|
|
73
73
|
database = props['database']
|
|
74
74
|
username = props['username']
|
|
75
75
|
|
|
76
|
-
create_database_sql(database, username)
|
|
76
|
+
create_database_sql(database, username, env)
|
|
77
77
|
puts "database #{database} (#{env}) written to tmp/create_databases.sql"
|
|
78
78
|
end
|
|
79
79
|
end
|
data/lib/tasks/task_helper.rb
CHANGED
|
@@ -157,13 +157,22 @@ module DatabaseHelpers
|
|
|
157
157
|
end
|
|
158
158
|
|
|
159
159
|
# Helper method to write database creation SQL commands
|
|
160
|
-
def create_database_sql(database, username)
|
|
160
|
+
def create_database_sql(database, username, env = nil)
|
|
161
161
|
system("echo 'drop database if exists #{database};' >> tmp/create_databases.sql")
|
|
162
162
|
system("echo 'create database #{database};' >> tmp/create_databases.sql")
|
|
163
|
-
|
|
163
|
+
|
|
164
|
+
# test環境はRailsの並列テストが database-0, database-1 ... を追加で作るため、
|
|
165
|
+
# それらにも権限が及ぶようワイルドカードでGRANTする(既存の"_"はリテラル一致させるためエスケープする)
|
|
166
|
+
# バッククォートで囲むと、mysqlクライアントが行中の"\_"をコマンドと誤解釈するのを防ぎつつ、
|
|
167
|
+
# GRANTのdb_nameパターンとしては(通常のバッククォート識別子と異なり)バックスラッシュエスケープと
|
|
168
|
+
# ワイルドカードが有効なまま解釈される
|
|
169
|
+
escaped_database = database.gsub('_', '\\_')
|
|
170
|
+
grant_target = env == 'test' ? "`#{escaped_database}%`" : database
|
|
171
|
+
|
|
172
|
+
system("echo 'grant all on #{grant_target}.* to \"#{username}\"@\"%\";' >> tmp/create_databases.sql")
|
|
164
173
|
|
|
165
174
|
if ENV['FILE']
|
|
166
|
-
system("echo 'grant all on #{
|
|
175
|
+
system("echo 'grant all on #{grant_target}.* to \"#{username}\"@localhost;' >> tmp/create_databases.sql")
|
|
167
176
|
system("echo 'grant file on *.* to \"#{username}\"@localhost;' >> tmp/create_databases.sql")
|
|
168
177
|
end
|
|
169
178
|
end
|