|
| 1 | +@echo off |
| 2 | + |
| 3 | +del /q dab-config.json 2>nul |
| 4 | + |
| 5 | +set MSSQL_CONNECTION_STRING=%MSSQL_CONNECTION_STRING% |
| 6 | + |
| 7 | +dab init --database-type mssql --connection-string "@env('MSSQL_CONNECTION_STRING')" --config dab-config.json --host-mode development |
| 8 | + |
| 9 | +dab add Series --source dbo.Series --source.type table --permissions "anonymous:*" --description "Star Trek series" |
| 10 | +dab update Series --fields.name Id --fields.description "Primary key" --fields.primary-key true |
| 11 | +dab update Series --fields.name Name --fields.description "Series name" --fields.primary-key false |
| 12 | + |
| 13 | +dab add Actor --source dbo.Actor --source.type table --permissions "anonymous:*" --description "An actor in the franchise" |
| 14 | +dab update Actor --fields.name Id --fields.description "Primary key" --fields.primary-key true |
| 15 | +dab update Actor --fields.name FirstName --fields.description "Given name" --fields.primary-key false |
| 16 | +dab update Actor --fields.name LastName --fields.description "Family name" --fields.primary-key false |
| 17 | +dab update Actor --fields.name BirthYear --fields.description "Year of birth" --fields.primary-key false |
| 18 | +dab update Actor --fields.name FullName --fields.description "Computed full name" --fields.primary-key false |
| 19 | + |
| 20 | +dab add Species --source dbo.Species --source.type table --permissions "anonymous:*" --description "Alien species in Star Trek" |
| 21 | +dab update Species --fields.name Id --fields.description "Primary key" --fields.primary-key true |
| 22 | +dab update Species --fields.name Name --fields.description "Species name" --fields.primary-key false |
| 23 | + |
| 24 | +dab add Character --source dbo.Character --source.type table --permissions "anonymous:*" --description "A fictional character portrayed by an actor" |
| 25 | +dab update Character --fields.name Id --fields.description "Primary key" --fields.primary-key true |
| 26 | +dab update Character --fields.name Name --fields.description "Character name" --fields.primary-key false |
| 27 | +dab update Character --fields.name ActorId --fields.description "Foreign key to Actor" --fields.primary-key false |
| 28 | +dab update Character --fields.name Stardate --fields.description "Birth stardate" --fields.primary-key false |
| 29 | + |
| 30 | +dab add Series_Character --source dbo.Series_Character --source.type table --permissions "anonymous:*" --description "Characters appearing in series" |
| 31 | +dab update Series_Character --fields.name SeriesId --fields.description "Foreign key to Series" --fields.primary-key true |
| 32 | +dab update Series_Character --fields.name CharacterId --fields.description "Foreign key to Character" --fields.primary-key true |
| 33 | +dab update Series_Character --fields.name Role --fields.description "Character role in series" --fields.primary-key false |
| 34 | + |
| 35 | +dab add Character_Species --source dbo.Character_Species --source.type table --permissions "anonymous:*" --description "Species composition of characters" |
| 36 | +dab update Character_Species --fields.name CharacterId --fields.description "Foreign key to Character" --fields.primary-key true |
| 37 | +dab update Character_Species --fields.name SpeciesId --fields.description "Foreign key to Species" --fields.primary-key true |
| 38 | + |
| 39 | +dab update Character --relationship Character_Actor --target.entity Actor --cardinality one --relationship.fields "ActorId:Id" |
| 40 | +dab update Character --relationship Character_Series --cardinality many --target.entity Series_Character --relationship.fields "Id:CharacterId" |
| 41 | +dab update Character --relationship Character_Species --cardinality many --target.entity Character_Species --relationship.fields "Id:CharacterId" |
| 42 | + |
| 43 | +dab update Actor --relationship Actor_Characters --cardinality many --target.entity Character --relationship.fields "Id:ActorId" |
| 44 | + |
| 45 | +dab update Species --relationship Species_Characters --cardinality many --target.entity Character_Species --relationship.fields "Id:SpeciesId" |
| 46 | + |
| 47 | +dab update Series --relationship Series_Characters --cardinality many --target.entity Series_Character --relationship.fields "Id:SeriesId" |
| 48 | + |
| 49 | +dab update Series_Character --relationship SeriesCharacter_Series --cardinality one --target.entity Series --relationship.fields "SeriesId:Id" |
| 50 | +dab update Series_Character --relationship SeriesCharacter_Character --cardinality one --target.entity Character --relationship.fields "CharacterId:Id" |
| 51 | + |
| 52 | +dab update Character_Species --relationship CharacterSpecies_Character --cardinality one --target.entity Character --relationship.fields "CharacterId:Id" |
| 53 | +dab update Character_Species --relationship CharacterSpecies_Species --cardinality one --target.entity Species --relationship.fields "SpeciesId:Id" |
| 54 | + |
| 55 | +dab add SeriesActors --source dbo.SeriesActors --source.type view --source.key-fields "Id,SeriesId" --permissions "anonymous:*" --description "Actors appearing in each series" |
| 56 | +dab update SeriesActors --fields.name Id --fields.description "Actor id" --fields.primary-key true |
| 57 | +dab update SeriesActors --fields.name SeriesId --fields.description "Series id" --fields.primary-key true |
| 58 | +dab update SeriesActors --fields.name Actor --fields.description "Actor name" --fields.primary-key false |
| 59 | +dab update SeriesActors --fields.name BirthYear --fields.description "Year of birth" --fields.primary-key false |
| 60 | +dab update SeriesActors --fields.name Series --fields.description "Series name" --fields.primary-key false |
| 61 | + |
| 62 | +dab add GetSeriesActors --source dbo.GetSeriesActors --source.type stored-procedure --permissions "anonymous:*" --description "Return actors in a series" |
| 63 | +dab update GetSeriesActors --parameters.name seriesId --parameters.description "Series identifier" --parameters.required false --parameters.default 1 |
| 64 | +dab update GetSeriesActors --parameters.name top --parameters.description "Limit rows" --parameters.required false --parameters.default 5 |
| 65 | + |
| 66 | +echo DAB configuration complete! |
0 commit comments