/**
  * Bootstrap the application services.
  *
  * @return void
  */
 public function boot()
 {
     Project::created(function (Project $project) {
         PGSchema::create($project->schema_name);
         PGSchema::migrate($project->schema_name, ["--path" => "eddie/database/migations/schemamigrations"]);
     });
 }
 /**
  * Bootstrap the application services.
  *
  * @return void
  */
 public function boot()
 {
     Project::deleting(function (Project $project) {
         PGSchema::switchTo();
         PGSchema::drop($project->schema_name);
     });
 }
Example #3
0
 /**
  * When a Project object is deleted, the associated database schema is deleted too.
  *
  */
 public function testDeleteSchema()
 {
     $project = \eddie\Models\Project::where(['name' => $this->testSchemaName])->first();
     $schemaName = $project->schema_name;
     $project->delete();
     $this->notSeeInDatabase('projects', ['name' => $project->name]);
     $schemas = \Illuminate\Support\Facades\DB::select("SELECT schema_name FROM information_schema.schemata WHERE schema_name = '" . $schemaName . "';");
     $this->assertEquals(0, count($schemas));
 }