@@ -1261,24 +1261,107 @@ class TwoMigration < ActiveRecord::Migration::Current
1261
1261
YAML
1262
1262
1263
1263
Dir . chdir ( app_path ) do
1264
- animals_db_exists = lambda { rails ( "runner" , "puts !!(AnimalsBase.lease_connection rescue false)" ) . strip }
1264
+ generate_models_for_animals
1265
+
1266
+ assert_not File . exist? ( "storage/development_animals.sqlite3" )
1267
+ assert_not File . exist? ( "db/animals_schema.rb" )
1268
+
1269
+ error = assert_raises do
1270
+ rails "db:migrate:animals" ### Task not defined
1271
+ end
1272
+ assert_includes error . message , "Unrecognized command"
1265
1273
1274
+ rails "db:migrate"
1275
+ assert File . exist? ( "storage/default.sqlite3" )
1276
+ assert_not File . exist? ( "storage/development_animals.sqlite3" )
1277
+ assert File . exist? ( "db/schema.rb" )
1278
+ assert_not File . exist? ( "db/animals_schema.rb" )
1279
+
1280
+ rails "db:drop"
1281
+ assert_not File . exist? ( "storage/default.sqlite3" )
1282
+ assert_not File . exist? ( "storage/development_animals.sqlite3" )
1283
+ end
1284
+ end
1285
+
1286
+ test "when database_tasks is false on 'primary', then run the database tasks on other dbs" do
1287
+ require "#{ app_path } /config/environment"
1288
+ app_file "config/database.yml" , <<-YAML
1289
+ development:
1290
+ primary:
1291
+ database: storage/development.sqlite3
1292
+ adapter: sqlite3
1293
+ database_tasks: false
1294
+ animals:
1295
+ database: storage/development_animals.sqlite3
1296
+ adapter: sqlite3
1297
+ migrations_paths: db/animals_migrate
1298
+ YAML
1299
+
1300
+ Dir . chdir ( app_path ) do
1266
1301
generate_models_for_animals
1267
1302
1268
- assert_equal "true" , animals_db_exists . call
1303
+ assert_not File . exist? ( "storage/development.sqlite3" )
1304
+ assert_not File . exist? ( "storage/development_animals.sqlite3" )
1269
1305
1270
- assert_not File . exist? ( "db/animals_schema.yml" )
1306
+ assert_not File . exist? ( "db/schema.rb" )
1307
+ assert_not File . exist? ( "db/animals_schema.rb" )
1271
1308
1272
1309
error = assert_raises do
1273
1310
rails "db:migrate:animals" ### Task not defined
1274
1311
end
1275
1312
assert_includes error . message , "Unrecognized command"
1276
1313
1277
- rails "db:schema:dump"
1278
- assert_not File . exist? ( "db/animals_schema.yml" )
1314
+ rails "db:migrate"
1315
+ assert_not File . exist? ( "storage/development.sqlite3" )
1316
+ assert File . exist? ( "storage/development_animals.sqlite3" )
1317
+ assert_not File . exist? ( "db/schema.rb" )
1318
+ assert File . exist? ( "db/animals_schema.rb" )
1279
1319
1280
1320
rails "db:drop"
1281
- assert_equal "true" , animals_db_exists . call
1321
+
1322
+ assert_not File . exist? ( "storage/development.sqlite3" )
1323
+ assert_not File . exist? ( "storage/development_animals.sqlite3" )
1324
+ end
1325
+ end
1326
+
1327
+ test "when database_tasks is false on the implicit primary database, then run the database tasks on other dbs" do
1328
+ require "#{ app_path } /config/environment"
1329
+ app_file "config/database.yml" , <<-YAML
1330
+ development:
1331
+ main:
1332
+ database: storage/development.sqlite3
1333
+ adapter: sqlite3
1334
+ database_tasks: false
1335
+ animals:
1336
+ database: storage/development_animals.sqlite3
1337
+ adapter: sqlite3
1338
+ migrations_paths: db/animals_migrate
1339
+ YAML
1340
+
1341
+ Dir . chdir ( app_path ) do
1342
+ generate_models_for_animals
1343
+
1344
+ assert_not File . exist? ( "storage/development.sqlite3" )
1345
+ assert_not File . exist? ( "storage/development_animals.sqlite3" )
1346
+
1347
+ assert_not File . exist? ( "db/schema.rb" )
1348
+ assert_not File . exist? ( "db/animals_schema.rb" )
1349
+
1350
+ error = assert_raises do
1351
+ rails "db:migrate:animals" ### Task not defined
1352
+ end
1353
+ assert_includes error . message , "Unrecognized command"
1354
+
1355
+ rails "db:migrate"
1356
+ assert_not File . exist? ( "storage/development.sqlite3" )
1357
+ assert File . exist? ( "storage/development_animals.sqlite3" )
1358
+ assert_not File . exist? ( "db/schema.rb" )
1359
+ assert File . exist? ( "db/animals_schema.rb" )
1360
+
1361
+ rails "db:drop"
1362
+
1363
+ assert_not File . exist? ( "storage/development.sqlite3" )
1364
+ assert_not File . exist? ( "storage/development_animals.sqlite3" )
1282
1365
end
1283
1366
end
1284
1367
0 commit comments