diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Metadata/ApiModel.json b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Metadata/ApiModel.json
index e5184245e9..422a5de090 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Metadata/ApiModel.json
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Metadata/ApiModel.json
@@ -235,11 +235,27 @@
},
{
"schema": "edfi",
- "name": "AssessmentAdministrationAssessmentAdminstrationPeriod"
+ "name": "AssessmentAdministrationAssessmentBatteryPart"
},
{
"schema": "edfi",
- "name": "AssessmentAdministrationAssessmentBatteryPart"
+ "name": "AssessmentAdministrationPeriod"
+ }
+ ]
+ },
+ {
+ "aggregateRootEntityName": {
+ "schema": "edfi",
+ "name": "AssessmentAdministrationParticipation"
+ },
+ "aggregateEntityNames": [
+ {
+ "schema": "edfi",
+ "name": "AssessmentAdministrationParticipation"
+ },
+ {
+ "schema": "edfi",
+ "name": "AssessmentAdministrationParticipationAdministrationPointOfContact"
}
]
},
@@ -367,22 +383,6 @@
}
]
},
- {
- "aggregateRootEntityName": {
- "schema": "edfi",
- "name": "AssesssmentAdministrationParticipation"
- },
- "aggregateEntityNames": [
- {
- "schema": "edfi",
- "name": "AssesssmentAdministrationParticipation"
- },
- {
- "schema": "edfi",
- "name": "AssesssmentAdministrationParticipationAdministrationPointOfContact"
- }
- ]
- },
{
"aggregateRootEntityName": {
"schema": "edfi",
@@ -1363,6 +1363,30 @@
}
]
},
+ {
+ "aggregateRootEntityName": {
+ "schema": "edfi",
+ "name": "DualCreditInstitutionDescriptor"
+ },
+ "aggregateEntityNames": [
+ {
+ "schema": "edfi",
+ "name": "DualCreditInstitutionDescriptor"
+ }
+ ]
+ },
+ {
+ "aggregateRootEntityName": {
+ "schema": "edfi",
+ "name": "DualCreditTypeDescriptor"
+ },
+ "aggregateEntityNames": [
+ {
+ "schema": "edfi",
+ "name": "DualCreditTypeDescriptor"
+ }
+ ]
+ },
{
"aggregateRootEntityName": {
"schema": "edfi",
@@ -3618,12 +3642,12 @@
{
"aggregateRootEntityName": {
"schema": "edfi",
- "name": "Section504DisabilityTypeDescriptor"
+ "name": "Section504DisabilityDescriptor"
},
"aggregateEntityNames": [
{
"schema": "edfi",
- "name": "Section504DisabilityTypeDescriptor"
+ "name": "Section504DisabilityDescriptor"
}
]
},
@@ -4332,6 +4356,10 @@
{
"schema": "edfi",
"name": "StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode"
+ },
+ {
+ "schema": "edfi",
+ "name": "StudentDisciplineIncidentBehaviorAssociationWeapon"
}
]
},
@@ -6293,26 +6321,148 @@
},
{
"schema": "edfi",
- "name": "AssessmentAdministrationAssessmentAdminstrationPeriod",
+ "name": "AssessmentAdministrationAssessmentBatteryPart",
"locallyDefinedProperties": [
{
- "propertyName": "BeginDate",
+ "propertyName": "CreateDate",
"propertyType": {
- "dbType": "Date",
- "minLength": 0,
+ "dbType": "DateTime2",
"maxLength": 0,
"precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The month, day, and year for the start of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.",
- "isIdentifying": true,
+ "description": "",
+ "isIdentifying": false,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "BeginDate",
- "postgreSql": "BeginDate"
+ "sqlServer": "CreateDate",
+ "postgreSql": "CreateDate"
+ }
+ }
+ ],
+ "identifiers": [
+ {
+ "identifierName": "AssessmentAdministrationAssessmentBatteryPart_PK",
+ "identifyingPropertyNames": [
+ "AdministrationIdentifier",
+ "AssessmentIdentifier",
+ "AssigningEducationOrganizationId",
+ "Namespace",
+ "AssessmentBatteryPartName"
+ ],
+ "isPrimary": true,
+ "isUpdatable": false,
+ "constraintNames": {
+ "sqlServer": "AssessmentAdministrationAssessmentBatteryPart_PK",
+ "postgreSql": "AssessmentAdministrationAssessmentBatteryPart_PK"
+ }
+ }
+ ],
+ "isAbstract": false,
+ "description": "A reference to the parts of the assessment battery that are offered in this administration of the assessment.",
+ "tableNames": {
+ "sqlServer": "AssessmentAdministrationAssessmentBatteryPart",
+ "postgreSql": "AssessmentAdministrationAssessmentBatteryPart"
+ }
+ },
+ {
+ "schema": "edfi",
+ "name": "AssessmentAdministrationParticipation",
+ "locallyDefinedProperties": [
+ {
+ "propertyName": "CreateDate",
+ "propertyType": {
+ "dbType": "DateTime2",
+ "maxLength": 0,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "CreateDate",
+ "postgreSql": "CreateDate"
+ }
+ },
+ {
+ "propertyName": "Id",
+ "propertyType": {
+ "dbType": "Guid",
+ "maxLength": 0,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "Id",
+ "postgreSql": "Id"
+ }
+ },
+ {
+ "propertyName": "LastModifiedDate",
+ "propertyType": {
+ "dbType": "DateTime2",
+ "maxLength": 0,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "LastModifiedDate",
+ "postgreSql": "LastModifiedDate"
+ }
+ }
+ ],
+ "identifiers": [
+ {
+ "identifierName": "AssessmentAdministrationParticipation_PK",
+ "identifyingPropertyNames": [
+ "AdministrationIdentifier",
+ "AssessmentIdentifier",
+ "AssigningEducationOrganizationId",
+ "Namespace",
+ "ParticipatingEducationOrganizationId"
+ ],
+ "isPrimary": true,
+ "isUpdatable": false,
+ "constraintNames": {
+ "sqlServer": "AssessmentAdministrationParticipation_PK",
+ "postgreSql": "AssessmentAdministrationParticipation_PK"
}
},
+ {
+ "identifierName": "UX_AssessmentAdministrationParticipation_Id",
+ "identifyingPropertyNames": [
+ "Id"
+ ],
+ "isPrimary": false,
+ "isUpdatable": false,
+ "constraintNames": {
+ "sqlServer": "UX_AssessmentAdministrationParticipation_Id",
+ "postgreSql": "UX_77818e_Id"
+ }
+ }
+ ],
+ "isAbstract": false,
+ "description": "Identifies the point of contact for the administration of an assessment under the purview of an education organization.",
+ "tableNames": {
+ "sqlServer": "AssessmentAdministrationParticipation",
+ "postgreSql": "AssessmentAdministrationParticipation"
+ }
+ },
+ {
+ "schema": "edfi",
+ "name": "AssessmentAdministrationParticipationAdministrationPointOfContact",
+ "locallyDefinedProperties": [
{
"propertyName": "CreateDate",
"propertyType": {
@@ -6331,53 +6481,127 @@
}
},
{
- "propertyName": "EndDate",
+ "propertyName": "ElectronicMailAddress",
"propertyType": {
- "dbType": "Date",
+ "dbType": "String",
+ "minLength": 7,
+ "maxLength": 128,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The email address for the contact.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "ElectronicMailAddress",
+ "postgreSql": "ElectronicMailAddress"
+ }
+ },
+ {
+ "propertyName": "FirstName",
+ "propertyType": {
+ "dbType": "String",
"minLength": 0,
- "maxLength": 0,
+ "maxLength": 75,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The contact's first name.",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "FirstName",
+ "postgreSql": "FirstName"
+ }
+ },
+ {
+ "propertyName": "LastSurname",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 0,
+ "maxLength": 75,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The contact's last name.",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "LastSurname",
+ "postgreSql": "LastSurname"
+ }
+ },
+ {
+ "propertyName": "LoginId",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 0,
+ "maxLength": 60,
"precision": 0,
"scale": 0,
"isNullable": true
},
- "description": "The month, day, and year for the end of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.",
+ "description": "The login ID for the user; used for security access control interface.",
"isIdentifying": false,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "EndDate",
- "postgreSql": "EndDate"
+ "sqlServer": "LoginId",
+ "postgreSql": "LoginId"
}
}
],
"identifiers": [
{
- "identifierName": "AssessmentAdministrationAssessmentAdminstrationPeriod_PK",
+ "identifierName": "AssessmentAdministrationParticipationAdministrationPointOfContact_PK",
"identifyingPropertyNames": [
"AdministrationIdentifier",
"AssessmentIdentifier",
"AssigningEducationOrganizationId",
"Namespace",
- "BeginDate"
+ "ParticipatingEducationOrganizationId",
+ "EducationOrganizationId",
+ "ElectronicMailAddress"
],
"isPrimary": true,
"isUpdatable": false,
"constraintNames": {
- "sqlServer": "AssessmentAdministrationAssessmentAdminstrationPeriod_PK",
- "postgreSql": "AssessmentAdministrationAssessmentAdminstrationPeriod_PK"
+ "sqlServer": "AssessmentAdministrationParticipationAdministrationPointOfContact_PK",
+ "postgreSql": "AssessmentAdministrationParticipationAdministratio_c63833_PK"
}
}
],
"isAbstract": false,
- "description": "The anticipated dates for the assessment or administration window.",
+ "description": "Pre-identified contacts for education organizations administering the assessment.",
"tableNames": {
- "sqlServer": "AssessmentAdministrationAssessmentAdminstrationPeriod",
- "postgreSql": "AssessmentAdministrationAssessmentAdminstrationPeriod"
+ "sqlServer": "AssessmentAdministrationParticipationAdministrationPointOfContact",
+ "postgreSql": "AssessmentAdministrationParticipationAdministrationPoint_c63833"
}
},
{
"schema": "edfi",
- "name": "AssessmentAdministrationAssessmentBatteryPart",
+ "name": "AssessmentAdministrationPeriod",
"locallyDefinedProperties": [
+ {
+ "propertyName": "BeginDate",
+ "propertyType": {
+ "dbType": "Date",
+ "minLength": 0,
+ "maxLength": 0,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The month, day, and year for the start of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "BeginDate",
+ "postgreSql": "BeginDate"
+ }
+ },
{
"propertyName": "CreateDate",
"propertyType": {
@@ -6394,31 +6618,49 @@
"sqlServer": "CreateDate",
"postgreSql": "CreateDate"
}
+ },
+ {
+ "propertyName": "EndDate",
+ "propertyType": {
+ "dbType": "Date",
+ "minLength": 0,
+ "maxLength": 0,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": true
+ },
+ "description": "The month, day, and year for the end of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "EndDate",
+ "postgreSql": "EndDate"
+ }
}
],
"identifiers": [
{
- "identifierName": "AssessmentAdministrationAssessmentBatteryPart_PK",
+ "identifierName": "AssessmentAdministrationPeriod_PK",
"identifyingPropertyNames": [
"AdministrationIdentifier",
"AssessmentIdentifier",
"AssigningEducationOrganizationId",
"Namespace",
- "AssessmentBatteryPartName"
+ "BeginDate"
],
"isPrimary": true,
"isUpdatable": false,
"constraintNames": {
- "sqlServer": "AssessmentAdministrationAssessmentBatteryPart_PK",
- "postgreSql": "AssessmentAdministrationAssessmentBatteryPart_PK"
+ "sqlServer": "AssessmentAdministrationPeriod_PK",
+ "postgreSql": "AssessmentAdministrationPeriod_PK"
}
}
],
"isAbstract": false,
- "description": "A reference to the parts of the assessment battery that are offered in this administration of the assessment.",
+ "description": "The anticipated dates for the assessment or administration window.",
"tableNames": {
- "sqlServer": "AssessmentAdministrationAssessmentBatteryPart",
- "postgreSql": "AssessmentAdministrationAssessmentBatteryPart"
+ "sqlServer": "AssessmentAdministrationPeriod",
+ "postgreSql": "AssessmentAdministrationPeriod"
}
},
{
@@ -8068,220 +8310,6 @@
"postgreSql": "AssessmentSection"
}
},
- {
- "schema": "edfi",
- "name": "AssesssmentAdministrationParticipation",
- "locallyDefinedProperties": [
- {
- "propertyName": "CreateDate",
- "propertyType": {
- "dbType": "DateTime2",
- "maxLength": 0,
- "precision": 0,
- "scale": 0,
- "isNullable": false
- },
- "description": "",
- "isIdentifying": false,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "CreateDate",
- "postgreSql": "CreateDate"
- }
- },
- {
- "propertyName": "Id",
- "propertyType": {
- "dbType": "Guid",
- "maxLength": 0,
- "precision": 0,
- "scale": 0,
- "isNullable": false
- },
- "description": "",
- "isIdentifying": false,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "Id",
- "postgreSql": "Id"
- }
- },
- {
- "propertyName": "LastModifiedDate",
- "propertyType": {
- "dbType": "DateTime2",
- "maxLength": 0,
- "precision": 0,
- "scale": 0,
- "isNullable": false
- },
- "description": "",
- "isIdentifying": false,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "LastModifiedDate",
- "postgreSql": "LastModifiedDate"
- }
- }
- ],
- "identifiers": [
- {
- "identifierName": "AssesssmentAdministrationParticipation_PK",
- "identifyingPropertyNames": [
- "AdministrationIdentifier",
- "AssessmentIdentifier",
- "AssigningEducationOrganizationId",
- "Namespace",
- "ParticipatingEducationOrganizationId"
- ],
- "isPrimary": true,
- "isUpdatable": false,
- "constraintNames": {
- "sqlServer": "AssesssmentAdministrationParticipation_PK",
- "postgreSql": "AssesssmentAdministrationParticipation_PK"
- }
- },
- {
- "identifierName": "UX_AssesssmentAdministrationParticipation_Id",
- "identifyingPropertyNames": [
- "Id"
- ],
- "isPrimary": false,
- "isUpdatable": false,
- "constraintNames": {
- "sqlServer": "UX_AssesssmentAdministrationParticipation_Id",
- "postgreSql": "UX_0b52ab_Id"
- }
- }
- ],
- "isAbstract": false,
- "description": "Identifies the point of contact for the administration of an assessment under the purview of an education organization.",
- "tableNames": {
- "sqlServer": "AssesssmentAdministrationParticipation",
- "postgreSql": "AssesssmentAdministrationParticipation"
- }
- },
- {
- "schema": "edfi",
- "name": "AssesssmentAdministrationParticipationAdministrationPointOfContact",
- "locallyDefinedProperties": [
- {
- "propertyName": "CreateDate",
- "propertyType": {
- "dbType": "DateTime2",
- "maxLength": 0,
- "precision": 0,
- "scale": 0,
- "isNullable": false
- },
- "description": "",
- "isIdentifying": false,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "CreateDate",
- "postgreSql": "CreateDate"
- }
- },
- {
- "propertyName": "ElectronicMailAddress",
- "propertyType": {
- "dbType": "String",
- "minLength": 7,
- "maxLength": 128,
- "precision": 0,
- "scale": 0,
- "isNullable": false
- },
- "description": "The email address for the contact.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "ElectronicMailAddress",
- "postgreSql": "ElectronicMailAddress"
- }
- },
- {
- "propertyName": "FirstName",
- "propertyType": {
- "dbType": "String",
- "minLength": 0,
- "maxLength": 75,
- "precision": 0,
- "scale": 0,
- "isNullable": false
- },
- "description": "The contact's first name.",
- "isIdentifying": false,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "FirstName",
- "postgreSql": "FirstName"
- }
- },
- {
- "propertyName": "LastSurname",
- "propertyType": {
- "dbType": "String",
- "minLength": 0,
- "maxLength": 75,
- "precision": 0,
- "scale": 0,
- "isNullable": false
- },
- "description": "The contact's last name.",
- "isIdentifying": false,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "LastSurname",
- "postgreSql": "LastSurname"
- }
- },
- {
- "propertyName": "LoginId",
- "propertyType": {
- "dbType": "String",
- "minLength": 0,
- "maxLength": 60,
- "precision": 0,
- "scale": 0,
- "isNullable": true
- },
- "description": "The login ID for the user; used for security access control interface.",
- "isIdentifying": false,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "LoginId",
- "postgreSql": "LoginId"
- }
- }
- ],
- "identifiers": [
- {
- "identifierName": "AssesssmentAdministrationParticipationAdministrationPointOfContact_PK",
- "identifyingPropertyNames": [
- "AdministrationIdentifier",
- "AssessmentIdentifier",
- "AssigningEducationOrganizationId",
- "Namespace",
- "ParticipatingEducationOrganizationId",
- "EducationOrganizationId",
- "ElectronicMailAddress"
- ],
- "isPrimary": true,
- "isUpdatable": false,
- "constraintNames": {
- "sqlServer": "AssesssmentAdministrationParticipationAdministrationPointOfContact_PK",
- "postgreSql": "AssesssmentAdministrationParticipationAdministrati_c21adc_PK"
- }
- }
- ],
- "isAbstract": false,
- "description": "Pre-identified contacts for education organizations administering the assessment.",
- "tableNames": {
- "sqlServer": "AssesssmentAdministrationParticipationAdministrationPointOfContact",
- "postgreSql": "AssesssmentAdministrationParticipationAdministrationPoin_c21adc"
- }
- },
{
"schema": "edfi",
"name": "AssignmentLateStatusDescriptor",
@@ -16147,6 +16175,56 @@
"postgreSql": "DisplacedStudentStatusDescriptor"
}
},
+ {
+ "schema": "edfi",
+ "name": "DualCreditInstitutionDescriptor",
+ "locallyDefinedProperties": [],
+ "identifiers": [
+ {
+ "identifierName": "DualCreditInstitutionDescriptor_PK",
+ "identifyingPropertyNames": [
+ "DualCreditInstitutionDescriptorId"
+ ],
+ "isPrimary": true,
+ "isUpdatable": false,
+ "constraintNames": {
+ "sqlServer": "DualCreditInstitutionDescriptor_PK",
+ "postgreSql": "DualCreditInstitutionDescriptor_PK"
+ }
+ }
+ ],
+ "isAbstract": false,
+ "description": "Custom descriptor of college institutions or categories of institutions participating in the dual credit program.",
+ "tableNames": {
+ "sqlServer": "DualCreditInstitutionDescriptor",
+ "postgreSql": "DualCreditInstitutionDescriptor"
+ }
+ },
+ {
+ "schema": "edfi",
+ "name": "DualCreditTypeDescriptor",
+ "locallyDefinedProperties": [],
+ "identifiers": [
+ {
+ "identifierName": "DualCreditTypeDescriptor_PK",
+ "identifyingPropertyNames": [
+ "DualCreditTypeDescriptorId"
+ ],
+ "isPrimary": true,
+ "isUpdatable": false,
+ "constraintNames": {
+ "sqlServer": "DualCreditTypeDescriptor_PK",
+ "postgreSql": "DualCreditTypeDescriptor_PK"
+ }
+ }
+ ],
+ "isAbstract": false,
+ "description": "Indicates the type of the dual credit program.",
+ "tableNames": {
+ "sqlServer": "DualCreditTypeDescriptor",
+ "postgreSql": "DualCreditTypeDescriptor"
+ }
+ },
{
"schema": "edfi",
"name": "EducationalEnvironmentDescriptor",
@@ -31040,27 +31118,27 @@
},
{
"schema": "edfi",
- "name": "Section504DisabilityTypeDescriptor",
+ "name": "Section504DisabilityDescriptor",
"locallyDefinedProperties": [],
"identifiers": [
{
- "identifierName": "Section504DisabilityTypeDescriptor_PK",
+ "identifierName": "Section504DisabilityDescriptor_PK",
"identifyingPropertyNames": [
- "Section504DisabilityTypeDescriptorId"
+ "Section504DisabilityDescriptorId"
],
"isPrimary": true,
"isUpdatable": false,
"constraintNames": {
- "sqlServer": "Section504DisabilityTypeDescriptor_PK",
- "postgreSql": "Section504DisabilityTypeDescriptor_PK"
+ "sqlServer": "Section504DisabilityDescriptor_PK",
+ "postgreSql": "Section504DisabilityDescriptor_PK"
}
}
],
"isAbstract": false,
"description": "This descriptor defines the reason(s) why student qualifies for Section 504 consideration.",
"tableNames": {
- "sqlServer": "Section504DisabilityTypeDescriptor",
- "postgreSql": "Section504DisabilityTypeDescriptor"
+ "sqlServer": "Section504DisabilityDescriptor",
+ "postgreSql": "Section504DisabilityDescriptor"
}
},
{
@@ -40522,6 +40600,53 @@
"postgreSql": "StudentDisciplineIncidentBehaviorAssociationDisciplineIn_ae6a21"
}
},
+ {
+ "schema": "edfi",
+ "name": "StudentDisciplineIncidentBehaviorAssociationWeapon",
+ "locallyDefinedProperties": [
+ {
+ "propertyName": "CreateDate",
+ "propertyType": {
+ "dbType": "DateTime2",
+ "maxLength": 0,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "CreateDate",
+ "postgreSql": "CreateDate"
+ }
+ }
+ ],
+ "identifiers": [
+ {
+ "identifierName": "StudentDisciplineIncidentBehaviorAssociationWeapon_PK",
+ "identifyingPropertyNames": [
+ "BehaviorDescriptorId",
+ "IncidentIdentifier",
+ "SchoolId",
+ "StudentUSI",
+ "WeaponDescriptorId"
+ ],
+ "isPrimary": true,
+ "isUpdatable": false,
+ "constraintNames": {
+ "sqlServer": "StudentDisciplineIncidentBehaviorAssociationWeapon_PK",
+ "postgreSql": "StudentDisciplineIncidentBehaviorAssociationWeapon_PK"
+ }
+ }
+ ],
+ "isAbstract": false,
+ "description": "Identifies the type(s) of weapon used by the student during a discipline incident. The Federal Gun-Free Schools Act requires states to report the number of students expelled for bringing firearms to school by type of firearm.",
+ "tableNames": {
+ "sqlServer": "StudentDisciplineIncidentBehaviorAssociationWeapon",
+ "postgreSql": "StudentDisciplineIncidentBehaviorAssociationWeapon"
+ }
+ },
{
"schema": "edfi",
"name": "StudentDisciplineIncidentNonOffenderAssociation",
@@ -46437,6 +46562,42 @@
"postgreSql": "CreateDate"
}
},
+ {
+ "propertyName": "DualCreditIndicator",
+ "propertyType": {
+ "dbType": "Boolean",
+ "minLength": 0,
+ "maxLength": 0,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": true
+ },
+ "description": "Indicates whether the student assigned to the section is to receive dual credit upon successful completion.",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "DualCreditIndicator",
+ "postgreSql": "DualCreditIndicator"
+ }
+ },
+ {
+ "propertyName": "DualHighSchoolCreditIndicator",
+ "propertyType": {
+ "dbType": "Boolean",
+ "minLength": 0,
+ "maxLength": 0,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": true
+ },
+ "description": "Indicates whether successful completion of the course will result in credits toward high school graduation.",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "DualHighSchoolCreditIndicator",
+ "postgreSql": "DualHighSchoolCreditIndicator"
+ }
+ },
{
"propertyName": "EndDate",
"propertyType": {
@@ -47004,6 +47165,23 @@
"postgreSql": "MultiplyDisabled"
}
},
+ {
+ "propertyName": "ReductionInHoursPerWeekComparedToPeers",
+ "propertyType": {
+ "dbType": "Decimal",
+ "maxLength": 0,
+ "precision": 5,
+ "scale": 2,
+ "isNullable": true
+ },
+ "description": "Records the number of hours reduced for the shortened school day for the IEP student as compared to peers in regular education.",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "ReductionInHoursPerWeekComparedToPeers",
+ "postgreSql": "ReductionInHoursPerWeekComparedToPeers"
+ }
+ },
{
"propertyName": "SchoolHoursPerWeek",
"propertyType": {
@@ -47021,6 +47199,24 @@
"postgreSql": "SchoolHoursPerWeek"
}
},
+ {
+ "propertyName": "ShortenedSchoolDayIndicator",
+ "propertyType": {
+ "dbType": "Boolean",
+ "minLength": 0,
+ "maxLength": 0,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": true
+ },
+ "description": "Indicator that the student's IEP requires a shortened school day.",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "ShortenedSchoolDayIndicator",
+ "postgreSql": "ShortenedSchoolDayIndicator"
+ }
+ },
{
"propertyName": "SpecialEducationExitDate",
"propertyType": {
@@ -51974,7 +52170,7 @@
{
"fullName": {
"schema": "edfi",
- "name": "FK_AssessmentAdministrationAssessmentAdminstrationPeriod_AssessmentAdministration"
+ "name": "FK_AssessmentAdministrationAssessmentBatteryPart_AssessmentAdministration"
},
"cardinality": "OneToZeroOrMore",
"primaryEntityFullName": {
@@ -52056,7 +52252,7 @@
],
"secondaryEntityFullName": {
"schema": "edfi",
- "name": "AssessmentAdministrationAssessmentAdminstrationPeriod"
+ "name": "AssessmentAdministrationAssessmentBatteryPart"
},
"secondaryEntityProperties": [
{
@@ -52134,15 +52330,149 @@
"isIdentifying": true,
"isRequired": true,
"constraintNames": {
- "sqlServer": "FK_AssessmentAdministrationAssessmentAdminstrationPeriod_AssessmentAdministration",
- "postgreSql": "FK_77cf17_AssessmentAdministration"
+ "sqlServer": "FK_AssessmentAdministrationAssessmentBatteryPart_AssessmentAdministration",
+ "postgreSql": "FK_1d6852_AssessmentAdministration"
},
"potentiallyLogical": false
},
{
"fullName": {
"schema": "edfi",
- "name": "FK_AssessmentAdministrationAssessmentBatteryPart_AssessmentAdministration"
+ "name": "FK_AssessmentAdministrationAssessmentBatteryPart_AssessmentBatteryPart"
+ },
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "AssessmentBatteryPart"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "AssessmentBatteryPartName",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 0,
+ "maxLength": 65,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The name of the part of an assessment battery.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "AssessmentBatteryPartName",
+ "postgreSql": "AssessmentBatteryPartName"
+ }
+ },
+ {
+ "propertyName": "AssessmentIdentifier",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 0,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique number or alphanumeric code assigned to an assessment.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "AssessmentIdentifier",
+ "postgreSql": "AssessmentIdentifier"
+ }
+ },
+ {
+ "propertyName": "Namespace",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 5,
+ "maxLength": 255,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "Namespace for the assessment.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "Namespace",
+ "postgreSql": "Namespace"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "AssessmentAdministrationAssessmentBatteryPart"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "AssessmentBatteryPartName",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 0,
+ "maxLength": 65,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The name of the part of an assessment battery.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "AssessmentBatteryPartName",
+ "postgreSql": "AssessmentBatteryPartName"
+ }
+ },
+ {
+ "propertyName": "AssessmentIdentifier",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 0,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique number or alphanumeric code assigned to an assessment.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "AssessmentIdentifier",
+ "postgreSql": "AssessmentIdentifier"
+ }
+ },
+ {
+ "propertyName": "Namespace",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 5,
+ "maxLength": 255,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "Namespace for the assessment.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "Namespace",
+ "postgreSql": "Namespace"
+ }
+ }
+ ],
+ "isIdentifying": true,
+ "isRequired": true,
+ "constraintNames": {
+ "sqlServer": "FK_AssessmentAdministrationAssessmentBatteryPart_AssessmentBatteryPart",
+ "postgreSql": "FK_1d6852_AssessmentBatteryPart"
+ },
+ "potentiallyLogical": false
+ },
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_AssessmentAdministrationParticipation_AssessmentAdministration"
},
"cardinality": "OneToZeroOrMore",
"primaryEntityFullName": {
@@ -52224,7 +52554,7 @@
],
"secondaryEntityFullName": {
"schema": "edfi",
- "name": "AssessmentAdministrationAssessmentBatteryPart"
+ "name": "AssessmentAdministrationParticipation"
},
"secondaryEntityProperties": [
{
@@ -52302,38 +52632,98 @@
"isIdentifying": true,
"isRequired": true,
"constraintNames": {
- "sqlServer": "FK_AssessmentAdministrationAssessmentBatteryPart_AssessmentAdministration",
- "postgreSql": "FK_1d6852_AssessmentAdministration"
+ "sqlServer": "FK_AssessmentAdministrationParticipation_AssessmentAdministration",
+ "postgreSql": "FK_77818e_AssessmentAdministration"
},
"potentiallyLogical": false
},
{
"fullName": {
"schema": "edfi",
- "name": "FK_AssessmentAdministrationAssessmentBatteryPart_AssessmentBatteryPart"
+ "name": "FK_AssessmentAdministrationParticipation_EducationOrganization"
},
"cardinality": "OneToZeroOrMore",
"primaryEntityFullName": {
"schema": "edfi",
- "name": "AssessmentBatteryPart"
+ "name": "EducationOrganization"
},
"primaryEntityProperties": [
{
- "propertyName": "AssessmentBatteryPartName",
+ "propertyName": "EducationOrganizationId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to an education organization.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "EducationOrganizationId",
+ "postgreSql": "EducationOrganizationId"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "AssessmentAdministrationParticipation"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "ParticipatingEducationOrganizationId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to an education organization.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "ParticipatingEducationOrganizationId",
+ "postgreSql": "ParticipatingEducationOrganizationId"
+ }
+ }
+ ],
+ "isIdentifying": true,
+ "isRequired": true,
+ "constraintNames": {
+ "sqlServer": "FK_AssessmentAdministrationParticipation_EducationOrganization",
+ "postgreSql": "FK_77818e_EducationOrganization"
+ },
+ "potentiallyLogical": false
+ },
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_AssessmentAdministrationParticipationAdministrationPointOfContact_AssessmentAdministrationParticipation"
+ },
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "AssessmentAdministrationParticipation"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "AdministrationIdentifier",
"propertyType": {
"dbType": "String",
"minLength": 0,
- "maxLength": 65,
+ "maxLength": 255,
"precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The name of the part of an assessment battery.",
+ "description": "The title or name of the assessment in the context of its administration.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "AssessmentBatteryPartName",
- "postgreSql": "AssessmentBatteryPartName"
+ "sqlServer": "AdministrationIdentifier",
+ "postgreSql": "AdministrationIdentifier"
}
},
{
@@ -52354,6 +52744,23 @@
"postgreSql": "AssessmentIdentifier"
}
},
+ {
+ "propertyName": "AssigningEducationOrganizationId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to an education organization.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "AssigningEducationOrganizationId",
+ "postgreSql": "AssigningEducationOrganizationId"
+ }
+ },
{
"propertyName": "Namespace",
"propertyType": {
@@ -52371,29 +52778,46 @@
"sqlServer": "Namespace",
"postgreSql": "Namespace"
}
+ },
+ {
+ "propertyName": "ParticipatingEducationOrganizationId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to an education organization.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "ParticipatingEducationOrganizationId",
+ "postgreSql": "ParticipatingEducationOrganizationId"
+ }
}
],
"secondaryEntityFullName": {
"schema": "edfi",
- "name": "AssessmentAdministrationAssessmentBatteryPart"
+ "name": "AssessmentAdministrationParticipationAdministrationPointOfContact"
},
"secondaryEntityProperties": [
{
- "propertyName": "AssessmentBatteryPartName",
+ "propertyName": "AdministrationIdentifier",
"propertyType": {
"dbType": "String",
"minLength": 0,
- "maxLength": 65,
+ "maxLength": 255,
"precision": 0,
"scale": 0,
"isNullable": false
},
- "description": "The name of the part of an assessment battery.",
+ "description": "The title or name of the assessment in the context of its administration.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "AssessmentBatteryPartName",
- "postgreSql": "AssessmentBatteryPartName"
+ "sqlServer": "AdministrationIdentifier",
+ "postgreSql": "AdministrationIdentifier"
}
},
{
@@ -52414,6 +52838,23 @@
"postgreSql": "AssessmentIdentifier"
}
},
+ {
+ "propertyName": "AssigningEducationOrganizationId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to an education organization.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "AssigningEducationOrganizationId",
+ "postgreSql": "AssigningEducationOrganizationId"
+ }
+ },
{
"propertyName": "Namespace",
"propertyType": {
@@ -52431,13 +52872,258 @@
"sqlServer": "Namespace",
"postgreSql": "Namespace"
}
+ },
+ {
+ "propertyName": "ParticipatingEducationOrganizationId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to an education organization.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "ParticipatingEducationOrganizationId",
+ "postgreSql": "ParticipatingEducationOrganizationId"
+ }
}
],
"isIdentifying": true,
"isRequired": true,
"constraintNames": {
- "sqlServer": "FK_AssessmentAdministrationAssessmentBatteryPart_AssessmentBatteryPart",
- "postgreSql": "FK_1d6852_AssessmentBatteryPart"
+ "sqlServer": "FK_AssessmentAdministrationParticipationAdministrationPointOfContact_AssessmentAdministrationParticipation",
+ "postgreSql": "FK_c63833_AssessmentAdministrationParticipation"
+ },
+ "potentiallyLogical": false
+ },
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_AssessmentAdministrationParticipationAdministrationPointOfContact_EducationOrganization"
+ },
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "EducationOrganization"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "EducationOrganizationId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to an education organization.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "EducationOrganizationId",
+ "postgreSql": "EducationOrganizationId"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "AssessmentAdministrationParticipationAdministrationPointOfContact"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "EducationOrganizationId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to an education organization.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "EducationOrganizationId",
+ "postgreSql": "EducationOrganizationId"
+ }
+ }
+ ],
+ "isIdentifying": true,
+ "isRequired": true,
+ "constraintNames": {
+ "sqlServer": "FK_AssessmentAdministrationParticipationAdministrationPointOfContact_EducationOrganization",
+ "postgreSql": "FK_c63833_EducationOrganization"
+ },
+ "potentiallyLogical": false
+ },
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_AssessmentAdministrationPeriod_AssessmentAdministration"
+ },
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "AssessmentAdministration"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "AdministrationIdentifier",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 0,
+ "maxLength": 255,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The title or name of the assessment in the context of its administration.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "AdministrationIdentifier",
+ "postgreSql": "AdministrationIdentifier"
+ }
+ },
+ {
+ "propertyName": "AssessmentIdentifier",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 0,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique number or alphanumeric code assigned to an assessment.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "AssessmentIdentifier",
+ "postgreSql": "AssessmentIdentifier"
+ }
+ },
+ {
+ "propertyName": "AssigningEducationOrganizationId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to an education organization.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "AssigningEducationOrganizationId",
+ "postgreSql": "AssigningEducationOrganizationId"
+ }
+ },
+ {
+ "propertyName": "Namespace",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 5,
+ "maxLength": 255,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "Namespace for the assessment.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "Namespace",
+ "postgreSql": "Namespace"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "AssessmentAdministrationPeriod"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "AdministrationIdentifier",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 0,
+ "maxLength": 255,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The title or name of the assessment in the context of its administration.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "AdministrationIdentifier",
+ "postgreSql": "AdministrationIdentifier"
+ }
+ },
+ {
+ "propertyName": "AssessmentIdentifier",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 0,
+ "maxLength": 60,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique number or alphanumeric code assigned to an assessment.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "AssessmentIdentifier",
+ "postgreSql": "AssessmentIdentifier"
+ }
+ },
+ {
+ "propertyName": "AssigningEducationOrganizationId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to an education organization.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "AssigningEducationOrganizationId",
+ "postgreSql": "AssigningEducationOrganizationId"
+ }
+ },
+ {
+ "propertyName": "Namespace",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 5,
+ "maxLength": 255,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "Namespace for the assessment.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "Namespace",
+ "postgreSql": "Namespace"
+ }
+ }
+ ],
+ "isIdentifying": true,
+ "isRequired": true,
+ "constraintNames": {
+ "sqlServer": "FK_AssessmentAdministrationPeriod_AssessmentAdministration",
+ "postgreSql": "FK_3e8626_AssessmentAdministration"
},
"potentiallyLogical": false
},
@@ -56273,496 +56959,6 @@
},
"potentiallyLogical": false
},
- {
- "fullName": {
- "schema": "edfi",
- "name": "FK_AssesssmentAdministrationParticipation_AssessmentAdministration"
- },
- "cardinality": "OneToZeroOrMore",
- "primaryEntityFullName": {
- "schema": "edfi",
- "name": "AssessmentAdministration"
- },
- "primaryEntityProperties": [
- {
- "propertyName": "AdministrationIdentifier",
- "propertyType": {
- "dbType": "String",
- "minLength": 0,
- "maxLength": 255,
- "precision": 0,
- "scale": 0,
- "isNullable": false
- },
- "description": "The title or name of the assessment in the context of its administration.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "AdministrationIdentifier",
- "postgreSql": "AdministrationIdentifier"
- }
- },
- {
- "propertyName": "AssessmentIdentifier",
- "propertyType": {
- "dbType": "String",
- "minLength": 0,
- "maxLength": 60,
- "precision": 0,
- "scale": 0,
- "isNullable": false
- },
- "description": "A unique number or alphanumeric code assigned to an assessment.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "AssessmentIdentifier",
- "postgreSql": "AssessmentIdentifier"
- }
- },
- {
- "propertyName": "AssigningEducationOrganizationId",
- "propertyType": {
- "dbType": "Int64",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "The identifier assigned to an education organization.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "AssigningEducationOrganizationId",
- "postgreSql": "AssigningEducationOrganizationId"
- }
- },
- {
- "propertyName": "Namespace",
- "propertyType": {
- "dbType": "String",
- "minLength": 5,
- "maxLength": 255,
- "precision": 0,
- "scale": 0,
- "isNullable": false
- },
- "description": "Namespace for the assessment.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "Namespace",
- "postgreSql": "Namespace"
- }
- }
- ],
- "secondaryEntityFullName": {
- "schema": "edfi",
- "name": "AssesssmentAdministrationParticipation"
- },
- "secondaryEntityProperties": [
- {
- "propertyName": "AdministrationIdentifier",
- "propertyType": {
- "dbType": "String",
- "minLength": 0,
- "maxLength": 255,
- "precision": 0,
- "scale": 0,
- "isNullable": false
- },
- "description": "The title or name of the assessment in the context of its administration.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "AdministrationIdentifier",
- "postgreSql": "AdministrationIdentifier"
- }
- },
- {
- "propertyName": "AssessmentIdentifier",
- "propertyType": {
- "dbType": "String",
- "minLength": 0,
- "maxLength": 60,
- "precision": 0,
- "scale": 0,
- "isNullable": false
- },
- "description": "A unique number or alphanumeric code assigned to an assessment.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "AssessmentIdentifier",
- "postgreSql": "AssessmentIdentifier"
- }
- },
- {
- "propertyName": "AssigningEducationOrganizationId",
- "propertyType": {
- "dbType": "Int64",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "The identifier assigned to an education organization.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "AssigningEducationOrganizationId",
- "postgreSql": "AssigningEducationOrganizationId"
- }
- },
- {
- "propertyName": "Namespace",
- "propertyType": {
- "dbType": "String",
- "minLength": 5,
- "maxLength": 255,
- "precision": 0,
- "scale": 0,
- "isNullable": false
- },
- "description": "Namespace for the assessment.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "Namespace",
- "postgreSql": "Namespace"
- }
- }
- ],
- "isIdentifying": true,
- "isRequired": true,
- "constraintNames": {
- "sqlServer": "FK_AssesssmentAdministrationParticipation_AssessmentAdministration",
- "postgreSql": "FK_0b52ab_AssessmentAdministration"
- },
- "potentiallyLogical": false
- },
- {
- "fullName": {
- "schema": "edfi",
- "name": "FK_AssesssmentAdministrationParticipation_EducationOrganization"
- },
- "cardinality": "OneToZeroOrMore",
- "primaryEntityFullName": {
- "schema": "edfi",
- "name": "EducationOrganization"
- },
- "primaryEntityProperties": [
- {
- "propertyName": "EducationOrganizationId",
- "propertyType": {
- "dbType": "Int64",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "The identifier assigned to an education organization.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "EducationOrganizationId",
- "postgreSql": "EducationOrganizationId"
- }
- }
- ],
- "secondaryEntityFullName": {
- "schema": "edfi",
- "name": "AssesssmentAdministrationParticipation"
- },
- "secondaryEntityProperties": [
- {
- "propertyName": "ParticipatingEducationOrganizationId",
- "propertyType": {
- "dbType": "Int64",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "The identifier assigned to an education organization.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "ParticipatingEducationOrganizationId",
- "postgreSql": "ParticipatingEducationOrganizationId"
- }
- }
- ],
- "isIdentifying": true,
- "isRequired": true,
- "constraintNames": {
- "sqlServer": "FK_AssesssmentAdministrationParticipation_EducationOrganization",
- "postgreSql": "FK_0b52ab_EducationOrganization"
- },
- "potentiallyLogical": false
- },
- {
- "fullName": {
- "schema": "edfi",
- "name": "FK_AssesssmentAdministrationParticipationAdministrationPointOfContact_AssesssmentAdministrationParticipation"
- },
- "cardinality": "OneToZeroOrMore",
- "primaryEntityFullName": {
- "schema": "edfi",
- "name": "AssesssmentAdministrationParticipation"
- },
- "primaryEntityProperties": [
- {
- "propertyName": "AdministrationIdentifier",
- "propertyType": {
- "dbType": "String",
- "minLength": 0,
- "maxLength": 255,
- "precision": 0,
- "scale": 0,
- "isNullable": false
- },
- "description": "The title or name of the assessment in the context of its administration.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "AdministrationIdentifier",
- "postgreSql": "AdministrationIdentifier"
- }
- },
- {
- "propertyName": "AssessmentIdentifier",
- "propertyType": {
- "dbType": "String",
- "minLength": 0,
- "maxLength": 60,
- "precision": 0,
- "scale": 0,
- "isNullable": false
- },
- "description": "A unique number or alphanumeric code assigned to an assessment.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "AssessmentIdentifier",
- "postgreSql": "AssessmentIdentifier"
- }
- },
- {
- "propertyName": "AssigningEducationOrganizationId",
- "propertyType": {
- "dbType": "Int64",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "The identifier assigned to an education organization.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "AssigningEducationOrganizationId",
- "postgreSql": "AssigningEducationOrganizationId"
- }
- },
- {
- "propertyName": "Namespace",
- "propertyType": {
- "dbType": "String",
- "minLength": 5,
- "maxLength": 255,
- "precision": 0,
- "scale": 0,
- "isNullable": false
- },
- "description": "Namespace for the assessment.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "Namespace",
- "postgreSql": "Namespace"
- }
- },
- {
- "propertyName": "ParticipatingEducationOrganizationId",
- "propertyType": {
- "dbType": "Int64",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "The identifier assigned to an education organization.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "ParticipatingEducationOrganizationId",
- "postgreSql": "ParticipatingEducationOrganizationId"
- }
- }
- ],
- "secondaryEntityFullName": {
- "schema": "edfi",
- "name": "AssesssmentAdministrationParticipationAdministrationPointOfContact"
- },
- "secondaryEntityProperties": [
- {
- "propertyName": "AdministrationIdentifier",
- "propertyType": {
- "dbType": "String",
- "minLength": 0,
- "maxLength": 255,
- "precision": 0,
- "scale": 0,
- "isNullable": false
- },
- "description": "The title or name of the assessment in the context of its administration.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "AdministrationIdentifier",
- "postgreSql": "AdministrationIdentifier"
- }
- },
- {
- "propertyName": "AssessmentIdentifier",
- "propertyType": {
- "dbType": "String",
- "minLength": 0,
- "maxLength": 60,
- "precision": 0,
- "scale": 0,
- "isNullable": false
- },
- "description": "A unique number or alphanumeric code assigned to an assessment.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "AssessmentIdentifier",
- "postgreSql": "AssessmentIdentifier"
- }
- },
- {
- "propertyName": "AssigningEducationOrganizationId",
- "propertyType": {
- "dbType": "Int64",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "The identifier assigned to an education organization.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "AssigningEducationOrganizationId",
- "postgreSql": "AssigningEducationOrganizationId"
- }
- },
- {
- "propertyName": "Namespace",
- "propertyType": {
- "dbType": "String",
- "minLength": 5,
- "maxLength": 255,
- "precision": 0,
- "scale": 0,
- "isNullable": false
- },
- "description": "Namespace for the assessment.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "Namespace",
- "postgreSql": "Namespace"
- }
- },
- {
- "propertyName": "ParticipatingEducationOrganizationId",
- "propertyType": {
- "dbType": "Int64",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "The identifier assigned to an education organization.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "ParticipatingEducationOrganizationId",
- "postgreSql": "ParticipatingEducationOrganizationId"
- }
- }
- ],
- "isIdentifying": true,
- "isRequired": true,
- "constraintNames": {
- "sqlServer": "FK_AssesssmentAdministrationParticipationAdministrationPointOfContact_AssesssmentAdministrationParticipation",
- "postgreSql": "FK_c21adc_AssesssmentAdministrationParticipation"
- },
- "potentiallyLogical": false
- },
- {
- "fullName": {
- "schema": "edfi",
- "name": "FK_AssesssmentAdministrationParticipationAdministrationPointOfContact_EducationOrganization"
- },
- "cardinality": "OneToZeroOrMore",
- "primaryEntityFullName": {
- "schema": "edfi",
- "name": "EducationOrganization"
- },
- "primaryEntityProperties": [
- {
- "propertyName": "EducationOrganizationId",
- "propertyType": {
- "dbType": "Int64",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "The identifier assigned to an education organization.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "EducationOrganizationId",
- "postgreSql": "EducationOrganizationId"
- }
- }
- ],
- "secondaryEntityFullName": {
- "schema": "edfi",
- "name": "AssesssmentAdministrationParticipationAdministrationPointOfContact"
- },
- "secondaryEntityProperties": [
- {
- "propertyName": "EducationOrganizationId",
- "propertyType": {
- "dbType": "Int64",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "The identifier assigned to an education organization.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "EducationOrganizationId",
- "postgreSql": "EducationOrganizationId"
- }
- }
- ],
- "isIdentifying": true,
- "isRequired": true,
- "constraintNames": {
- "sqlServer": "FK_AssesssmentAdministrationParticipationAdministrationPointOfContact_EducationOrganization",
- "postgreSql": "FK_c21adc_EducationOrganization"
- },
- "potentiallyLogical": false
- },
{
"fullName": {
"schema": "edfi",
@@ -72874,11 +73070,227 @@
],
"secondaryEntityFullName": {
"schema": "edfi",
- "name": "DisciplineIncidentParticipationCodeDescriptor"
+ "name": "DisciplineIncidentParticipationCodeDescriptor"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "DisciplineIncidentParticipationCodeDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
+ "isIdentifying": true,
+ "isServerAssigned": true,
+ "columnNames": {
+ "sqlServer": "DisciplineIncidentParticipationCodeDescriptorId",
+ "postgreSql": "DisciplineIncidentParticipationCodeDescriptorId"
+ }
+ }
+ ],
+ "isIdentifying": true,
+ "isRequired": true,
+ "constraintNames": {
+ "sqlServer": "FK_DisciplineIncidentParticipationCodeDescriptor_Descriptor",
+ "postgreSql": "FK_923786_Descriptor"
+ },
+ "potentiallyLogical": false
+ },
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_DisciplineIncidentWeapon_DisciplineIncident"
+ },
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "DisciplineIncident"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "IncidentIdentifier",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 0,
+ "maxLength": 36,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A locally assigned unique identifier (within the school or school district) to identify each specific DisciplineIncident or occurrence. The same identifier should be used to document the entire discipline incident even if it included multiple offenses and multiple offenders.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "IncidentIdentifier",
+ "postgreSql": "IncidentIdentifier"
+ }
+ },
+ {
+ "propertyName": "SchoolId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to a school. It must be distinct from any other identifier assigned to educational organizations, such as a LocalEducationAgencyId, to prevent duplication.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SchoolId",
+ "postgreSql": "SchoolId"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "DisciplineIncidentWeapon"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "IncidentIdentifier",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 0,
+ "maxLength": 36,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A locally assigned unique identifier (within the school or school district) to identify each specific DisciplineIncident or occurrence. The same identifier should be used to document the entire discipline incident even if it included multiple offenses and multiple offenders.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "IncidentIdentifier",
+ "postgreSql": "IncidentIdentifier"
+ }
+ },
+ {
+ "propertyName": "SchoolId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to a school. It must be distinct from any other identifier assigned to educational organizations, such as a LocalEducationAgencyId, to prevent duplication.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SchoolId",
+ "postgreSql": "SchoolId"
+ }
+ }
+ ],
+ "isIdentifying": true,
+ "isRequired": true,
+ "constraintNames": {
+ "sqlServer": "FK_DisciplineIncidentWeapon_DisciplineIncident",
+ "postgreSql": "FK_a545e5_DisciplineIncident"
+ },
+ "potentiallyLogical": false
+ },
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_DisciplineIncidentWeapon_WeaponDescriptor"
+ },
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "WeaponDescriptor"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "WeaponDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "WeaponDescriptorId",
+ "postgreSql": "WeaponDescriptorId"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "DisciplineIncidentWeapon"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "WeaponDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "Identifies the type of weapon used during an incident. The Federal Gun-Free Schools Act requires states to report the number of students expelled for bringing firearms to school by type of firearm.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "WeaponDescriptorId",
+ "postgreSql": "WeaponDescriptorId"
+ }
+ }
+ ],
+ "isIdentifying": true,
+ "isRequired": true,
+ "constraintNames": {
+ "sqlServer": "FK_DisciplineIncidentWeapon_WeaponDescriptor",
+ "postgreSql": "FK_a545e5_WeaponDescriptor"
+ },
+ "potentiallyLogical": false
+ },
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_DisplacedStudentStatusDescriptor_Descriptor"
+ },
+ "cardinality": "OneToOneInheritance",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "Descriptor"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "DescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
+ "isIdentifying": true,
+ "isServerAssigned": true,
+ "columnNames": {
+ "sqlServer": "DescriptorId",
+ "postgreSql": "DescriptorId"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "DisplacedStudentStatusDescriptor"
},
"secondaryEntityProperties": [
{
- "propertyName": "DisciplineIncidentParticipationCodeDescriptorId",
+ "propertyName": "DisplacedStudentStatusDescriptorId",
"propertyType": {
"dbType": "Int32",
"maxLength": 0,
@@ -72890,128 +73302,32 @@
"isIdentifying": true,
"isServerAssigned": true,
"columnNames": {
- "sqlServer": "DisciplineIncidentParticipationCodeDescriptorId",
- "postgreSql": "DisciplineIncidentParticipationCodeDescriptorId"
- }
- }
- ],
- "isIdentifying": true,
- "isRequired": true,
- "constraintNames": {
- "sqlServer": "FK_DisciplineIncidentParticipationCodeDescriptor_Descriptor",
- "postgreSql": "FK_923786_Descriptor"
- },
- "potentiallyLogical": false
- },
- {
- "fullName": {
- "schema": "edfi",
- "name": "FK_DisciplineIncidentWeapon_DisciplineIncident"
- },
- "cardinality": "OneToZeroOrMore",
- "primaryEntityFullName": {
- "schema": "edfi",
- "name": "DisciplineIncident"
- },
- "primaryEntityProperties": [
- {
- "propertyName": "IncidentIdentifier",
- "propertyType": {
- "dbType": "String",
- "minLength": 0,
- "maxLength": 36,
- "precision": 0,
- "scale": 0,
- "isNullable": false
- },
- "description": "A locally assigned unique identifier (within the school or school district) to identify each specific DisciplineIncident or occurrence. The same identifier should be used to document the entire discipline incident even if it included multiple offenses and multiple offenders.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "IncidentIdentifier",
- "postgreSql": "IncidentIdentifier"
- }
- },
- {
- "propertyName": "SchoolId",
- "propertyType": {
- "dbType": "Int64",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "The identifier assigned to a school. It must be distinct from any other identifier assigned to educational organizations, such as a LocalEducationAgencyId, to prevent duplication.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "SchoolId",
- "postgreSql": "SchoolId"
- }
- }
- ],
- "secondaryEntityFullName": {
- "schema": "edfi",
- "name": "DisciplineIncidentWeapon"
- },
- "secondaryEntityProperties": [
- {
- "propertyName": "IncidentIdentifier",
- "propertyType": {
- "dbType": "String",
- "minLength": 0,
- "maxLength": 36,
- "precision": 0,
- "scale": 0,
- "isNullable": false
- },
- "description": "A locally assigned unique identifier (within the school or school district) to identify each specific DisciplineIncident or occurrence. The same identifier should be used to document the entire discipline incident even if it included multiple offenses and multiple offenders.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "IncidentIdentifier",
- "postgreSql": "IncidentIdentifier"
- }
- },
- {
- "propertyName": "SchoolId",
- "propertyType": {
- "dbType": "Int64",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "The identifier assigned to a school. It must be distinct from any other identifier assigned to educational organizations, such as a LocalEducationAgencyId, to prevent duplication.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "SchoolId",
- "postgreSql": "SchoolId"
+ "sqlServer": "DisplacedStudentStatusDescriptorId",
+ "postgreSql": "DisplacedStudentStatusDescriptorId"
}
}
],
"isIdentifying": true,
"isRequired": true,
"constraintNames": {
- "sqlServer": "FK_DisciplineIncidentWeapon_DisciplineIncident",
- "postgreSql": "FK_a545e5_DisciplineIncident"
+ "sqlServer": "FK_DisplacedStudentStatusDescriptor_Descriptor",
+ "postgreSql": "FK_fa1717_Descriptor"
},
"potentiallyLogical": false
},
{
"fullName": {
"schema": "edfi",
- "name": "FK_DisciplineIncidentWeapon_WeaponDescriptor"
+ "name": "FK_DualCreditInstitutionDescriptor_Descriptor"
},
- "cardinality": "OneToZeroOrMore",
+ "cardinality": "OneToOneInheritance",
"primaryEntityFullName": {
"schema": "edfi",
- "name": "WeaponDescriptor"
+ "name": "Descriptor"
},
"primaryEntityProperties": [
{
- "propertyName": "WeaponDescriptorId",
+ "propertyName": "DescriptorId",
"propertyType": {
"dbType": "Int32",
"maxLength": 0,
@@ -73021,20 +73337,20 @@
},
"description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
"isIdentifying": true,
- "isServerAssigned": false,
+ "isServerAssigned": true,
"columnNames": {
- "sqlServer": "WeaponDescriptorId",
- "postgreSql": "WeaponDescriptorId"
+ "sqlServer": "DescriptorId",
+ "postgreSql": "DescriptorId"
}
}
],
"secondaryEntityFullName": {
"schema": "edfi",
- "name": "DisciplineIncidentWeapon"
+ "name": "DualCreditInstitutionDescriptor"
},
"secondaryEntityProperties": [
{
- "propertyName": "WeaponDescriptorId",
+ "propertyName": "DualCreditInstitutionDescriptorId",
"propertyType": {
"dbType": "Int32",
"maxLength": 0,
@@ -73042,27 +73358,27 @@
"scale": 0,
"isNullable": false
},
- "description": "Identifies the type of weapon used during an incident. The Federal Gun-Free Schools Act requires states to report the number of students expelled for bringing firearms to school by type of firearm.",
+ "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
"isIdentifying": true,
- "isServerAssigned": false,
+ "isServerAssigned": true,
"columnNames": {
- "sqlServer": "WeaponDescriptorId",
- "postgreSql": "WeaponDescriptorId"
+ "sqlServer": "DualCreditInstitutionDescriptorId",
+ "postgreSql": "DualCreditInstitutionDescriptorId"
}
}
],
"isIdentifying": true,
"isRequired": true,
"constraintNames": {
- "sqlServer": "FK_DisciplineIncidentWeapon_WeaponDescriptor",
- "postgreSql": "FK_a545e5_WeaponDescriptor"
+ "sqlServer": "FK_DualCreditInstitutionDescriptor_Descriptor",
+ "postgreSql": "FK_18fe53_Descriptor"
},
"potentiallyLogical": false
},
{
"fullName": {
"schema": "edfi",
- "name": "FK_DisplacedStudentStatusDescriptor_Descriptor"
+ "name": "FK_DualCreditTypeDescriptor_Descriptor"
},
"cardinality": "OneToOneInheritance",
"primaryEntityFullName": {
@@ -73090,11 +73406,11 @@
],
"secondaryEntityFullName": {
"schema": "edfi",
- "name": "DisplacedStudentStatusDescriptor"
+ "name": "DualCreditTypeDescriptor"
},
"secondaryEntityProperties": [
{
- "propertyName": "DisplacedStudentStatusDescriptorId",
+ "propertyName": "DualCreditTypeDescriptorId",
"propertyType": {
"dbType": "Int32",
"maxLength": 0,
@@ -73106,16 +73422,16 @@
"isIdentifying": true,
"isServerAssigned": true,
"columnNames": {
- "sqlServer": "DisplacedStudentStatusDescriptorId",
- "postgreSql": "DisplacedStudentStatusDescriptorId"
+ "sqlServer": "DualCreditTypeDescriptorId",
+ "postgreSql": "DualCreditTypeDescriptorId"
}
}
],
"isIdentifying": true,
"isRequired": true,
"constraintNames": {
- "sqlServer": "FK_DisplacedStudentStatusDescriptor_Descriptor",
- "postgreSql": "FK_fa1717_Descriptor"
+ "sqlServer": "FK_DualCreditTypeDescriptor_Descriptor",
+ "postgreSql": "FK_0ccb1b_Descriptor"
},
"potentiallyLogical": false
},
@@ -104784,7 +105100,7 @@
{
"fullName": {
"schema": "edfi",
- "name": "FK_Section504DisabilityTypeDescriptor_Descriptor"
+ "name": "FK_Section504DisabilityDescriptor_Descriptor"
},
"cardinality": "OneToOneInheritance",
"primaryEntityFullName": {
@@ -104812,11 +105128,11 @@
],
"secondaryEntityFullName": {
"schema": "edfi",
- "name": "Section504DisabilityTypeDescriptor"
+ "name": "Section504DisabilityDescriptor"
},
"secondaryEntityProperties": [
{
- "propertyName": "Section504DisabilityTypeDescriptorId",
+ "propertyName": "Section504DisabilityDescriptorId",
"propertyType": {
"dbType": "Int32",
"maxLength": 0,
@@ -104828,16 +105144,16 @@
"isIdentifying": true,
"isServerAssigned": true,
"columnNames": {
- "sqlServer": "Section504DisabilityTypeDescriptorId",
- "postgreSql": "Section504DisabilityTypeDescriptorId"
+ "sqlServer": "Section504DisabilityDescriptorId",
+ "postgreSql": "Section504DisabilityDescriptorId"
}
}
],
"isIdentifying": true,
"isRequired": true,
"constraintNames": {
- "sqlServer": "FK_Section504DisabilityTypeDescriptor_Descriptor",
- "postgreSql": "FK_e7f766_Descriptor"
+ "sqlServer": "FK_Section504DisabilityDescriptor_Descriptor",
+ "postgreSql": "FK_bfdfd9_Descriptor"
},
"potentiallyLogical": false
},
@@ -121076,7 +121392,7 @@
"isNullable": false
},
"description": "The identifier assigned to an education organization.",
- "isIdentifying": true,
+ "isIdentifying": false,
"isServerAssigned": false,
"columnNames": {
"sqlServer": "EducationOrganizationId",
@@ -121093,7 +121409,7 @@
"isNullable": false
},
"description": "A unique alphanumeric code assigned to a student.",
- "isIdentifying": true,
+ "isIdentifying": false,
"isServerAssigned": false,
"columnNames": {
"sqlServer": "StudentUSI",
@@ -121107,42 +121423,42 @@
},
"secondaryEntityProperties": [
{
- "propertyName": "EducationOrganizationId",
+ "propertyName": "ScheduledEducationOrganizationId",
"propertyType": {
"dbType": "Int64",
"maxLength": 0,
"precision": 10,
"scale": 0,
- "isNullable": false
+ "isNullable": true
},
"description": "The identifier assigned to an education organization.",
- "isIdentifying": true,
+ "isIdentifying": false,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "EducationOrganizationId",
- "postgreSql": "EducationOrganizationId"
+ "sqlServer": "ScheduledEducationOrganizationId",
+ "postgreSql": "ScheduledEducationOrganizationId"
}
},
{
- "propertyName": "StudentUSI",
+ "propertyName": "ScheduledStudentUSI",
"propertyType": {
"dbType": "Int32",
"maxLength": 0,
"precision": 10,
"scale": 0,
- "isNullable": false
+ "isNullable": true
},
"description": "A unique alphanumeric code assigned to a student.",
- "isIdentifying": true,
+ "isIdentifying": false,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "StudentUSI",
- "postgreSql": "StudentUSI"
+ "sqlServer": "ScheduledStudentUSI",
+ "postgreSql": "ScheduledStudentUSI"
}
}
],
- "isIdentifying": true,
- "isRequired": true,
+ "isIdentifying": false,
+ "isRequired": false,
"constraintNames": {
"sqlServer": "FK_StudentAssessmentRegistration_StudentEducationOrganizationAssessmentAccommodation",
"postgreSql": "FK_79fd6b_StudentEducationOrganizationAssessmentAccommodation"
@@ -126931,75 +127247,239 @@
"isIdentifying": true,
"isRequired": true,
"constraintNames": {
- "sqlServer": "FK_StudentDisciplineIncidentBehaviorAssociation_Student",
- "postgreSql": "FK_f4934f_Student"
- },
- "potentiallyLogical": false
- },
- {
- "fullName": {
- "schema": "edfi",
- "name": "FK_StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_DisciplineIncidentParticipationCodeDescriptor"
- },
- "cardinality": "OneToZeroOrMore",
- "primaryEntityFullName": {
- "schema": "edfi",
- "name": "DisciplineIncidentParticipationCodeDescriptor"
- },
- "primaryEntityProperties": [
- {
- "propertyName": "DisciplineIncidentParticipationCodeDescriptorId",
- "propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "DisciplineIncidentParticipationCodeDescriptorId",
- "postgreSql": "DisciplineIncidentParticipationCodeDescriptorId"
- }
- }
- ],
- "secondaryEntityFullName": {
- "schema": "edfi",
- "name": "StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode"
- },
- "secondaryEntityProperties": [
- {
- "propertyName": "DisciplineIncidentParticipationCodeDescriptorId",
- "propertyType": {
- "dbType": "Int32",
- "maxLength": 0,
- "precision": 10,
- "scale": 0,
- "isNullable": false
- },
- "description": "The role or type of participation of a student in a discipline incident.",
- "isIdentifying": true,
- "isServerAssigned": false,
- "columnNames": {
- "sqlServer": "DisciplineIncidentParticipationCodeDescriptorId",
- "postgreSql": "DisciplineIncidentParticipationCodeDescriptorId"
- }
- }
- ],
- "isIdentifying": true,
- "isRequired": true,
- "constraintNames": {
- "sqlServer": "FK_StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_DisciplineIncidentParticipationCodeDescriptor",
- "postgreSql": "FK_ae6a21_DisciplineIncidentParticipationCodeDescriptor"
+ "sqlServer": "FK_StudentDisciplineIncidentBehaviorAssociation_Student",
+ "postgreSql": "FK_f4934f_Student"
+ },
+ "potentiallyLogical": false
+ },
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_DisciplineIncidentParticipationCodeDescriptor"
+ },
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "DisciplineIncidentParticipationCodeDescriptor"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "DisciplineIncidentParticipationCodeDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "DisciplineIncidentParticipationCodeDescriptorId",
+ "postgreSql": "DisciplineIncidentParticipationCodeDescriptorId"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "DisciplineIncidentParticipationCodeDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The role or type of participation of a student in a discipline incident.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "DisciplineIncidentParticipationCodeDescriptorId",
+ "postgreSql": "DisciplineIncidentParticipationCodeDescriptorId"
+ }
+ }
+ ],
+ "isIdentifying": true,
+ "isRequired": true,
+ "constraintNames": {
+ "sqlServer": "FK_StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_DisciplineIncidentParticipationCodeDescriptor",
+ "postgreSql": "FK_ae6a21_DisciplineIncidentParticipationCodeDescriptor"
+ },
+ "potentiallyLogical": false
+ },
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_StudentDisciplineIncidentBehaviorAssociation"
+ },
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "StudentDisciplineIncidentBehaviorAssociation"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "BehaviorDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "Describes behavior by category.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "BehaviorDescriptorId",
+ "postgreSql": "BehaviorDescriptorId"
+ }
+ },
+ {
+ "propertyName": "IncidentIdentifier",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 0,
+ "maxLength": 36,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A locally assigned unique identifier (within the school or school district) to identify each specific DisciplineIncident or occurrence. The same identifier should be used to document the entire discipline incident even if it included multiple offenses and multiple offenders.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "IncidentIdentifier",
+ "postgreSql": "IncidentIdentifier"
+ }
+ },
+ {
+ "propertyName": "SchoolId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to a school. It must be distinct from any other identifier assigned to educational organizations, such as a LocalEducationAgencyId, to prevent duplication.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SchoolId",
+ "postgreSql": "SchoolId"
+ }
+ },
+ {
+ "propertyName": "StudentUSI",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique alphanumeric code assigned to a student.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "StudentUSI",
+ "postgreSql": "StudentUSI"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "BehaviorDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "Describes behavior by category.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "BehaviorDescriptorId",
+ "postgreSql": "BehaviorDescriptorId"
+ }
+ },
+ {
+ "propertyName": "IncidentIdentifier",
+ "propertyType": {
+ "dbType": "String",
+ "minLength": 0,
+ "maxLength": 36,
+ "precision": 0,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A locally assigned unique identifier (within the school or school district) to identify each specific DisciplineIncident or occurrence. The same identifier should be used to document the entire discipline incident even if it included multiple offenses and multiple offenders.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "IncidentIdentifier",
+ "postgreSql": "IncidentIdentifier"
+ }
+ },
+ {
+ "propertyName": "SchoolId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to a school. It must be distinct from any other identifier assigned to educational organizations, such as a LocalEducationAgencyId, to prevent duplication.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "SchoolId",
+ "postgreSql": "SchoolId"
+ }
+ },
+ {
+ "propertyName": "StudentUSI",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique alphanumeric code assigned to a student.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "StudentUSI",
+ "postgreSql": "StudentUSI"
+ }
+ }
+ ],
+ "isIdentifying": true,
+ "isRequired": true,
+ "constraintNames": {
+ "sqlServer": "FK_StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_StudentDisciplineIncidentBehaviorAssociation",
+ "postgreSql": "FK_ae6a21_StudentDisciplineIncidentBehaviorAssociation"
},
"potentiallyLogical": false
},
{
"fullName": {
"schema": "edfi",
- "name": "FK_StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_StudentDisciplineIncidentBehaviorAssociation"
+ "name": "FK_StudentDisciplineIncidentBehaviorAssociationWeapon_StudentDisciplineIncidentBehaviorAssociation"
},
"cardinality": "OneToZeroOrMore",
"primaryEntityFullName": {
@@ -127079,7 +127559,7 @@
],
"secondaryEntityFullName": {
"schema": "edfi",
- "name": "StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode"
+ "name": "StudentDisciplineIncidentBehaviorAssociationWeapon"
},
"secondaryEntityProperties": [
{
@@ -127155,8 +127635,68 @@
"isIdentifying": true,
"isRequired": true,
"constraintNames": {
- "sqlServer": "FK_StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_StudentDisciplineIncidentBehaviorAssociation",
- "postgreSql": "FK_ae6a21_StudentDisciplineIncidentBehaviorAssociation"
+ "sqlServer": "FK_StudentDisciplineIncidentBehaviorAssociationWeapon_StudentDisciplineIncidentBehaviorAssociation",
+ "postgreSql": "FK_459d56_StudentDisciplineIncidentBehaviorAssociation"
+ },
+ "potentiallyLogical": false
+ },
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_StudentDisciplineIncidentBehaviorAssociationWeapon_WeaponDescriptor"
+ },
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "WeaponDescriptor"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "WeaponDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "WeaponDescriptorId",
+ "postgreSql": "WeaponDescriptorId"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "StudentDisciplineIncidentBehaviorAssociationWeapon"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "WeaponDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "Identifies the type(s) of weapon used by the student during a discipline incident. The Federal Gun-Free Schools Act requires states to report the number of students expelled for bringing firearms to school by type of firearm.",
+ "isIdentifying": true,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "WeaponDescriptorId",
+ "postgreSql": "WeaponDescriptorId"
+ }
+ }
+ ],
+ "isIdentifying": true,
+ "isRequired": true,
+ "constraintNames": {
+ "sqlServer": "FK_StudentDisciplineIncidentBehaviorAssociationWeapon_WeaponDescriptor",
+ "postgreSql": "FK_459d56_WeaponDescriptor"
},
"potentiallyLogical": false
},
@@ -143128,16 +143668,16 @@
{
"fullName": {
"schema": "edfi",
- "name": "FK_StudentSection504ProgramAssociation_Section504DisabilityTypeDescriptor"
+ "name": "FK_StudentSection504ProgramAssociation_Section504DisabilityDescriptor"
},
"cardinality": "OneToZeroOrMore",
"primaryEntityFullName": {
"schema": "edfi",
- "name": "Section504DisabilityTypeDescriptor"
+ "name": "Section504DisabilityDescriptor"
},
"primaryEntityProperties": [
{
- "propertyName": "Section504DisabilityTypeDescriptorId",
+ "propertyName": "Section504DisabilityDescriptorId",
"propertyType": {
"dbType": "Int32",
"maxLength": 0,
@@ -143149,8 +143689,8 @@
"isIdentifying": false,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "Section504DisabilityTypeDescriptorId",
- "postgreSql": "Section504DisabilityTypeDescriptorId"
+ "sqlServer": "Section504DisabilityDescriptorId",
+ "postgreSql": "Section504DisabilityDescriptorId"
}
}
],
@@ -143160,7 +143700,7 @@
},
"secondaryEntityProperties": [
{
- "propertyName": "Section504DisabilityTypeDescriptorId",
+ "propertyName": "Section504DisabilityDescriptorId",
"propertyType": {
"dbType": "Int32",
"maxLength": 0,
@@ -143172,16 +143712,16 @@
"isIdentifying": false,
"isServerAssigned": false,
"columnNames": {
- "sqlServer": "Section504DisabilityTypeDescriptorId",
- "postgreSql": "Section504DisabilityTypeDescriptorId"
+ "sqlServer": "Section504DisabilityDescriptorId",
+ "postgreSql": "Section504DisabilityDescriptorId"
}
}
],
"isIdentifying": false,
"isRequired": false,
"constraintNames": {
- "sqlServer": "FK_StudentSection504ProgramAssociation_Section504DisabilityTypeDescriptor",
- "postgreSql": "FK_6e41ee_Section504DisabilityTypeDescriptor"
+ "sqlServer": "FK_StudentSection504ProgramAssociation_Section504DisabilityDescriptor",
+ "postgreSql": "FK_6e41ee_Section504DisabilityDescriptor"
},
"potentiallyLogical": false
},
@@ -143245,6 +143785,186 @@
},
"potentiallyLogical": false
},
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_StudentSectionAssociation_DualCreditInstitutionDescriptor"
+ },
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "DualCreditInstitutionDescriptor"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "DualCreditInstitutionDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "DualCreditInstitutionDescriptorId",
+ "postgreSql": "DualCreditInstitutionDescriptorId"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "StudentSectionAssociation"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "DualCreditInstitutionDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": true
+ },
+ "description": "Descriptor for the postsecondary institution offering college credit. This descriptor may be used to select a postsecondary institution that is not defined as an education organization, and/or select a general type of postsecondary institution.",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "DualCreditInstitutionDescriptorId",
+ "postgreSql": "DualCreditInstitutionDescriptorId"
+ }
+ }
+ ],
+ "isIdentifying": false,
+ "isRequired": false,
+ "constraintNames": {
+ "sqlServer": "FK_StudentSectionAssociation_DualCreditInstitutionDescriptor",
+ "postgreSql": "FK_39aa3c_DualCreditInstitutionDescriptor"
+ },
+ "potentiallyLogical": false
+ },
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_StudentSectionAssociation_DualCreditTypeDescriptor"
+ },
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "DualCreditTypeDescriptor"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "DualCreditTypeDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "DualCreditTypeDescriptorId",
+ "postgreSql": "DualCreditTypeDescriptorId"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "StudentSectionAssociation"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "DualCreditTypeDescriptorId",
+ "propertyType": {
+ "dbType": "Int32",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": true
+ },
+ "description": "For a student taking a dual credit course in a college or high school setting, indicates the type of dual credit program.",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "DualCreditTypeDescriptorId",
+ "postgreSql": "DualCreditTypeDescriptorId"
+ }
+ }
+ ],
+ "isIdentifying": false,
+ "isRequired": false,
+ "constraintNames": {
+ "sqlServer": "FK_StudentSectionAssociation_DualCreditTypeDescriptor",
+ "postgreSql": "FK_39aa3c_DualCreditTypeDescriptor"
+ },
+ "potentiallyLogical": false
+ },
+ {
+ "fullName": {
+ "schema": "edfi",
+ "name": "FK_StudentSectionAssociation_EducationOrganization"
+ },
+ "cardinality": "OneToZeroOrMore",
+ "primaryEntityFullName": {
+ "schema": "edfi",
+ "name": "EducationOrganization"
+ },
+ "primaryEntityProperties": [
+ {
+ "propertyName": "EducationOrganizationId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": false
+ },
+ "description": "The identifier assigned to an education organization.",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "EducationOrganizationId",
+ "postgreSql": "EducationOrganizationId"
+ }
+ }
+ ],
+ "secondaryEntityFullName": {
+ "schema": "edfi",
+ "name": "StudentSectionAssociation"
+ },
+ "secondaryEntityProperties": [
+ {
+ "propertyName": "DualCreditEducationOrganizationId",
+ "propertyType": {
+ "dbType": "Int64",
+ "maxLength": 0,
+ "precision": 10,
+ "scale": 0,
+ "isNullable": true
+ },
+ "description": "The identifier assigned to an education organization.",
+ "isIdentifying": false,
+ "isServerAssigned": false,
+ "columnNames": {
+ "sqlServer": "DualCreditEducationOrganizationId",
+ "postgreSql": "DualCreditEducationOrganizationId"
+ }
+ }
+ ],
+ "isIdentifying": false,
+ "isRequired": false,
+ "constraintNames": {
+ "sqlServer": "FK_StudentSectionAssociation_EducationOrganization",
+ "postgreSql": "FK_39aa3c_EducationOrganization"
+ },
+ "potentiallyLogical": false
+ },
{
"fullName": {
"schema": "edfi",
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Data/Security/2200-AssessmentRegistration-security-metadata.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Data/Security/2200-AssessmentRegistration-security-metadata.sql
index a2dabcdbf2..b87acff655 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Data/Security/2200-AssessmentRegistration-security-metadata.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Data/Security/2200-AssessmentRegistration-security-metadata.sql
@@ -68,18 +68,7 @@ BEGIN
SET @claimId = SCOPE_IDENTITY()
END
- ELSE
- BEGIN
- IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL)
- BEGIN
- PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')'
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = @parentResourceClaimId
- WHERE ResourceClaimId = @claimId
- END
- END
-
+
-- Setting default authorization metadata
PRINT 'Deleting default action authorizations for resource claim ''' + @claimName + ''' (claimId=' + CONVERT(nvarchar, @claimId) + ').'
@@ -505,18 +494,7 @@ BEGIN
SET @claimId = SCOPE_IDENTITY()
END
- ELSE
- BEGIN
- IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL)
- BEGIN
- PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')'
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = @parentResourceClaimId
- WHERE ResourceClaimId = @claimId
- END
- END
-
+
----------------------------------------------------------------------------------------------------------------------------
-- Resource Claim: 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationAssessmentAdminstrationPeriod'
----------------------------------------------------------------------------------------------------------------------------
@@ -540,18 +518,7 @@ BEGIN
SET @claimId = SCOPE_IDENTITY()
END
- ELSE
- BEGIN
- IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL)
- BEGIN
- PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')'
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = @parentResourceClaimId
- WHERE ResourceClaimId = @claimId
- END
- END
-
+
----------------------------------------------------------------------------------------------------------------------------
-- Resource Claim: 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationAssessmentBatteryPart'
----------------------------------------------------------------------------------------------------------------------------
@@ -575,18 +542,7 @@ BEGIN
SET @claimId = SCOPE_IDENTITY()
END
- ELSE
- BEGIN
- IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL)
- BEGIN
- PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')'
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = @parentResourceClaimId
- WHERE ResourceClaimId = @claimId
- END
- END
-
+
----------------------------------------------------------------------------------------------------------------------------
-- Resource Claim: 'http://ed-fi.org/ods/identity/claims/assessmentBatteryPart'
----------------------------------------------------------------------------------------------------------------------------
@@ -610,18 +566,7 @@ BEGIN
SET @claimId = SCOPE_IDENTITY()
END
- ELSE
- BEGIN
- IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL)
- BEGIN
- PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')'
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = @parentResourceClaimId
- WHERE ResourceClaimId = @claimId
- END
- END
-
+
----------------------------------------------------------------------------------------------------------------------------
-- Resource Claim: 'http://ed-fi.org/ods/identity/claims/assessmentBatteryPartObjectiveAssessment'
----------------------------------------------------------------------------------------------------------------------------
@@ -645,22 +590,11 @@ BEGIN
SET @claimId = SCOPE_IDENTITY()
END
- ELSE
- BEGIN
- IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL)
- BEGIN
- PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')'
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = @parentResourceClaimId
- WHERE ResourceClaimId = @claimId
- END
- END
-
+
----------------------------------------------------------------------------------------------------------------------------
- -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/assesssmentAdministrationParticipation'
+ -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationParticipation'
----------------------------------------------------------------------------------------------------------------------------
- SET @claimName = 'http://ed-fi.org/ods/identity/claims/assesssmentAdministrationParticipation'
+ SET @claimName = 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationParticipation'
SET @claimId = NULL
SELECT @claimId = ResourceClaimId, @existingParentResourceClaimId = ParentResourceClaimId
@@ -676,26 +610,15 @@ BEGIN
PRINT 'Creating new claim: ' + @claimName
INSERT INTO dbo.ResourceClaims(ResourceName, ClaimName, ParentResourceClaimId)
- VALUES ('assesssmentAdministrationParticipation', 'http://ed-fi.org/ods/identity/claims/assesssmentAdministrationParticipation', @parentResourceClaimId)
+ VALUES ('assessmentAdministrationParticipation', 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationParticipation', @parentResourceClaimId)
SET @claimId = SCOPE_IDENTITY()
END
- ELSE
- BEGIN
- IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL)
- BEGIN
- PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')'
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = @parentResourceClaimId
- WHERE ResourceClaimId = @claimId
- END
- END
-
+
----------------------------------------------------------------------------------------------------------------------------
- -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/assesssmentAdministrationParticipationAdministrationPointOfContact'
+ -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationParticipationAdministrationPointOfContact'
----------------------------------------------------------------------------------------------------------------------------
- SET @claimName = 'http://ed-fi.org/ods/identity/claims/assesssmentAdministrationParticipationAdministrationPointOfContact'
+ SET @claimName = 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationParticipationAdministrationPointOfContact'
SET @claimId = NULL
SELECT @claimId = ResourceClaimId, @existingParentResourceClaimId = ParentResourceClaimId
@@ -711,22 +634,11 @@ BEGIN
PRINT 'Creating new claim: ' + @claimName
INSERT INTO dbo.ResourceClaims(ResourceName, ClaimName, ParentResourceClaimId)
- VALUES ('assesssmentAdministrationParticipationAdministrationPointOfContact', 'http://ed-fi.org/ods/identity/claims/assesssmentAdministrationParticipationAdministrationPointOfContact', @parentResourceClaimId)
+ VALUES ('assessmentAdministrationParticipationAdministrationPointOfContact', 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationParticipationAdministrationPointOfContact', @parentResourceClaimId)
SET @claimId = SCOPE_IDENTITY()
END
- ELSE
- BEGIN
- IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL)
- BEGIN
- PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')'
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = @parentResourceClaimId
- WHERE ResourceClaimId = @claimId
- END
- END
-
+
----------------------------------------------------------------------------------------------------------------------------
-- Resource Claim: 'http://ed-fi.org/ods/identity/claims/studentAssessmentRegistration'
----------------------------------------------------------------------------------------------------------------------------
@@ -750,18 +662,7 @@ BEGIN
SET @claimId = SCOPE_IDENTITY()
END
- ELSE
- BEGIN
- IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL)
- BEGIN
- PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')'
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = @parentResourceClaimId
- WHERE ResourceClaimId = @claimId
- END
- END
-
+
----------------------------------------------------------------------------------------------------------------------------
-- Resource Claim: 'http://ed-fi.org/ods/identity/claims/studentAssessmentRegistrationAssessmentAccommodation'
----------------------------------------------------------------------------------------------------------------------------
@@ -785,18 +686,7 @@ BEGIN
SET @claimId = SCOPE_IDENTITY()
END
- ELSE
- BEGIN
- IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL)
- BEGIN
- PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')'
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = @parentResourceClaimId
- WHERE ResourceClaimId = @claimId
- END
- END
-
+
----------------------------------------------------------------------------------------------------------------------------
-- Resource Claim: 'http://ed-fi.org/ods/identity/claims/studentAssessmentRegistrationAssessmentCustomization'
----------------------------------------------------------------------------------------------------------------------------
@@ -820,18 +710,7 @@ BEGIN
SET @claimId = SCOPE_IDENTITY()
END
- ELSE
- BEGIN
- IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL)
- BEGIN
- PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')'
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = @parentResourceClaimId
- WHERE ResourceClaimId = @claimId
- END
- END
-
+
----------------------------------------------------------------------------------------------------------------------------
-- Resource Claim: 'http://ed-fi.org/ods/identity/claims/studentAssessmentRegistrationBatteryPartAssociation'
----------------------------------------------------------------------------------------------------------------------------
@@ -855,18 +734,7 @@ BEGIN
SET @claimId = SCOPE_IDENTITY()
END
- ELSE
- BEGIN
- IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL)
- BEGIN
- PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')'
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = @parentResourceClaimId
- WHERE ResourceClaimId = @claimId
- END
- END
-
+
----------------------------------------------------------------------------------------------------------------------------
-- Resource Claim: 'http://ed-fi.org/ods/identity/claims/studentAssessmentRegistrationBatteryPartAssociationAccommodation'
----------------------------------------------------------------------------------------------------------------------------
@@ -890,18 +758,7 @@ BEGIN
SET @claimId = SCOPE_IDENTITY()
END
- ELSE
- BEGIN
- IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL)
- BEGIN
- PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')'
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = @parentResourceClaimId
- WHERE ResourceClaimId = @claimId
- END
- END
-
+
-- Pop the stack
DELETE FROM @claimIdStack WHERE Id = (SELECT Max(Id) FROM @claimIdStack)
@@ -929,18 +786,7 @@ BEGIN
SET @claimId = SCOPE_IDENTITY()
END
- ELSE
- BEGIN
- IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL)
- BEGIN
- PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')'
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = @parentResourceClaimId
- WHERE ResourceClaimId = @claimId
- END
- END
-
+
-- Setting default authorization metadata
PRINT 'Deleting default action authorizations for resource claim ''' + @claimName + ''' (claimId=' + CONVERT(nvarchar, @claimId) + ').'
@@ -1301,9 +1147,33 @@ BEGIN
-- Processing children of http://ed-fi.org/ods/identity/claims/domains/systemDescriptors
----------------------------------------------------------------------------------------------------------------------------
- -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/Section504DisabilityTypeDescriptor'
+ -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/Section504DisabilityDescriptor'
+ ----------------------------------------------------------------------------------------------------------------------------
+ SET @claimName = 'http://ed-fi.org/ods/identity/claims/Section504DisabilityDescriptor'
+ SET @claimId = NULL
+
+ SELECT @claimId = ResourceClaimId, @existingParentResourceClaimId = ParentResourceClaimId
+ FROM dbo.ResourceClaims
+ WHERE ClaimName = @claimName
+
+ SELECT @parentResourceClaimId = ResourceClaimId
+ FROM @claimIdStack
+ WHERE Id = (SELECT Max(Id) FROM @claimIdStack)
+
+ IF @claimId IS NULL
+ BEGIN
+ PRINT 'Creating new claim: ' + @claimName
+
+ INSERT INTO dbo.ResourceClaims(ResourceName, ClaimName, ParentResourceClaimId)
+ VALUES ('Section504DisabilityDescriptor', 'http://ed-fi.org/ods/identity/claims/Section504DisabilityDescriptor', @parentResourceClaimId)
+
+ SET @claimId = SCOPE_IDENTITY()
+ END
+
+ ----------------------------------------------------------------------------------------------------------------------------
+ -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/DualCreditTypeDescriptor'
----------------------------------------------------------------------------------------------------------------------------
- SET @claimName = 'http://ed-fi.org/ods/identity/claims/Section504DisabilityTypeDescriptor'
+ SET @claimName = 'http://ed-fi.org/ods/identity/claims/DualCreditTypeDescriptor'
SET @claimId = NULL
SELECT @claimId = ResourceClaimId, @existingParentResourceClaimId = ParentResourceClaimId
@@ -1319,22 +1189,35 @@ BEGIN
PRINT 'Creating new claim: ' + @claimName
INSERT INTO dbo.ResourceClaims(ResourceName, ClaimName, ParentResourceClaimId)
- VALUES ('Section504DisabilityTypeDescriptor', 'http://ed-fi.org/ods/identity/claims/Section504DisabilityTypeDescriptor', @parentResourceClaimId)
+ VALUES ('DualCreditTypeDescriptor', 'http://ed-fi.org/ods/identity/claims/DualCreditTypeDescriptor', @parentResourceClaimId)
SET @claimId = SCOPE_IDENTITY()
END
- ELSE
+
+ ----------------------------------------------------------------------------------------------------------------------------
+ -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/DualCreditInstitutionDescriptor'
+ ----------------------------------------------------------------------------------------------------------------------------
+ SET @claimName = 'http://ed-fi.org/ods/identity/claims/DualCreditInstitutionDescriptor'
+ SET @claimId = NULL
+
+ SELECT @claimId = ResourceClaimId, @existingParentResourceClaimId = ParentResourceClaimId
+ FROM dbo.ResourceClaims
+ WHERE ClaimName = @claimName
+
+ SELECT @parentResourceClaimId = ResourceClaimId
+ FROM @claimIdStack
+ WHERE Id = (SELECT Max(Id) FROM @claimIdStack)
+
+ IF @claimId IS NULL
BEGIN
- IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL)
- BEGIN
- PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')'
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = @parentResourceClaimId
- WHERE ResourceClaimId = @claimId
- END
+ PRINT 'Creating new claim: ' + @claimName
+
+ INSERT INTO dbo.ResourceClaims(ResourceName, ClaimName, ParentResourceClaimId)
+ VALUES ('DualCreditInstitutionDescriptor', 'http://ed-fi.org/ods/identity/claims/DualCreditInstitutionDescriptor', @parentResourceClaimId)
+
+ SET @claimId = SCOPE_IDENTITY()
END
-
+
-- Pop the stack
DELETE FROM @claimIdStack WHERE Id = (SELECT Max(Id) FROM @claimIdStack)
@@ -1362,18 +1245,7 @@ BEGIN
SET @claimId = SCOPE_IDENTITY()
END
- ELSE
- BEGIN
- IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL)
- BEGIN
- PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')'
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = @parentResourceClaimId
- WHERE ResourceClaimId = @claimId
- END
- END
-
+
-- Setting default authorization metadata
PRINT 'Deleting default action authorizations for resource claim ''' + @claimName + ''' (claimId=' + CONVERT(nvarchar, @claimId) + ').'
@@ -1727,18 +1599,7 @@ BEGIN
SET @claimId = SCOPE_IDENTITY()
END
- ELSE
- BEGIN
- IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL)
- BEGIN
- PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')'
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = @parentResourceClaimId
- WHERE ResourceClaimId = @claimId
- END
- END
-
+
-- Pop the stack
DELETE FROM @claimIdStack WHERE Id = (SELECT Max(Id) FROM @claimIdStack)
@@ -1766,18 +1627,7 @@ BEGIN
SET @claimId = SCOPE_IDENTITY()
END
- ELSE
- BEGIN
- IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL)
- BEGIN
- PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')'
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = @parentResourceClaimId
- WHERE ResourceClaimId = @claimId
- END
- END
-
+
-- Setting default authorization metadata
PRINT 'Deleting default action authorizations for resource claim ''' + @claimName + ''' (claimId=' + CONVERT(nvarchar, @claimId) + ').'
@@ -2170,18 +2020,7 @@ BEGIN
SET @claimId = SCOPE_IDENTITY()
END
- ELSE
- BEGIN
- IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL)
- BEGIN
- PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')'
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = @parentResourceClaimId
- WHERE ResourceClaimId = @claimId
- END
- END
-
+
----------------------------------------------------------------------------------------------------------------------------
-- Resource Claim: 'http://ed-fi.org/ods/identity/claims/studentEducationOrganizationAssessmentAccommodationGeneralAccommodation'
----------------------------------------------------------------------------------------------------------------------------
@@ -2205,18 +2044,7 @@ BEGIN
SET @claimId = SCOPE_IDENTITY()
END
- ELSE
- BEGIN
- IF @parentResourceClaimId != @existingParentResourceClaimId OR (@parentResourceClaimId IS NULL AND @existingParentResourceClaimId IS NOT NULL) OR (@parentResourceClaimId IS NOT NULL AND @existingParentResourceClaimId IS NULL)
- BEGIN
- PRINT 'Repointing claim ''' + @claimName + ''' (ResourceClaimId=' + CONVERT(nvarchar, @claimId) + ') to new parent (ResourceClaimId=' + CONVERT(nvarchar, @parentResourceClaimId) + ')'
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = @parentResourceClaimId
- WHERE ResourceClaimId = @claimId
- END
- END
-
+
-- Pop the stack
DELETE FROM @claimIdStack WHERE Id = (SELECT Max(Id) FROM @claimIdStack)
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Data/Security/2200-AssessmentRegistration-security-metadata.xml b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Data/Security/2200-AssessmentRegistration-security-metadata.xml
index a42736fe8f..f947de2d03 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Data/Security/2200-AssessmentRegistration-security-metadata.xml
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Data/Security/2200-AssessmentRegistration-security-metadata.xml
@@ -63,8 +63,8 @@
-
-
+
+
@@ -130,7 +130,9 @@
-
+
+
+
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0020-Tables.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0020-Tables.sql
index 916d0c540b..32fe4b5872 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0020-Tables.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0020-Tables.sql
@@ -225,45 +225,99 @@ GO
ALTER TABLE [edfi].[AssessmentAdministration] ADD CONSTRAINT [AssessmentAdministration_DF_LastModifiedDate] DEFAULT (getutcdate()) FOR [LastModifiedDate]
GO
--- Table [edfi].[AssessmentAdministrationAssessmentAdminstrationPeriod] --
-CREATE TABLE [edfi].[AssessmentAdministrationAssessmentAdminstrationPeriod] (
+-- Table [edfi].[AssessmentAdministrationAssessmentBatteryPart] --
+CREATE TABLE [edfi].[AssessmentAdministrationAssessmentBatteryPart] (
[AdministrationIdentifier] [NVARCHAR](255) NOT NULL,
[AssessmentIdentifier] [NVARCHAR](60) NOT NULL,
[AssigningEducationOrganizationId] [BIGINT] NOT NULL,
[Namespace] [NVARCHAR](255) NOT NULL,
- [BeginDate] [DATE] NOT NULL,
- [EndDate] [DATE] NULL,
+ [AssessmentBatteryPartName] [NVARCHAR](65) NOT NULL,
[CreateDate] [DATETIME2] NOT NULL,
- CONSTRAINT [AssessmentAdministrationAssessmentAdminstrationPeriod_PK] PRIMARY KEY CLUSTERED (
+ CONSTRAINT [AssessmentAdministrationAssessmentBatteryPart_PK] PRIMARY KEY CLUSTERED (
[AdministrationIdentifier] ASC,
[AssessmentIdentifier] ASC,
[AssigningEducationOrganizationId] ASC,
[Namespace] ASC,
- [BeginDate] ASC
+ [AssessmentBatteryPartName] ASC
) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
-ALTER TABLE [edfi].[AssessmentAdministrationAssessmentAdminstrationPeriod] ADD CONSTRAINT [AssessmentAdministrationAssessmentAdminstrationPeriod_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate]
+ALTER TABLE [edfi].[AssessmentAdministrationAssessmentBatteryPart] ADD CONSTRAINT [AssessmentAdministrationAssessmentBatteryPart_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate]
GO
--- Table [edfi].[AssessmentAdministrationAssessmentBatteryPart] --
-CREATE TABLE [edfi].[AssessmentAdministrationAssessmentBatteryPart] (
+-- Table [edfi].[AssessmentAdministrationParticipation] --
+CREATE TABLE [edfi].[AssessmentAdministrationParticipation] (
[AdministrationIdentifier] [NVARCHAR](255) NOT NULL,
[AssessmentIdentifier] [NVARCHAR](60) NOT NULL,
[AssigningEducationOrganizationId] [BIGINT] NOT NULL,
[Namespace] [NVARCHAR](255) NOT NULL,
- [AssessmentBatteryPartName] [NVARCHAR](65) NOT NULL,
+ [ParticipatingEducationOrganizationId] [BIGINT] NOT NULL,
+ [Discriminator] [NVARCHAR](128) NULL,
[CreateDate] [DATETIME2] NOT NULL,
- CONSTRAINT [AssessmentAdministrationAssessmentBatteryPart_PK] PRIMARY KEY CLUSTERED (
+ [LastModifiedDate] [DATETIME2] NOT NULL,
+ [Id] [UNIQUEIDENTIFIER] NOT NULL,
+ CONSTRAINT [AssessmentAdministrationParticipation_PK] PRIMARY KEY CLUSTERED (
[AdministrationIdentifier] ASC,
[AssessmentIdentifier] ASC,
[AssigningEducationOrganizationId] ASC,
[Namespace] ASC,
- [AssessmentBatteryPartName] ASC
+ [ParticipatingEducationOrganizationId] ASC
) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
-ALTER TABLE [edfi].[AssessmentAdministrationAssessmentBatteryPart] ADD CONSTRAINT [AssessmentAdministrationAssessmentBatteryPart_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate]
+ALTER TABLE [edfi].[AssessmentAdministrationParticipation] ADD CONSTRAINT [AssessmentAdministrationParticipation_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate]
+GO
+ALTER TABLE [edfi].[AssessmentAdministrationParticipation] ADD CONSTRAINT [AssessmentAdministrationParticipation_DF_Id] DEFAULT (newid()) FOR [Id]
+GO
+ALTER TABLE [edfi].[AssessmentAdministrationParticipation] ADD CONSTRAINT [AssessmentAdministrationParticipation_DF_LastModifiedDate] DEFAULT (getutcdate()) FOR [LastModifiedDate]
+GO
+
+-- Table [edfi].[AssessmentAdministrationParticipationAdministrationPointOfContact] --
+CREATE TABLE [edfi].[AssessmentAdministrationParticipationAdministrationPointOfContact] (
+ [AdministrationIdentifier] [NVARCHAR](255) NOT NULL,
+ [AssessmentIdentifier] [NVARCHAR](60) NOT NULL,
+ [AssigningEducationOrganizationId] [BIGINT] NOT NULL,
+ [Namespace] [NVARCHAR](255) NOT NULL,
+ [ParticipatingEducationOrganizationId] [BIGINT] NOT NULL,
+ [EducationOrganizationId] [BIGINT] NOT NULL,
+ [ElectronicMailAddress] [NVARCHAR](128) NOT NULL,
+ [FirstName] [NVARCHAR](75) NOT NULL,
+ [LastSurname] [NVARCHAR](75) NOT NULL,
+ [LoginId] [NVARCHAR](60) NULL,
+ [CreateDate] [DATETIME2] NOT NULL,
+ CONSTRAINT [AssessmentAdministrationParticipationAdministrationPointOfContact_PK] PRIMARY KEY CLUSTERED (
+ [AdministrationIdentifier] ASC,
+ [AssessmentIdentifier] ASC,
+ [AssigningEducationOrganizationId] ASC,
+ [Namespace] ASC,
+ [ParticipatingEducationOrganizationId] ASC,
+ [EducationOrganizationId] ASC,
+ [ElectronicMailAddress] ASC
+ ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+ALTER TABLE [edfi].[AssessmentAdministrationParticipationAdministrationPointOfContact] ADD CONSTRAINT [AssessmentAdministrationParticipationAdministrationPointOfContact_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate]
+GO
+
+-- Table [edfi].[AssessmentAdministrationPeriod] --
+CREATE TABLE [edfi].[AssessmentAdministrationPeriod] (
+ [AdministrationIdentifier] [NVARCHAR](255) NOT NULL,
+ [AssessmentIdentifier] [NVARCHAR](60) NOT NULL,
+ [AssigningEducationOrganizationId] [BIGINT] NOT NULL,
+ [Namespace] [NVARCHAR](255) NOT NULL,
+ [BeginDate] [DATE] NOT NULL,
+ [EndDate] [DATE] NULL,
+ [CreateDate] [DATETIME2] NOT NULL,
+ CONSTRAINT [AssessmentAdministrationPeriod_PK] PRIMARY KEY CLUSTERED (
+ [AdministrationIdentifier] ASC,
+ [AssessmentIdentifier] ASC,
+ [AssigningEducationOrganizationId] ASC,
+ [Namespace] ASC,
+ [BeginDate] ASC
+ ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+ALTER TABLE [edfi].[AssessmentAdministrationPeriod] ADD CONSTRAINT [AssessmentAdministrationPeriod_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate]
GO
-- Table [edfi].[AssessmentAssessedGradeLevel] --
@@ -681,60 +735,6 @@ GO
ALTER TABLE [edfi].[AssessmentSection] ADD CONSTRAINT [AssessmentSection_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate]
GO
--- Table [edfi].[AssesssmentAdministrationParticipation] --
-CREATE TABLE [edfi].[AssesssmentAdministrationParticipation] (
- [AdministrationIdentifier] [NVARCHAR](255) NOT NULL,
- [AssessmentIdentifier] [NVARCHAR](60) NOT NULL,
- [AssigningEducationOrganizationId] [BIGINT] NOT NULL,
- [Namespace] [NVARCHAR](255) NOT NULL,
- [ParticipatingEducationOrganizationId] [BIGINT] NOT NULL,
- [Discriminator] [NVARCHAR](128) NULL,
- [CreateDate] [DATETIME2] NOT NULL,
- [LastModifiedDate] [DATETIME2] NOT NULL,
- [Id] [UNIQUEIDENTIFIER] NOT NULL,
- CONSTRAINT [AssesssmentAdministrationParticipation_PK] PRIMARY KEY CLUSTERED (
- [AdministrationIdentifier] ASC,
- [AssessmentIdentifier] ASC,
- [AssigningEducationOrganizationId] ASC,
- [Namespace] ASC,
- [ParticipatingEducationOrganizationId] ASC
- ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
-) ON [PRIMARY]
-GO
-ALTER TABLE [edfi].[AssesssmentAdministrationParticipation] ADD CONSTRAINT [AssesssmentAdministrationParticipation_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate]
-GO
-ALTER TABLE [edfi].[AssesssmentAdministrationParticipation] ADD CONSTRAINT [AssesssmentAdministrationParticipation_DF_Id] DEFAULT (newid()) FOR [Id]
-GO
-ALTER TABLE [edfi].[AssesssmentAdministrationParticipation] ADD CONSTRAINT [AssesssmentAdministrationParticipation_DF_LastModifiedDate] DEFAULT (getutcdate()) FOR [LastModifiedDate]
-GO
-
--- Table [edfi].[AssesssmentAdministrationParticipationAdministrationPointOfContact] --
-CREATE TABLE [edfi].[AssesssmentAdministrationParticipationAdministrationPointOfContact] (
- [AdministrationIdentifier] [NVARCHAR](255) NOT NULL,
- [AssessmentIdentifier] [NVARCHAR](60) NOT NULL,
- [AssigningEducationOrganizationId] [BIGINT] NOT NULL,
- [Namespace] [NVARCHAR](255) NOT NULL,
- [ParticipatingEducationOrganizationId] [BIGINT] NOT NULL,
- [EducationOrganizationId] [BIGINT] NOT NULL,
- [ElectronicMailAddress] [NVARCHAR](128) NOT NULL,
- [FirstName] [NVARCHAR](75) NOT NULL,
- [LastSurname] [NVARCHAR](75) NOT NULL,
- [LoginId] [NVARCHAR](60) NULL,
- [CreateDate] [DATETIME2] NOT NULL,
- CONSTRAINT [AssesssmentAdministrationParticipationAdministrationPointOfContact_PK] PRIMARY KEY CLUSTERED (
- [AdministrationIdentifier] ASC,
- [AssessmentIdentifier] ASC,
- [AssigningEducationOrganizationId] ASC,
- [Namespace] ASC,
- [ParticipatingEducationOrganizationId] ASC,
- [EducationOrganizationId] ASC,
- [ElectronicMailAddress] ASC
- ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
-) ON [PRIMARY]
-GO
-ALTER TABLE [edfi].[AssesssmentAdministrationParticipationAdministrationPointOfContact] ADD CONSTRAINT [AssesssmentAdministrationParticipationAdministrationPointOfContact_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate]
-GO
-
-- Table [edfi].[AssignmentLateStatusDescriptor] --
CREATE TABLE [edfi].[AssignmentLateStatusDescriptor] (
[AssignmentLateStatusDescriptorId] [INT] NOT NULL,
@@ -2610,6 +2610,24 @@ CREATE TABLE [edfi].[DisplacedStudentStatusDescriptor] (
) ON [PRIMARY]
GO
+-- Table [edfi].[DualCreditInstitutionDescriptor] --
+CREATE TABLE [edfi].[DualCreditInstitutionDescriptor] (
+ [DualCreditInstitutionDescriptorId] [INT] NOT NULL,
+ CONSTRAINT [DualCreditInstitutionDescriptor_PK] PRIMARY KEY CLUSTERED (
+ [DualCreditInstitutionDescriptorId] ASC
+ ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+
+-- Table [edfi].[DualCreditTypeDescriptor] --
+CREATE TABLE [edfi].[DualCreditTypeDescriptor] (
+ [DualCreditTypeDescriptorId] [INT] NOT NULL,
+ CONSTRAINT [DualCreditTypeDescriptor_PK] PRIMARY KEY CLUSTERED (
+ [DualCreditTypeDescriptorId] ASC
+ ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+
-- Table [edfi].[EducationalEnvironmentDescriptor] --
CREATE TABLE [edfi].[EducationalEnvironmentDescriptor] (
[EducationalEnvironmentDescriptorId] [INT] NOT NULL,
@@ -6392,11 +6410,11 @@ GO
ALTER TABLE [edfi].[Section] ADD CONSTRAINT [Section_DF_LastModifiedDate] DEFAULT (getutcdate()) FOR [LastModifiedDate]
GO
--- Table [edfi].[Section504DisabilityTypeDescriptor] --
-CREATE TABLE [edfi].[Section504DisabilityTypeDescriptor] (
- [Section504DisabilityTypeDescriptorId] [INT] NOT NULL,
- CONSTRAINT [Section504DisabilityTypeDescriptor_PK] PRIMARY KEY CLUSTERED (
- [Section504DisabilityTypeDescriptorId] ASC
+-- Table [edfi].[Section504DisabilityDescriptor] --
+CREATE TABLE [edfi].[Section504DisabilityDescriptor] (
+ [Section504DisabilityDescriptorId] [INT] NOT NULL,
+ CONSTRAINT [Section504DisabilityDescriptor_PK] PRIMARY KEY CLUSTERED (
+ [Section504DisabilityDescriptorId] ASC
) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
@@ -8017,6 +8035,8 @@ CREATE TABLE [edfi].[StudentAssessmentRegistration] (
[EntryDate] [DATE] NOT NULL,
[PlatformTypeDescriptorId] [INT] NULL,
[ReportingEducationOrganizationId] [BIGINT] NULL,
+ [ScheduledEducationOrganizationId] [BIGINT] NULL,
+ [ScheduledStudentUSI] [INT] NULL,
[SchoolId] [BIGINT] NOT NULL,
[TestingEducationOrganizationId] [BIGINT] NULL,
[Discriminator] [NVARCHAR](128) NULL,
@@ -8536,6 +8556,26 @@ GO
ALTER TABLE [edfi].[StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode] ADD CONSTRAINT [StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate]
GO
+-- Table [edfi].[StudentDisciplineIncidentBehaviorAssociationWeapon] --
+CREATE TABLE [edfi].[StudentDisciplineIncidentBehaviorAssociationWeapon] (
+ [BehaviorDescriptorId] [INT] NOT NULL,
+ [IncidentIdentifier] [NVARCHAR](36) NOT NULL,
+ [SchoolId] [BIGINT] NOT NULL,
+ [StudentUSI] [INT] NOT NULL,
+ [WeaponDescriptorId] [INT] NOT NULL,
+ [CreateDate] [DATETIME2] NOT NULL,
+ CONSTRAINT [StudentDisciplineIncidentBehaviorAssociationWeapon_PK] PRIMARY KEY CLUSTERED (
+ [BehaviorDescriptorId] ASC,
+ [IncidentIdentifier] ASC,
+ [SchoolId] ASC,
+ [StudentUSI] ASC,
+ [WeaponDescriptorId] ASC
+ ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+ALTER TABLE [edfi].[StudentDisciplineIncidentBehaviorAssociationWeapon] ADD CONSTRAINT [StudentDisciplineIncidentBehaviorAssociationWeapon_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate]
+GO
+
-- Table [edfi].[StudentDisciplineIncidentNonOffenderAssociation] --
CREATE TABLE [edfi].[StudentDisciplineIncidentNonOffenderAssociation] (
[IncidentIdentifier] [NVARCHAR](36) NOT NULL,
@@ -9944,7 +9984,7 @@ CREATE TABLE [edfi].[StudentSection504ProgramAssociation] (
[ProgramTypeDescriptorId] [INT] NOT NULL,
[StudentUSI] [INT] NOT NULL,
[AccommodationPlan] [BIT] NULL,
- [Section504DisabilityTypeDescriptorId] [INT] NULL,
+ [Section504DisabilityDescriptorId] [INT] NULL,
[Section504Eligibility] [BIT] NOT NULL,
[Section504EligibilityDecisionDate] [DATE] NULL,
[Section504MeetingDate] [DATE] NULL,
@@ -9969,6 +10009,11 @@ CREATE TABLE [edfi].[StudentSectionAssociation] (
[SessionName] [NVARCHAR](60) NOT NULL,
[StudentUSI] [INT] NOT NULL,
[AttemptStatusDescriptorId] [INT] NULL,
+ [DualCreditEducationOrganizationId] [BIGINT] NULL,
+ [DualCreditIndicator] [BIT] NULL,
+ [DualCreditInstitutionDescriptorId] [INT] NULL,
+ [DualCreditTypeDescriptorId] [INT] NULL,
+ [DualHighSchoolCreditIndicator] [BIT] NULL,
[EndDate] [DATE] NULL,
[HomeroomIndicator] [BIT] NULL,
[RepeatIdentifierDescriptorId] [INT] NULL,
@@ -10107,7 +10152,9 @@ CREATE TABLE [edfi].[StudentSpecialEducationProgramAssociation] (
[LastEvaluationDate] [DATE] NULL,
[MedicallyFragile] [BIT] NULL,
[MultiplyDisabled] [BIT] NULL,
+ [ReductionInHoursPerWeekComparedToPeers] [DECIMAL](5, 2) NULL,
[SchoolHoursPerWeek] [DECIMAL](5, 2) NULL,
+ [ShortenedSchoolDayIndicator] [BIT] NULL,
[SpecialEducationExitDate] [DATE] NULL,
[SpecialEducationExitExplained] [NVARCHAR](1024) NULL,
[SpecialEducationExitReasonDescriptorId] [INT] NULL,
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0030-ForeignKeys.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0030-ForeignKeys.sql
index 6f170a070b..d0b907214b 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0030-ForeignKeys.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0030-ForeignKeys.sql
@@ -115,11 +115,6 @@ CREATE NONCLUSTERED INDEX [FK_AssessmentAdministration_EducationOrganization]
ON [edfi].[AssessmentAdministration] ([AssigningEducationOrganizationId] ASC)
GO
-ALTER TABLE [edfi].[AssessmentAdministrationAssessmentAdminstrationPeriod] WITH CHECK ADD CONSTRAINT [FK_AssessmentAdministrationAssessmentAdminstrationPeriod_AssessmentAdministration] FOREIGN KEY ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace])
-REFERENCES [edfi].[AssessmentAdministration] ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace])
-ON DELETE CASCADE
-GO
-
ALTER TABLE [edfi].[AssessmentAdministrationAssessmentBatteryPart] WITH CHECK ADD CONSTRAINT [FK_AssessmentAdministrationAssessmentBatteryPart_AssessmentAdministration] FOREIGN KEY ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace])
REFERENCES [edfi].[AssessmentAdministration] ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace])
ON DELETE CASCADE
@@ -133,6 +128,40 @@ CREATE NONCLUSTERED INDEX [FK_AssessmentAdministrationAssessmentBatteryPart_Asse
ON [edfi].[AssessmentAdministrationAssessmentBatteryPart] ([AssessmentBatteryPartName] ASC, [AssessmentIdentifier] ASC, [Namespace] ASC)
GO
+ALTER TABLE [edfi].[AssessmentAdministrationParticipation] WITH CHECK ADD CONSTRAINT [FK_AssessmentAdministrationParticipation_AssessmentAdministration] FOREIGN KEY ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace])
+REFERENCES [edfi].[AssessmentAdministration] ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace])
+GO
+
+CREATE NONCLUSTERED INDEX [FK_AssessmentAdministrationParticipation_AssessmentAdministration]
+ON [edfi].[AssessmentAdministrationParticipation] ([AdministrationIdentifier] ASC, [AssessmentIdentifier] ASC, [AssigningEducationOrganizationId] ASC, [Namespace] ASC)
+GO
+
+ALTER TABLE [edfi].[AssessmentAdministrationParticipation] WITH CHECK ADD CONSTRAINT [FK_AssessmentAdministrationParticipation_EducationOrganization] FOREIGN KEY ([ParticipatingEducationOrganizationId])
+REFERENCES [edfi].[EducationOrganization] ([EducationOrganizationId])
+GO
+
+CREATE NONCLUSTERED INDEX [FK_AssessmentAdministrationParticipation_EducationOrganization]
+ON [edfi].[AssessmentAdministrationParticipation] ([ParticipatingEducationOrganizationId] ASC)
+GO
+
+ALTER TABLE [edfi].[AssessmentAdministrationParticipationAdministrationPointOfContact] WITH CHECK ADD CONSTRAINT [FK_AssessmentAdministrationParticipationAdministrationPointOfContact_AssessmentAdministrationParticipation] FOREIGN KEY ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace], [ParticipatingEducationOrganizationId])
+REFERENCES [edfi].[AssessmentAdministrationParticipation] ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace], [ParticipatingEducationOrganizationId])
+ON DELETE CASCADE
+GO
+
+ALTER TABLE [edfi].[AssessmentAdministrationParticipationAdministrationPointOfContact] WITH CHECK ADD CONSTRAINT [FK_AssessmentAdministrationParticipationAdministrationPointOfContact_EducationOrganization] FOREIGN KEY ([EducationOrganizationId])
+REFERENCES [edfi].[EducationOrganization] ([EducationOrganizationId])
+GO
+
+CREATE NONCLUSTERED INDEX [FK_AssessmentAdministrationParticipationAdministrationPointOfContact_EducationOrganization]
+ON [edfi].[AssessmentAdministrationParticipationAdministrationPointOfContact] ([EducationOrganizationId] ASC)
+GO
+
+ALTER TABLE [edfi].[AssessmentAdministrationPeriod] WITH CHECK ADD CONSTRAINT [FK_AssessmentAdministrationPeriod_AssessmentAdministration] FOREIGN KEY ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace])
+REFERENCES [edfi].[AssessmentAdministration] ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace])
+ON DELETE CASCADE
+GO
+
ALTER TABLE [edfi].[AssessmentAssessedGradeLevel] WITH CHECK ADD CONSTRAINT [FK_AssessmentAssessedGradeLevel_Assessment] FOREIGN KEY ([AssessmentIdentifier], [Namespace])
REFERENCES [edfi].[Assessment] ([AssessmentIdentifier], [Namespace])
ON DELETE CASCADE
@@ -423,35 +452,6 @@ CREATE NONCLUSTERED INDEX [FK_AssessmentSection_Section]
ON [edfi].[AssessmentSection] ([LocalCourseCode] ASC, [SchoolId] ASC, [SchoolYear] ASC, [SectionIdentifier] ASC, [SessionName] ASC)
GO
-ALTER TABLE [edfi].[AssesssmentAdministrationParticipation] WITH CHECK ADD CONSTRAINT [FK_AssesssmentAdministrationParticipation_AssessmentAdministration] FOREIGN KEY ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace])
-REFERENCES [edfi].[AssessmentAdministration] ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace])
-GO
-
-CREATE NONCLUSTERED INDEX [FK_AssesssmentAdministrationParticipation_AssessmentAdministration]
-ON [edfi].[AssesssmentAdministrationParticipation] ([AdministrationIdentifier] ASC, [AssessmentIdentifier] ASC, [AssigningEducationOrganizationId] ASC, [Namespace] ASC)
-GO
-
-ALTER TABLE [edfi].[AssesssmentAdministrationParticipation] WITH CHECK ADD CONSTRAINT [FK_AssesssmentAdministrationParticipation_EducationOrganization] FOREIGN KEY ([ParticipatingEducationOrganizationId])
-REFERENCES [edfi].[EducationOrganization] ([EducationOrganizationId])
-GO
-
-CREATE NONCLUSTERED INDEX [FK_AssesssmentAdministrationParticipation_EducationOrganization]
-ON [edfi].[AssesssmentAdministrationParticipation] ([ParticipatingEducationOrganizationId] ASC)
-GO
-
-ALTER TABLE [edfi].[AssesssmentAdministrationParticipationAdministrationPointOfContact] WITH CHECK ADD CONSTRAINT [FK_AssesssmentAdministrationParticipationAdministrationPointOfContact_AssesssmentAdministrationParticipation] FOREIGN KEY ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace], [ParticipatingEducationOrganizationId])
-REFERENCES [edfi].[AssesssmentAdministrationParticipation] ([AdministrationIdentifier], [AssessmentIdentifier], [AssigningEducationOrganizationId], [Namespace], [ParticipatingEducationOrganizationId])
-ON DELETE CASCADE
-GO
-
-ALTER TABLE [edfi].[AssesssmentAdministrationParticipationAdministrationPointOfContact] WITH CHECK ADD CONSTRAINT [FK_AssesssmentAdministrationParticipationAdministrationPointOfContact_EducationOrganization] FOREIGN KEY ([EducationOrganizationId])
-REFERENCES [edfi].[EducationOrganization] ([EducationOrganizationId])
-GO
-
-CREATE NONCLUSTERED INDEX [FK_AssesssmentAdministrationParticipationAdministrationPointOfContact_EducationOrganization]
-ON [edfi].[AssesssmentAdministrationParticipationAdministrationPointOfContact] ([EducationOrganizationId] ASC)
-GO
-
ALTER TABLE [edfi].[AssignmentLateStatusDescriptor] WITH CHECK ADD CONSTRAINT [FK_AssignmentLateStatusDescriptor_Descriptor] FOREIGN KEY ([AssignmentLateStatusDescriptorId])
REFERENCES [edfi].[Descriptor] ([DescriptorId])
ON DELETE CASCADE
@@ -1629,10 +1629,6 @@ ALTER TABLE [edfi].[DisciplineAction] WITH CHECK ADD CONSTRAINT [FK_DisciplineAc
REFERENCES [edfi].[Student] ([StudentUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_DisciplineAction_Student]
-ON [edfi].[DisciplineAction] ([StudentUSI] ASC)
-GO
-
ALTER TABLE [edfi].[DisciplineActionDiscipline] WITH CHECK ADD CONSTRAINT [FK_DisciplineActionDiscipline_DisciplineAction] FOREIGN KEY ([DisciplineActionIdentifier], [DisciplineDate], [StudentUSI])
REFERENCES [edfi].[DisciplineAction] ([DisciplineActionIdentifier], [DisciplineDate], [StudentUSI])
ON DELETE CASCADE
@@ -1751,6 +1747,16 @@ REFERENCES [edfi].[Descriptor] ([DescriptorId])
ON DELETE CASCADE
GO
+ALTER TABLE [edfi].[DualCreditInstitutionDescriptor] WITH CHECK ADD CONSTRAINT [FK_DualCreditInstitutionDescriptor_Descriptor] FOREIGN KEY ([DualCreditInstitutionDescriptorId])
+REFERENCES [edfi].[Descriptor] ([DescriptorId])
+ON DELETE CASCADE
+GO
+
+ALTER TABLE [edfi].[DualCreditTypeDescriptor] WITH CHECK ADD CONSTRAINT [FK_DualCreditTypeDescriptor_Descriptor] FOREIGN KEY ([DualCreditTypeDescriptorId])
+REFERENCES [edfi].[Descriptor] ([DescriptorId])
+ON DELETE CASCADE
+GO
+
ALTER TABLE [edfi].[EducationalEnvironmentDescriptor] WITH CHECK ADD CONSTRAINT [FK_EducationalEnvironmentDescriptor_Descriptor] FOREIGN KEY ([EducationalEnvironmentDescriptorId])
REFERENCES [edfi].[Descriptor] ([DescriptorId])
ON DELETE CASCADE
@@ -2206,10 +2212,6 @@ ALTER TABLE [edfi].[GeneralStudentProgramAssociation] WITH CHECK ADD CONSTRAINT
REFERENCES [edfi].[Student] ([StudentUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_GeneralStudentProgramAssociation_Student]
-ON [edfi].[GeneralStudentProgramAssociation] ([StudentUSI] ASC)
-GO
-
ALTER TABLE [edfi].[GeneralStudentProgramAssociationProgramParticipationStatus] WITH CHECK ADD CONSTRAINT [FK_GeneralStudentProgramAssociationProgramParticipationStatus_GeneralStudentProgramAssociation] FOREIGN KEY ([BeginDate], [EducationOrganizationId], [ProgramEducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId], [StudentUSI])
REFERENCES [edfi].[GeneralStudentProgramAssociation] ([BeginDate], [EducationOrganizationId], [ProgramEducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId], [StudentUSI])
ON DELETE CASCADE
@@ -3212,10 +3214,6 @@ ALTER TABLE [edfi].[LocalContractedStaff] WITH CHECK ADD CONSTRAINT [FK_LocalCon
REFERENCES [edfi].[Staff] ([StaffUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_LocalContractedStaff_Staff]
-ON [edfi].[LocalContractedStaff] ([StaffUSI] ASC)
-GO
-
ALTER TABLE [edfi].[LocaleDescriptor] WITH CHECK ADD CONSTRAINT [FK_LocaleDescriptor_Descriptor] FOREIGN KEY ([LocaleDescriptorId])
REFERENCES [edfi].[Descriptor] ([DescriptorId])
ON DELETE CASCADE
@@ -3341,10 +3339,6 @@ ALTER TABLE [edfi].[LocalPayroll] WITH CHECK ADD CONSTRAINT [FK_LocalPayroll_Sta
REFERENCES [edfi].[Staff] ([StaffUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_LocalPayroll_Staff]
-ON [edfi].[LocalPayroll] ([StaffUSI] ASC)
-GO
-
ALTER TABLE [edfi].[Location] WITH CHECK ADD CONSTRAINT [FK_Location_School] FOREIGN KEY ([SchoolId])
REFERENCES [edfi].[School] ([SchoolId])
GO
@@ -3682,10 +3676,6 @@ ALTER TABLE [edfi].[PostSecondaryEvent] WITH CHECK ADD CONSTRAINT [FK_PostSecond
REFERENCES [edfi].[Student] ([StudentUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_PostSecondaryEvent_Student]
-ON [edfi].[PostSecondaryEvent] ([StudentUSI] ASC)
-GO
-
ALTER TABLE [edfi].[PostSecondaryEventCategoryDescriptor] WITH CHECK ADD CONSTRAINT [FK_PostSecondaryEventCategoryDescriptor_Descriptor] FOREIGN KEY ([PostSecondaryEventCategoryDescriptorId])
REFERENCES [edfi].[Descriptor] ([DescriptorId])
ON DELETE CASCADE
@@ -4030,10 +4020,6 @@ ALTER TABLE [edfi].[ReportCard] WITH CHECK ADD CONSTRAINT [FK_ReportCard_Student
REFERENCES [edfi].[Student] ([StudentUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_ReportCard_Student]
-ON [edfi].[ReportCard] ([StudentUSI] ASC)
-GO
-
ALTER TABLE [edfi].[ReportCardGrade] WITH CHECK ADD CONSTRAINT [FK_ReportCardGrade_Grade] FOREIGN KEY ([BeginDate], [GradeTypeDescriptorId], [GradingPeriodDescriptorId], [GradingPeriodName], [GradingPeriodSchoolYear], [LocalCourseCode], [SchoolId], [SchoolYear], [SectionIdentifier], [SessionName], [StudentUSI])
REFERENCES [edfi].[Grade] ([BeginDate], [GradeTypeDescriptorId], [GradingPeriodDescriptorId], [GradingPeriodName], [GradingPeriodSchoolYear], [LocalCourseCode], [SchoolId], [SchoolYear], [SectionIdentifier], [SessionName], [StudentUSI])
ON UPDATE CASCADE
@@ -4123,10 +4109,6 @@ ALTER TABLE [edfi].[RestraintEvent] WITH CHECK ADD CONSTRAINT [FK_RestraintEvent
REFERENCES [edfi].[Student] ([StudentUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_RestraintEvent_Student]
-ON [edfi].[RestraintEvent] ([StudentUSI] ASC)
-GO
-
ALTER TABLE [edfi].[RestraintEventProgram] WITH CHECK ADD CONSTRAINT [FK_RestraintEventProgram_Program] FOREIGN KEY ([EducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId])
REFERENCES [edfi].[Program] ([EducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId])
GO
@@ -4370,7 +4352,7 @@ CREATE NONCLUSTERED INDEX [FK_Section_SectionTypeDescriptor]
ON [edfi].[Section] ([SectionTypeDescriptorId] ASC)
GO
-ALTER TABLE [edfi].[Section504DisabilityTypeDescriptor] WITH CHECK ADD CONSTRAINT [FK_Section504DisabilityTypeDescriptor_Descriptor] FOREIGN KEY ([Section504DisabilityTypeDescriptorId])
+ALTER TABLE [edfi].[Section504DisabilityDescriptor] WITH CHECK ADD CONSTRAINT [FK_Section504DisabilityDescriptor_Descriptor] FOREIGN KEY ([Section504DisabilityDescriptorId])
REFERENCES [edfi].[Descriptor] ([DescriptorId])
ON DELETE CASCADE
GO
@@ -4396,10 +4378,6 @@ ALTER TABLE [edfi].[SectionAttendanceTakenEvent] WITH CHECK ADD CONSTRAINT [FK_S
REFERENCES [edfi].[Staff] ([StaffUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_SectionAttendanceTakenEvent_Staff]
-ON [edfi].[SectionAttendanceTakenEvent] ([StaffUSI] ASC)
-GO
-
ALTER TABLE [edfi].[SectionCharacteristic] WITH CHECK ADD CONSTRAINT [FK_SectionCharacteristic_Section] FOREIGN KEY ([LocalCourseCode], [SchoolId], [SchoolYear], [SectionIdentifier], [SessionName])
REFERENCES [edfi].[Section] ([LocalCourseCode], [SchoolId], [SchoolYear], [SectionIdentifier], [SessionName])
ON DELETE CASCADE
@@ -4626,10 +4604,6 @@ ALTER TABLE [edfi].[StaffAbsenceEvent] WITH CHECK ADD CONSTRAINT [FK_StaffAbsenc
REFERENCES [edfi].[Staff] ([StaffUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StaffAbsenceEvent_Staff]
-ON [edfi].[StaffAbsenceEvent] ([StaffUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StaffAddress] WITH CHECK ADD CONSTRAINT [FK_StaffAddress_AddressTypeDescriptor] FOREIGN KEY ([AddressTypeDescriptorId])
REFERENCES [edfi].[AddressTypeDescriptor] ([AddressTypeDescriptorId])
GO
@@ -4694,10 +4668,6 @@ ALTER TABLE [edfi].[StaffCohortAssociation] WITH CHECK ADD CONSTRAINT [FK_StaffC
REFERENCES [edfi].[Staff] ([StaffUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StaffCohortAssociation_Staff]
-ON [edfi].[StaffCohortAssociation] ([StaffUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StaffCredential] WITH CHECK ADD CONSTRAINT [FK_StaffCredential_Credential] FOREIGN KEY ([CredentialIdentifier], [StateOfIssueStateAbbreviationDescriptorId])
REFERENCES [edfi].[Credential] ([CredentialIdentifier], [StateOfIssueStateAbbreviationDescriptorId])
GO
@@ -4723,10 +4693,6 @@ ALTER TABLE [edfi].[StaffDisciplineIncidentAssociation] WITH CHECK ADD CONSTRAIN
REFERENCES [edfi].[Staff] ([StaffUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StaffDisciplineIncidentAssociation_Staff]
-ON [edfi].[StaffDisciplineIncidentAssociation] ([StaffUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StaffDisciplineIncidentAssociationDisciplineIncidentParticipationCode] WITH CHECK ADD CONSTRAINT [FK_StaffDisciplineIncidentAssociationDisciplineIncidentParticipationCode_DisciplineIncidentParticipationCodeDescriptor] FOREIGN KEY ([DisciplineIncidentParticipationCodeDescriptorId])
REFERENCES [edfi].[DisciplineIncidentParticipationCodeDescriptor] ([DisciplineIncidentParticipationCodeDescriptorId])
GO
@@ -4756,10 +4722,6 @@ ALTER TABLE [edfi].[StaffEducationOrganizationAssignmentAssociation] WITH CHECK
REFERENCES [edfi].[Staff] ([StaffUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StaffEducationOrganizationAssignmentAssociation_Staff]
-ON [edfi].[StaffEducationOrganizationAssignmentAssociation] ([StaffUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StaffEducationOrganizationAssignmentAssociation] WITH CHECK ADD CONSTRAINT [FK_StaffEducationOrganizationAssignmentAssociation_StaffClassificationDescriptor] FOREIGN KEY ([StaffClassificationDescriptorId])
REFERENCES [edfi].[StaffClassificationDescriptor] ([StaffClassificationDescriptorId])
GO
@@ -4792,10 +4754,6 @@ ALTER TABLE [edfi].[StaffEducationOrganizationContactAssociation] WITH CHECK ADD
REFERENCES [edfi].[Staff] ([StaffUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StaffEducationOrganizationContactAssociation_Staff]
-ON [edfi].[StaffEducationOrganizationContactAssociation] ([StaffUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StaffEducationOrganizationContactAssociationAddress] WITH CHECK ADD CONSTRAINT [FK_StaffEducationOrganizationContactAssociationAddress_AddressTypeDescriptor] FOREIGN KEY ([AddressTypeDescriptorId])
REFERENCES [edfi].[AddressTypeDescriptor] ([AddressTypeDescriptorId])
GO
@@ -4883,10 +4841,6 @@ ALTER TABLE [edfi].[StaffEducationOrganizationEmploymentAssociation] WITH CHECK
REFERENCES [edfi].[Staff] ([StaffUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StaffEducationOrganizationEmploymentAssociation_Staff]
-ON [edfi].[StaffEducationOrganizationEmploymentAssociation] ([StaffUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StaffElectronicMail] WITH CHECK ADD CONSTRAINT [FK_StaffElectronicMail_ElectronicMailTypeDescriptor] FOREIGN KEY ([ElectronicMailTypeDescriptorId])
REFERENCES [edfi].[ElectronicMailTypeDescriptor] ([ElectronicMailTypeDescriptorId])
GO
@@ -4998,10 +4952,6 @@ ALTER TABLE [edfi].[StaffLeave] WITH CHECK ADD CONSTRAINT [FK_StaffLeave_Staff]
REFERENCES [edfi].[Staff] ([StaffUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StaffLeave_Staff]
-ON [edfi].[StaffLeave] ([StaffUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StaffLeave] WITH CHECK ADD CONSTRAINT [FK_StaffLeave_StaffLeaveEventCategoryDescriptor] FOREIGN KEY ([StaffLeaveEventCategoryDescriptorId])
REFERENCES [edfi].[StaffLeaveEventCategoryDescriptor] ([StaffLeaveEventCategoryDescriptorId])
GO
@@ -5069,10 +5019,6 @@ ALTER TABLE [edfi].[StaffProgramAssociation] WITH CHECK ADD CONSTRAINT [FK_Staff
REFERENCES [edfi].[Staff] ([StaffUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StaffProgramAssociation_Staff]
-ON [edfi].[StaffProgramAssociation] ([StaffUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StaffRace] WITH CHECK ADD CONSTRAINT [FK_StaffRace_RaceDescriptor] FOREIGN KEY ([RaceDescriptorId])
REFERENCES [edfi].[RaceDescriptor] ([RaceDescriptorId])
GO
@@ -5139,10 +5085,6 @@ ALTER TABLE [edfi].[StaffSchoolAssociation] WITH CHECK ADD CONSTRAINT [FK_StaffS
REFERENCES [edfi].[Staff] ([StaffUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StaffSchoolAssociation_Staff]
-ON [edfi].[StaffSchoolAssociation] ([StaffUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StaffSchoolAssociationAcademicSubject] WITH CHECK ADD CONSTRAINT [FK_StaffSchoolAssociationAcademicSubject_AcademicSubjectDescriptor] FOREIGN KEY ([AcademicSubjectDescriptorId])
REFERENCES [edfi].[AcademicSubjectDescriptor] ([AcademicSubjectDescriptorId])
GO
@@ -5190,10 +5132,6 @@ ALTER TABLE [edfi].[StaffSectionAssociation] WITH CHECK ADD CONSTRAINT [FK_Staff
REFERENCES [edfi].[Staff] ([StaffUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StaffSectionAssociation_Staff]
-ON [edfi].[StaffSectionAssociation] ([StaffUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StaffTelephone] WITH CHECK ADD CONSTRAINT [FK_StaffTelephone_Staff] FOREIGN KEY ([StaffUSI])
REFERENCES [edfi].[Staff] ([StaffUSI])
ON DELETE CASCADE
@@ -5349,10 +5287,6 @@ ALTER TABLE [edfi].[StudentAcademicRecord] WITH CHECK ADD CONSTRAINT [FK_Student
REFERENCES [edfi].[Student] ([StudentUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StudentAcademicRecord_Student]
-ON [edfi].[StudentAcademicRecord] ([StudentUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StudentAcademicRecord] WITH CHECK ADD CONSTRAINT [FK_StudentAcademicRecord_TermDescriptor] FOREIGN KEY ([TermDescriptorId])
REFERENCES [edfi].[TermDescriptor] ([TermDescriptorId])
GO
@@ -5547,10 +5481,6 @@ ALTER TABLE [edfi].[StudentAssessment] WITH CHECK ADD CONSTRAINT [FK_StudentAsse
REFERENCES [edfi].[Student] ([StudentUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StudentAssessment_Student]
-ON [edfi].[StudentAssessment] ([StudentUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StudentAssessmentAccommodation] WITH CHECK ADD CONSTRAINT [FK_StudentAssessmentAccommodation_AccommodationDescriptor] FOREIGN KEY ([AccommodationDescriptorId])
REFERENCES [edfi].[AccommodationDescriptor] ([AccommodationDescriptorId])
GO
@@ -5695,12 +5625,12 @@ CREATE NONCLUSTERED INDEX [FK_StudentAssessmentRegistration_PlatformTypeDescript
ON [edfi].[StudentAssessmentRegistration] ([PlatformTypeDescriptorId] ASC)
GO
-ALTER TABLE [edfi].[StudentAssessmentRegistration] WITH CHECK ADD CONSTRAINT [FK_StudentAssessmentRegistration_StudentEducationOrganizationAssessmentAccommodation] FOREIGN KEY ([EducationOrganizationId], [StudentUSI])
+ALTER TABLE [edfi].[StudentAssessmentRegistration] WITH CHECK ADD CONSTRAINT [FK_StudentAssessmentRegistration_StudentEducationOrganizationAssessmentAccommodation] FOREIGN KEY ([ScheduledEducationOrganizationId], [ScheduledStudentUSI])
REFERENCES [edfi].[StudentEducationOrganizationAssessmentAccommodation] ([EducationOrganizationId], [StudentUSI])
GO
CREATE NONCLUSTERED INDEX [FK_StudentAssessmentRegistration_StudentEducationOrganizationAssessmentAccommodation]
-ON [edfi].[StudentAssessmentRegistration] ([EducationOrganizationId] ASC, [StudentUSI] ASC)
+ON [edfi].[StudentAssessmentRegistration] ([ScheduledEducationOrganizationId] ASC, [ScheduledStudentUSI] ASC)
GO
ALTER TABLE [edfi].[StudentAssessmentRegistration] WITH CHECK ADD CONSTRAINT [FK_StudentAssessmentRegistration_StudentEducationOrganizationAssociation] FOREIGN KEY ([EducationOrganizationId], [StudentUSI])
@@ -5860,10 +5790,6 @@ ALTER TABLE [edfi].[StudentCohortAssociation] WITH CHECK ADD CONSTRAINT [FK_Stud
REFERENCES [edfi].[Student] ([StudentUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StudentCohortAssociation_Student]
-ON [edfi].[StudentCohortAssociation] ([StudentUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StudentCohortAssociationSection] WITH CHECK ADD CONSTRAINT [FK_StudentCohortAssociationSection_Section] FOREIGN KEY ([LocalCourseCode], [SchoolId], [SchoolYear], [SectionIdentifier], [SessionName])
REFERENCES [edfi].[Section] ([LocalCourseCode], [SchoolId], [SchoolYear], [SectionIdentifier], [SessionName])
ON UPDATE CASCADE
@@ -5906,10 +5832,6 @@ ALTER TABLE [edfi].[StudentCompetencyObjective] WITH CHECK ADD CONSTRAINT [FK_St
REFERENCES [edfi].[Student] ([StudentUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StudentCompetencyObjective_Student]
-ON [edfi].[StudentCompetencyObjective] ([StudentUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StudentCompetencyObjectiveGeneralStudentProgramAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentCompetencyObjectiveGeneralStudentProgramAssociation_GeneralStudentProgramAssociation] FOREIGN KEY ([BeginDate], [EducationOrganizationId], [ProgramEducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId], [StudentUSI])
REFERENCES [edfi].[GeneralStudentProgramAssociation] ([BeginDate], [EducationOrganizationId], [ProgramEducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId], [StudentUSI])
GO
@@ -6007,10 +5929,6 @@ ALTER TABLE [edfi].[StudentDisciplineIncidentBehaviorAssociation] WITH CHECK ADD
REFERENCES [edfi].[Student] ([StudentUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StudentDisciplineIncidentBehaviorAssociation_Student]
-ON [edfi].[StudentDisciplineIncidentBehaviorAssociation] ([StudentUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode] WITH CHECK ADD CONSTRAINT [FK_StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_DisciplineIncidentParticipationCodeDescriptor] FOREIGN KEY ([DisciplineIncidentParticipationCodeDescriptorId])
REFERENCES [edfi].[DisciplineIncidentParticipationCodeDescriptor] ([DisciplineIncidentParticipationCodeDescriptorId])
GO
@@ -6024,6 +5942,19 @@ REFERENCES [edfi].[StudentDisciplineIncidentBehaviorAssociation] ([BehaviorDescr
ON DELETE CASCADE
GO
+ALTER TABLE [edfi].[StudentDisciplineIncidentBehaviorAssociationWeapon] WITH CHECK ADD CONSTRAINT [FK_StudentDisciplineIncidentBehaviorAssociationWeapon_StudentDisciplineIncidentBehaviorAssociation] FOREIGN KEY ([BehaviorDescriptorId], [IncidentIdentifier], [SchoolId], [StudentUSI])
+REFERENCES [edfi].[StudentDisciplineIncidentBehaviorAssociation] ([BehaviorDescriptorId], [IncidentIdentifier], [SchoolId], [StudentUSI])
+ON DELETE CASCADE
+GO
+
+ALTER TABLE [edfi].[StudentDisciplineIncidentBehaviorAssociationWeapon] WITH CHECK ADD CONSTRAINT [FK_StudentDisciplineIncidentBehaviorAssociationWeapon_WeaponDescriptor] FOREIGN KEY ([WeaponDescriptorId])
+REFERENCES [edfi].[WeaponDescriptor] ([WeaponDescriptorId])
+GO
+
+CREATE NONCLUSTERED INDEX [FK_StudentDisciplineIncidentBehaviorAssociationWeapon_WeaponDescriptor]
+ON [edfi].[StudentDisciplineIncidentBehaviorAssociationWeapon] ([WeaponDescriptorId] ASC)
+GO
+
ALTER TABLE [edfi].[StudentDisciplineIncidentNonOffenderAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentDisciplineIncidentNonOffenderAssociation_DisciplineIncident] FOREIGN KEY ([IncidentIdentifier], [SchoolId])
REFERENCES [edfi].[DisciplineIncident] ([IncidentIdentifier], [SchoolId])
GO
@@ -6036,10 +5967,6 @@ ALTER TABLE [edfi].[StudentDisciplineIncidentNonOffenderAssociation] WITH CHECK
REFERENCES [edfi].[Student] ([StudentUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StudentDisciplineIncidentNonOffenderAssociation_Student]
-ON [edfi].[StudentDisciplineIncidentNonOffenderAssociation] ([StudentUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StudentDisciplineIncidentNonOffenderAssociationDisciplineIncidentParticipationCode] WITH CHECK ADD CONSTRAINT [FK_StudentDisciplineIncidentNonOffenderAssociationDisciplineIncidentParticipationCode_DisciplineIncidentParticipationCodeDescrip] FOREIGN KEY ([DisciplineIncidentParticipationCodeDescriptorId])
REFERENCES [edfi].[DisciplineIncidentParticipationCodeDescriptor] ([DisciplineIncidentParticipationCodeDescriptorId])
GO
@@ -6061,10 +5988,6 @@ ALTER TABLE [edfi].[StudentEducationOrganizationAssessmentAccommodation] WITH CH
REFERENCES [edfi].[Student] ([StudentUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StudentEducationOrganizationAssessmentAccommodation_Student]
-ON [edfi].[StudentEducationOrganizationAssessmentAccommodation] ([StudentUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StudentEducationOrganizationAssessmentAccommodationGeneralAccommodation] WITH CHECK ADD CONSTRAINT [FK_StudentEducationOrganizationAssessmentAccommodationGeneralAccommodation_AccommodationDescriptor] FOREIGN KEY ([AccommodationDescriptorId])
REFERENCES [edfi].[AccommodationDescriptor] ([AccommodationDescriptorId])
GO
@@ -6150,10 +6073,6 @@ ALTER TABLE [edfi].[StudentEducationOrganizationAssociation] WITH CHECK ADD CONS
REFERENCES [edfi].[Student] ([StudentUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StudentEducationOrganizationAssociation_Student]
-ON [edfi].[StudentEducationOrganizationAssociation] ([StudentUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StudentEducationOrganizationAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentEducationOrganizationAssociation_SupporterMilitaryConnectionDescriptor] FOREIGN KEY ([SupporterMilitaryConnectionDescriptorId])
REFERENCES [edfi].[SupporterMilitaryConnectionDescriptor] ([SupporterMilitaryConnectionDescriptorId])
GO
@@ -6449,10 +6368,6 @@ ALTER TABLE [edfi].[StudentEducationOrganizationResponsibilityAssociation] WITH
REFERENCES [edfi].[Student] ([StudentUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StudentEducationOrganizationResponsibilityAssociation_Student]
-ON [edfi].[StudentEducationOrganizationResponsibilityAssociation] ([StudentUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StudentGradebookEntry] WITH CHECK ADD CONSTRAINT [FK_StudentGradebookEntry_AssignmentLateStatusDescriptor] FOREIGN KEY ([AssignmentLateStatusDescriptorId])
REFERENCES [edfi].[AssignmentLateStatusDescriptor] ([AssignmentLateStatusDescriptorId])
GO
@@ -6482,10 +6397,6 @@ ALTER TABLE [edfi].[StudentGradebookEntry] WITH CHECK ADD CONSTRAINT [FK_Student
REFERENCES [edfi].[Student] ([StudentUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StudentGradebookEntry_Student]
-ON [edfi].[StudentGradebookEntry] ([StudentUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StudentGradebookEntry] WITH CHECK ADD CONSTRAINT [FK_StudentGradebookEntry_SubmissionStatusDescriptor] FOREIGN KEY ([SubmissionStatusDescriptorId])
REFERENCES [edfi].[SubmissionStatusDescriptor] ([SubmissionStatusDescriptorId])
GO
@@ -6510,10 +6421,6 @@ ALTER TABLE [edfi].[StudentHealth] WITH CHECK ADD CONSTRAINT [FK_StudentHealth_S
REFERENCES [edfi].[Student] ([StudentUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StudentHealth_Student]
-ON [edfi].[StudentHealth] ([StudentUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StudentHealthAdditionalImmunization] WITH CHECK ADD CONSTRAINT [FK_StudentHealthAdditionalImmunization_StudentHealth] FOREIGN KEY ([EducationOrganizationId], [StudentUSI])
REFERENCES [edfi].[StudentHealth] ([EducationOrganizationId], [StudentUSI])
ON DELETE CASCADE
@@ -6622,10 +6529,6 @@ ALTER TABLE [edfi].[StudentInterventionAssociation] WITH CHECK ADD CONSTRAINT [F
REFERENCES [edfi].[Student] ([StudentUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StudentInterventionAssociation_Student]
-ON [edfi].[StudentInterventionAssociation] ([StudentUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StudentInterventionAssociationInterventionEffectiveness] WITH CHECK ADD CONSTRAINT [FK_StudentInterventionAssociationInterventionEffectiveness_DiagnosisDescriptor] FOREIGN KEY ([DiagnosisDescriptorId])
REFERENCES [edfi].[DiagnosisDescriptor] ([DiagnosisDescriptorId])
GO
@@ -6691,10 +6594,6 @@ ALTER TABLE [edfi].[StudentInterventionAttendanceEvent] WITH CHECK ADD CONSTRAIN
REFERENCES [edfi].[Student] ([StudentUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StudentInterventionAttendanceEvent_Student]
-ON [edfi].[StudentInterventionAttendanceEvent] ([StudentUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StudentLanguageInstructionProgramAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentLanguageInstructionProgramAssociation_GeneralStudentProgramAssociation] FOREIGN KEY ([BeginDate], [EducationOrganizationId], [ProgramEducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId], [StudentUSI])
REFERENCES [edfi].[GeneralStudentProgramAssociation] ([BeginDate], [EducationOrganizationId], [ProgramEducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId], [StudentUSI])
ON DELETE CASCADE
@@ -6918,10 +6817,6 @@ ALTER TABLE [edfi].[StudentProgramAttendanceEvent] WITH CHECK ADD CONSTRAINT [FK
REFERENCES [edfi].[Student] ([StudentUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StudentProgramAttendanceEvent_Student]
-ON [edfi].[StudentProgramAttendanceEvent] ([StudentUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StudentProgramEvaluation] WITH CHECK ADD CONSTRAINT [FK_StudentProgramEvaluation_EducationOrganization] FOREIGN KEY ([EducationOrganizationId])
REFERENCES [edfi].[EducationOrganization] ([EducationOrganizationId])
GO
@@ -7117,10 +7012,6 @@ ALTER TABLE [edfi].[StudentSchoolAssociation] WITH CHECK ADD CONSTRAINT [FK_Stud
REFERENCES [edfi].[Student] ([StudentUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StudentSchoolAssociation_Student]
-ON [edfi].[StudentSchoolAssociation] ([StudentUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StudentSchoolAssociationAlternativeGraduationPlan] WITH CHECK ADD CONSTRAINT [FK_StudentSchoolAssociationAlternativeGraduationPlan_GraduationPlan] FOREIGN KEY ([AlternativeEducationOrganizationId], [AlternativeGraduationPlanTypeDescriptorId], [AlternativeGraduationSchoolYear])
REFERENCES [edfi].[GraduationPlan] ([EducationOrganizationId], [GraduationPlanTypeDescriptorId], [GraduationSchoolYear])
GO
@@ -7182,10 +7073,6 @@ ALTER TABLE [edfi].[StudentSchoolAttendanceEvent] WITH CHECK ADD CONSTRAINT [FK_
REFERENCES [edfi].[Student] ([StudentUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StudentSchoolAttendanceEvent_Student]
-ON [edfi].[StudentSchoolAttendanceEvent] ([StudentUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StudentSchoolFoodServiceProgramAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentSchoolFoodServiceProgramAssociation_GeneralStudentProgramAssociation] FOREIGN KEY ([BeginDate], [EducationOrganizationId], [ProgramEducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId], [StudentUSI])
REFERENCES [edfi].[GeneralStudentProgramAssociation] ([BeginDate], [EducationOrganizationId], [ProgramEducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId], [StudentUSI])
ON DELETE CASCADE
@@ -7209,12 +7096,12 @@ REFERENCES [edfi].[GeneralStudentProgramAssociation] ([BeginDate], [EducationOrg
ON DELETE CASCADE
GO
-ALTER TABLE [edfi].[StudentSection504ProgramAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentSection504ProgramAssociation_Section504DisabilityTypeDescriptor] FOREIGN KEY ([Section504DisabilityTypeDescriptorId])
-REFERENCES [edfi].[Section504DisabilityTypeDescriptor] ([Section504DisabilityTypeDescriptorId])
+ALTER TABLE [edfi].[StudentSection504ProgramAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentSection504ProgramAssociation_Section504DisabilityDescriptor] FOREIGN KEY ([Section504DisabilityDescriptorId])
+REFERENCES [edfi].[Section504DisabilityDescriptor] ([Section504DisabilityDescriptorId])
GO
-CREATE NONCLUSTERED INDEX [FK_StudentSection504ProgramAssociation_Section504DisabilityTypeDescriptor]
-ON [edfi].[StudentSection504ProgramAssociation] ([Section504DisabilityTypeDescriptorId] ASC)
+CREATE NONCLUSTERED INDEX [FK_StudentSection504ProgramAssociation_Section504DisabilityDescriptor]
+ON [edfi].[StudentSection504ProgramAssociation] ([Section504DisabilityDescriptorId] ASC)
GO
ALTER TABLE [edfi].[StudentSectionAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentSectionAssociation_AttemptStatusDescriptor] FOREIGN KEY ([AttemptStatusDescriptorId])
@@ -7225,6 +7112,30 @@ CREATE NONCLUSTERED INDEX [FK_StudentSectionAssociation_AttemptStatusDescriptor]
ON [edfi].[StudentSectionAssociation] ([AttemptStatusDescriptorId] ASC)
GO
+ALTER TABLE [edfi].[StudentSectionAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentSectionAssociation_DualCreditInstitutionDescriptor] FOREIGN KEY ([DualCreditInstitutionDescriptorId])
+REFERENCES [edfi].[DualCreditInstitutionDescriptor] ([DualCreditInstitutionDescriptorId])
+GO
+
+CREATE NONCLUSTERED INDEX [FK_StudentSectionAssociation_DualCreditInstitutionDescriptor]
+ON [edfi].[StudentSectionAssociation] ([DualCreditInstitutionDescriptorId] ASC)
+GO
+
+ALTER TABLE [edfi].[StudentSectionAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentSectionAssociation_DualCreditTypeDescriptor] FOREIGN KEY ([DualCreditTypeDescriptorId])
+REFERENCES [edfi].[DualCreditTypeDescriptor] ([DualCreditTypeDescriptorId])
+GO
+
+CREATE NONCLUSTERED INDEX [FK_StudentSectionAssociation_DualCreditTypeDescriptor]
+ON [edfi].[StudentSectionAssociation] ([DualCreditTypeDescriptorId] ASC)
+GO
+
+ALTER TABLE [edfi].[StudentSectionAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentSectionAssociation_EducationOrganization] FOREIGN KEY ([DualCreditEducationOrganizationId])
+REFERENCES [edfi].[EducationOrganization] ([EducationOrganizationId])
+GO
+
+CREATE NONCLUSTERED INDEX [FK_StudentSectionAssociation_EducationOrganization]
+ON [edfi].[StudentSectionAssociation] ([DualCreditEducationOrganizationId] ASC)
+GO
+
ALTER TABLE [edfi].[StudentSectionAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentSectionAssociation_RepeatIdentifierDescriptor] FOREIGN KEY ([RepeatIdentifierDescriptorId])
REFERENCES [edfi].[RepeatIdentifierDescriptor] ([RepeatIdentifierDescriptorId])
GO
@@ -7246,10 +7157,6 @@ ALTER TABLE [edfi].[StudentSectionAssociation] WITH CHECK ADD CONSTRAINT [FK_Stu
REFERENCES [edfi].[Student] ([StudentUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StudentSectionAssociation_Student]
-ON [edfi].[StudentSectionAssociation] ([StudentUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StudentSectionAssociationProgram] WITH CHECK ADD CONSTRAINT [FK_StudentSectionAssociationProgram_Program] FOREIGN KEY ([EducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId])
REFERENCES [edfi].[Program] ([EducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId])
GO
@@ -7293,10 +7200,6 @@ ALTER TABLE [edfi].[StudentSectionAttendanceEvent] WITH CHECK ADD CONSTRAINT [FK
REFERENCES [edfi].[Student] ([StudentUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StudentSectionAttendanceEvent_Student]
-ON [edfi].[StudentSectionAttendanceEvent] ([StudentUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StudentSectionAttendanceEventClassPeriod] WITH CHECK ADD CONSTRAINT [FK_StudentSectionAttendanceEventClassPeriod_ClassPeriod] FOREIGN KEY ([ClassPeriodName], [SchoolId])
REFERENCES [edfi].[ClassPeriod] ([ClassPeriodName], [SchoolId])
ON UPDATE CASCADE
@@ -7454,10 +7357,6 @@ ALTER TABLE [edfi].[StudentSpecialEducationProgramEligibilityAssociation] WITH C
REFERENCES [edfi].[Student] ([StudentUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StudentSpecialEducationProgramEligibilityAssociation_Student]
-ON [edfi].[StudentSpecialEducationProgramEligibilityAssociation] ([StudentUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StudentTitleIPartAProgramAssociation] WITH CHECK ADD CONSTRAINT [FK_StudentTitleIPartAProgramAssociation_GeneralStudentProgramAssociation] FOREIGN KEY ([BeginDate], [EducationOrganizationId], [ProgramEducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId], [StudentUSI])
REFERENCES [edfi].[GeneralStudentProgramAssociation] ([BeginDate], [EducationOrganizationId], [ProgramEducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId], [StudentUSI])
ON DELETE CASCADE
@@ -7496,10 +7395,6 @@ ALTER TABLE [edfi].[StudentTransportation] WITH CHECK ADD CONSTRAINT [FK_Student
REFERENCES [edfi].[Student] ([StudentUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_StudentTransportation_Student]
-ON [edfi].[StudentTransportation] ([StudentUSI] ASC)
-GO
-
ALTER TABLE [edfi].[StudentTransportation] WITH CHECK ADD CONSTRAINT [FK_StudentTransportation_TransportationPublicExpenseEligibilityTypeDescriptor] FOREIGN KEY ([TransportationPublicExpenseEligibilityTypeDescriptorId])
REFERENCES [edfi].[TransportationPublicExpenseEligibilityTypeDescriptor] ([TransportationPublicExpenseEligibilityTypeDescriptorId])
GO
@@ -7757,10 +7652,6 @@ ALTER TABLE [edfi].[SurveyResponseStaffTargetAssociation] WITH CHECK ADD CONSTRA
REFERENCES [edfi].[Staff] ([StaffUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_SurveyResponseStaffTargetAssociation_Staff]
-ON [edfi].[SurveyResponseStaffTargetAssociation] ([StaffUSI] ASC)
-GO
-
ALTER TABLE [edfi].[SurveyResponseStaffTargetAssociation] WITH CHECK ADD CONSTRAINT [FK_SurveyResponseStaffTargetAssociation_SurveyResponse] FOREIGN KEY ([Namespace], [SurveyIdentifier], [SurveyResponseIdentifier])
REFERENCES [edfi].[SurveyResponse] ([Namespace], [SurveyIdentifier], [SurveyResponseIdentifier])
GO
@@ -7839,10 +7730,6 @@ ALTER TABLE [edfi].[SurveySectionResponseStaffTargetAssociation] WITH CHECK ADD
REFERENCES [edfi].[Staff] ([StaffUSI])
GO
-CREATE NONCLUSTERED INDEX [FK_SurveySectionResponseStaffTargetAssociation_Staff]
-ON [edfi].[SurveySectionResponseStaffTargetAssociation] ([StaffUSI] ASC)
-GO
-
ALTER TABLE [edfi].[SurveySectionResponseStaffTargetAssociation] WITH CHECK ADD CONSTRAINT [FK_SurveySectionResponseStaffTargetAssociation_SurveySectionResponse] FOREIGN KEY ([Namespace], [SurveyIdentifier], [SurveyResponseIdentifier], [SurveySectionTitle])
REFERENCES [edfi].[SurveySectionResponse] ([Namespace], [SurveyIdentifier], [SurveyResponseIdentifier], [SurveySectionTitle])
GO
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0040-IdColumnUniqueIndexes.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0040-IdColumnUniqueIndexes.sql
index dd3ea99cff..15c25deea5 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0040-IdColumnUniqueIndexes.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0040-IdColumnUniqueIndexes.sql
@@ -31,6 +31,13 @@ BEGIN TRANSACTION
GO
COMMIT
+BEGIN TRANSACTION
+ IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'edfi.AssessmentAdministrationParticipation') AND name = N'UX_AssessmentAdministrationParticipation_Id')
+ CREATE UNIQUE NONCLUSTERED INDEX UX_AssessmentAdministrationParticipation_Id ON [edfi].[AssessmentAdministrationParticipation]
+ (Id) WITH (PAD_INDEX = ON, FILLFACTOR = 75, STATISTICS_NORECOMPUTE = OFF) ON [PRIMARY]
+ GO
+COMMIT
+
BEGIN TRANSACTION
IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'edfi.AssessmentBatteryPart') AND name = N'UX_AssessmentBatteryPart_Id')
CREATE UNIQUE NONCLUSTERED INDEX UX_AssessmentBatteryPart_Id ON [edfi].[AssessmentBatteryPart]
@@ -52,13 +59,6 @@ BEGIN TRANSACTION
GO
COMMIT
-BEGIN TRANSACTION
- IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'edfi.AssesssmentAdministrationParticipation') AND name = N'UX_AssesssmentAdministrationParticipation_Id')
- CREATE UNIQUE NONCLUSTERED INDEX UX_AssesssmentAdministrationParticipation_Id ON [edfi].[AssesssmentAdministrationParticipation]
- (Id) WITH (PAD_INDEX = ON, FILLFACTOR = 75, STATISTICS_NORECOMPUTE = OFF) ON [PRIMARY]
- GO
-COMMIT
-
BEGIN TRANSACTION
IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'edfi.BalanceSheetDimension') AND name = N'UX_BalanceSheetDimension_Id')
CREATE UNIQUE NONCLUSTERED INDEX UX_BalanceSheetDimension_Id ON [edfi].[BalanceSheetDimension]
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0050-ExtendedProperties.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0050-ExtendedProperties.sql
index ba2a82426e..6498b161bb 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0050-ExtendedProperties.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/0050-ExtendedProperties.sql
@@ -151,34 +151,72 @@ GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Namespace for the assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministration', @level2type=N'COLUMN', @level2name=N'Namespace'
GO
--- Extended Properties [edfi].[AssessmentAdministrationAssessmentAdminstrationPeriod] --
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The anticipated dates for the assessment or administration window.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentAdminstrationPeriod'
+-- Extended Properties [edfi].[AssessmentAdministrationAssessmentBatteryPart] --
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A reference to the parts of the assessment battery that are offered in this administration of the assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentBatteryPart'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The title or name of the assessment in the context of its administration.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentBatteryPart', @level2type=N'COLUMN', @level2name=N'AdministrationIdentifier'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique number or alphanumeric code assigned to an assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentBatteryPart', @level2type=N'COLUMN', @level2name=N'AssessmentIdentifier'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The title or name of the assessment in the context of its administration.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentAdminstrationPeriod', @level2type=N'COLUMN', @level2name=N'AdministrationIdentifier'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentBatteryPart', @level2type=N'COLUMN', @level2name=N'AssigningEducationOrganizationId'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique number or alphanumeric code assigned to an assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentAdminstrationPeriod', @level2type=N'COLUMN', @level2name=N'AssessmentIdentifier'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Namespace for the assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentBatteryPart', @level2type=N'COLUMN', @level2name=N'Namespace'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentAdminstrationPeriod', @level2type=N'COLUMN', @level2name=N'AssigningEducationOrganizationId'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The name of the part of an assessment battery.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentBatteryPart', @level2type=N'COLUMN', @level2name=N'AssessmentBatteryPartName'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Namespace for the assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentAdminstrationPeriod', @level2type=N'COLUMN', @level2name=N'Namespace'
+
+-- Extended Properties [edfi].[AssessmentAdministrationParticipation] --
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Identifies the point of contact for the administration of an assessment under the purview of an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipation'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The month, day, and year for the start of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentAdminstrationPeriod', @level2type=N'COLUMN', @level2name=N'BeginDate'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The title or name of the assessment in the context of its administration.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipation', @level2type=N'COLUMN', @level2name=N'AdministrationIdentifier'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The month, day, and year for the end of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentAdminstrationPeriod', @level2type=N'COLUMN', @level2name=N'EndDate'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique number or alphanumeric code assigned to an assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipation', @level2type=N'COLUMN', @level2name=N'AssessmentIdentifier'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipation', @level2type=N'COLUMN', @level2name=N'AssigningEducationOrganizationId'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Namespace for the assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipation', @level2type=N'COLUMN', @level2name=N'Namespace'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipation', @level2type=N'COLUMN', @level2name=N'ParticipatingEducationOrganizationId'
GO
--- Extended Properties [edfi].[AssessmentAdministrationAssessmentBatteryPart] --
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A reference to the parts of the assessment battery that are offered in this administration of the assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentBatteryPart'
+-- Extended Properties [edfi].[AssessmentAdministrationParticipationAdministrationPointOfContact] --
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Pre-identified contacts for education organizations administering the assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipationAdministrationPointOfContact'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The title or name of the assessment in the context of its administration.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentBatteryPart', @level2type=N'COLUMN', @level2name=N'AdministrationIdentifier'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The title or name of the assessment in the context of its administration.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'AdministrationIdentifier'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique number or alphanumeric code assigned to an assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentBatteryPart', @level2type=N'COLUMN', @level2name=N'AssessmentIdentifier'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique number or alphanumeric code assigned to an assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'AssessmentIdentifier'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentBatteryPart', @level2type=N'COLUMN', @level2name=N'AssigningEducationOrganizationId'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'AssigningEducationOrganizationId'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Namespace for the assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentBatteryPart', @level2type=N'COLUMN', @level2name=N'Namespace'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Namespace for the assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'Namespace'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The name of the part of an assessment battery.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationAssessmentBatteryPart', @level2type=N'COLUMN', @level2name=N'AssessmentBatteryPartName'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'ParticipatingEducationOrganizationId'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'EducationOrganizationId'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The email address for the contact.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'ElectronicMailAddress'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The contact''s first name.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'FirstName'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The contact''s last name.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'LastSurname'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The login ID for the user; used for security access control interface.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'LoginId'
+GO
+
+-- Extended Properties [edfi].[AssessmentAdministrationPeriod] --
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The anticipated dates for the assessment or administration window.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationPeriod'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The title or name of the assessment in the context of its administration.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationPeriod', @level2type=N'COLUMN', @level2name=N'AdministrationIdentifier'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique number or alphanumeric code assigned to an assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationPeriod', @level2type=N'COLUMN', @level2name=N'AssessmentIdentifier'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationPeriod', @level2type=N'COLUMN', @level2name=N'AssigningEducationOrganizationId'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Namespace for the assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationPeriod', @level2type=N'COLUMN', @level2name=N'Namespace'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The month, day, and year for the start of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationPeriod', @level2type=N'COLUMN', @level2name=N'BeginDate'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The month, day, and year for the end of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentAdministrationPeriod', @level2type=N'COLUMN', @level2name=N'EndDate'
GO
-- Extended Properties [edfi].[AssessmentAssessedGradeLevel] --
@@ -485,44 +523,6 @@ GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier for the calendar for the academic session.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssessmentSection', @level2type=N'COLUMN', @level2name=N'SessionName'
GO
--- Extended Properties [edfi].[AssesssmentAdministrationParticipation] --
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Identifies the point of contact for the administration of an assessment under the purview of an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipation'
-GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The title or name of the assessment in the context of its administration.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipation', @level2type=N'COLUMN', @level2name=N'AdministrationIdentifier'
-GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique number or alphanumeric code assigned to an assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipation', @level2type=N'COLUMN', @level2name=N'AssessmentIdentifier'
-GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipation', @level2type=N'COLUMN', @level2name=N'AssigningEducationOrganizationId'
-GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Namespace for the assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipation', @level2type=N'COLUMN', @level2name=N'Namespace'
-GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipation', @level2type=N'COLUMN', @level2name=N'ParticipatingEducationOrganizationId'
-GO
-
--- Extended Properties [edfi].[AssesssmentAdministrationParticipationAdministrationPointOfContact] --
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Pre-identified contacts for education organizations administering the assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipationAdministrationPointOfContact'
-GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The title or name of the assessment in the context of its administration.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'AdministrationIdentifier'
-GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique number or alphanumeric code assigned to an assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'AssessmentIdentifier'
-GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'AssigningEducationOrganizationId'
-GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Namespace for the assessment.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'Namespace'
-GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'ParticipatingEducationOrganizationId'
-GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'EducationOrganizationId'
-GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The email address for the contact.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'ElectronicMailAddress'
-GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The contact''s first name.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'FirstName'
-GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The contact''s last name.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'LastSurname'
-GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The login ID for the user; used for security access control interface.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssesssmentAdministrationParticipationAdministrationPointOfContact', @level2type=N'COLUMN', @level2name=N'LoginId'
-GO
-
-- Extended Properties [edfi].[AssignmentLateStatusDescriptor] --
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Status of whether the assignment was submitted after the due date and/or marked as late.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'AssignmentLateStatusDescriptor'
GO
@@ -1905,6 +1905,18 @@ GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'DisplacedStudentStatusDescriptor', @level2type=N'COLUMN', @level2name=N'DisplacedStudentStatusDescriptorId'
GO
+-- Extended Properties [edfi].[DualCreditInstitutionDescriptor] --
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Custom descriptor of college institutions or categories of institutions participating in the dual credit program.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'DualCreditInstitutionDescriptor'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'DualCreditInstitutionDescriptor', @level2type=N'COLUMN', @level2name=N'DualCreditInstitutionDescriptorId'
+GO
+
+-- Extended Properties [edfi].[DualCreditTypeDescriptor] --
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Indicates the type of the dual credit program.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'DualCreditTypeDescriptor'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'DualCreditTypeDescriptor', @level2type=N'COLUMN', @level2name=N'DualCreditTypeDescriptorId'
+GO
+
-- Extended Properties [edfi].[EducationalEnvironmentDescriptor] --
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The setting in which a child receives education and related services.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'EducationalEnvironmentDescriptor'
GO
@@ -4559,10 +4571,10 @@ GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'When a section is part of a sequence of parts for a course, the number of the sequence. If the course has only one part, the value of this section attribute should be 1.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Section', @level2type=N'COLUMN', @level2name=N'SequenceOfCourse'
GO
--- Extended Properties [edfi].[Section504DisabilityTypeDescriptor] --
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'This descriptor defines the reason(s) why student qualifies for Section 504 consideration.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Section504DisabilityTypeDescriptor'
+-- Extended Properties [edfi].[Section504DisabilityDescriptor] --
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'This descriptor defines the reason(s) why student qualifies for Section 504 consideration.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Section504DisabilityDescriptor'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Section504DisabilityTypeDescriptor', @level2type=N'COLUMN', @level2name=N'Section504DisabilityTypeDescriptorId'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'Section504DisabilityDescriptor', @level2type=N'COLUMN', @level2name=N'Section504DisabilityDescriptorId'
GO
-- Extended Properties [edfi].[SectionAttendanceTakenEvent] --
@@ -5888,6 +5900,10 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The environmen
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentAssessmentRegistration', @level2type=N'COLUMN', @level2name=N'ReportingEducationOrganizationId'
GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentAssessmentRegistration', @level2type=N'COLUMN', @level2name=N'ScheduledEducationOrganizationId'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique alphanumeric code assigned to a student.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentAssessmentRegistration', @level2type=N'COLUMN', @level2name=N'ScheduledStudentUSI'
+GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to a school. It must be distinct from any other identifier assigned to educational organizations, such as a LocalEducationAgencyId, to prevent duplication.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentAssessmentRegistration', @level2type=N'COLUMN', @level2name=N'SchoolId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentAssessmentRegistration', @level2type=N'COLUMN', @level2name=N'TestingEducationOrganizationId'
@@ -6273,6 +6289,20 @@ GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The role or type of participation of a student in a discipline incident.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode', @level2type=N'COLUMN', @level2name=N'DisciplineIncidentParticipationCodeDescriptorId'
GO
+-- Extended Properties [edfi].[StudentDisciplineIncidentBehaviorAssociationWeapon] --
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Identifies the type(s) of weapon used by the student during a discipline incident. The Federal Gun-Free Schools Act requires states to report the number of students expelled for bringing firearms to school by type of firearm.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentDisciplineIncidentBehaviorAssociationWeapon'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Describes behavior by category.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentDisciplineIncidentBehaviorAssociationWeapon', @level2type=N'COLUMN', @level2name=N'BehaviorDescriptorId'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A locally assigned unique identifier (within the school or school district) to identify each specific DisciplineIncident or occurrence. The same identifier should be used to document the entire discipline incident even if it included multiple offenses and multiple offenders.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentDisciplineIncidentBehaviorAssociationWeapon', @level2type=N'COLUMN', @level2name=N'IncidentIdentifier'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to a school. It must be distinct from any other identifier assigned to educational organizations, such as a LocalEducationAgencyId, to prevent duplication.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentDisciplineIncidentBehaviorAssociationWeapon', @level2type=N'COLUMN', @level2name=N'SchoolId'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique alphanumeric code assigned to a student.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentDisciplineIncidentBehaviorAssociationWeapon', @level2type=N'COLUMN', @level2name=N'StudentUSI'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Identifies the type(s) of weapon used by the student during a discipline incident. The Federal Gun-Free Schools Act requires states to report the number of students expelled for bringing firearms to school by type of firearm.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentDisciplineIncidentBehaviorAssociationWeapon', @level2type=N'COLUMN', @level2name=N'WeaponDescriptorId'
+GO
+
-- Extended Properties [edfi].[StudentDisciplineIncidentNonOffenderAssociation] --
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'This association indicates those students who were involved and not perpetrators for a discipline incident.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentDisciplineIncidentNonOffenderAssociation'
GO
@@ -7454,7 +7484,7 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique alpha
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Indicates whether student has a Section 504 accommodation plan.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSection504ProgramAssociation', @level2type=N'COLUMN', @level2name=N'AccommodationPlan'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Defines one or more disabilities student has that qualifies them for a Section 504 plan.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSection504ProgramAssociation', @level2type=N'COLUMN', @level2name=N'Section504DisabilityTypeDescriptorId'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Defines one or more disabilities student has that qualifies them for a Section 504 plan.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSection504ProgramAssociation', @level2type=N'COLUMN', @level2name=N'Section504DisabilityDescriptorId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Indicates whether student has a disability, either temporary or permenant, that qualifies student for Section 504 consideration. Selection of FALSE for this boolean is equivalent to marking student as ''Did Not Qualify''.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSection504ProgramAssociation', @level2type=N'COLUMN', @level2name=N'Section504Eligibility'
GO
@@ -7482,6 +7512,16 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'A unique alpha
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'An indication of the student''s completion status for the section.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociation', @level2type=N'COLUMN', @level2name=N'AttemptStatusDescriptorId'
GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociation', @level2type=N'COLUMN', @level2name=N'DualCreditEducationOrganizationId'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Indicates whether the student assigned to the section is to receive dual credit upon successful completion.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociation', @level2type=N'COLUMN', @level2name=N'DualCreditIndicator'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Descriptor for the postsecondary institution offering college credit. This descriptor may be used to select a postsecondary institution that is not defined as an education organization, and/or select a general type of postsecondary institution.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociation', @level2type=N'COLUMN', @level2name=N'DualCreditInstitutionDescriptorId'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'For a student taking a dual credit course in a college or high school setting, indicates the type of dual credit program.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociation', @level2type=N'COLUMN', @level2name=N'DualCreditTypeDescriptorId'
+GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Indicates whether successful completion of the course will result in credits toward high school graduation.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociation', @level2type=N'COLUMN', @level2name=N'DualHighSchoolCreditIndicator'
+GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Month, day, and year of the withdrawal or exit of the student from the section. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociation', @level2type=N'COLUMN', @level2name=N'EndDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Indicates the section is the student''s homeroom. Homeroom period may the convention for taking daily attendance.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSectionAssociation', @level2type=N'COLUMN', @level2name=N'HomeroomIndicator'
@@ -7606,8 +7646,12 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Indicates whet
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Indicates whether the student receiving special education and related services has been designated as multiply disabled by the admission, review, and dismissal committee as aligned with federal requirements.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSpecialEducationProgramAssociation', @level2type=N'COLUMN', @level2name=N'MultiplyDisabled'
GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Records the number of hours reduced for the shortened school day for the IEP student as compared to peers in regular education.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSpecialEducationProgramAssociation', @level2type=N'COLUMN', @level2name=N'ReductionInHoursPerWeekComparedToPeers'
+GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Indicate the total number of hours of instructional time per week for the school that the student attends.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSpecialEducationProgramAssociation', @level2type=N'COLUMN', @level2name=N'SchoolHoursPerWeek'
GO
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Indicator that the student''s IEP requires a shortened school day.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSpecialEducationProgramAssociation', @level2type=N'COLUMN', @level2name=N'ShortenedSchoolDayIndicator'
+GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The month, day and year on which a person stops receiving special education services.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSpecialEducationProgramAssociation', @level2type=N'COLUMN', @level2name=N'SpecialEducationExitDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Explanation on why a person stops receiving special education services.', @level0type=N'SCHEMA', @level0name=N'edfi', @level1type=N'TABLE', @level1name=N'StudentSpecialEducationProgramAssociation', @level2type=N'COLUMN', @level2name=N'SpecialEducationExitExplained'
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/1410-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/1410-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql
index ba2e20c19a..d5a7c94f0f 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/1410-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/1410-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql
@@ -19,9 +19,9 @@ BEGIN
CREATE INDEX IX_Assessment_EducationOrganizationId ON [edfi].[Assessment](EducationOrganizationId) INCLUDE (Id)
END;
-IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_AssesssmentAdministrationParticipation_AssigningEducationOrganizationId' AND object_id = OBJECT_ID('edfi.AssesssmentAdministrationParticipation'))
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_AssessmentAdministrationParticipation_AssigningEducationOrganizationId' AND object_id = OBJECT_ID('edfi.AssessmentAdministrationParticipation'))
BEGIN
- CREATE INDEX IX_AssesssmentAdministrationParticipation_AssigningEducationOrganizationId ON [edfi].[AssesssmentAdministrationParticipation](AssigningEducationOrganizationId) INCLUDE (Id)
+ CREATE INDEX IX_AssessmentAdministrationParticipation_AssigningEducationOrganizationId ON [edfi].[AssessmentAdministrationParticipation](AssigningEducationOrganizationId) INCLUDE (Id)
END;
IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_BellSchedule_SchoolId' AND object_id = OBJECT_ID('edfi.BellSchedule'))
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/1460-AggregateIdColumns.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/1460-AggregateIdColumns.sql
index 92d37e466d..7ddec198ee 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/1460-AggregateIdColumns.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/1460-AggregateIdColumns.sql
@@ -4,490 +4,490 @@
-- See the LICENSE and NOTICES files in the project root for more information.
CREATE SEQUENCE [edfi].[AcademicWeek_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[AcademicWeek] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AcademicWeek_AggSeq];
+ALTER TABLE [edfi].[AcademicWeek] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AcademicWeek_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_AcademicWeek_AggregateId] ON [edfi].[AcademicWeek] (AggregateId);
CREATE SEQUENCE [edfi].[AccountabilityRating_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[AccountabilityRating] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AccountabilityRating_AggSeq];
+ALTER TABLE [edfi].[AccountabilityRating] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AccountabilityRating_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_AccountabilityRating_AggregateId] ON [edfi].[AccountabilityRating] (AggregateId);
CREATE SEQUENCE [edfi].[Assessment_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[Assessment] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Assessment_AggSeq];
+ALTER TABLE [edfi].[Assessment] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Assessment_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_Assessment_AggregateId] ON [edfi].[Assessment] (AggregateId);
CREATE SEQUENCE [edfi].[AssessmentAdministration_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[AssessmentAdministration] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AssessmentAdministration_AggSeq];
+ALTER TABLE [edfi].[AssessmentAdministration] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AssessmentAdministration_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_AssessmentAdministration_AggregateId] ON [edfi].[AssessmentAdministration] (AggregateId);
+CREATE SEQUENCE [edfi].[AssessmentAdministrationParticipation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
+ALTER TABLE [edfi].[AssessmentAdministrationParticipation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AssessmentAdministrationParticipation_AggSeq], AggregateData varbinary(8000);
+CREATE INDEX [IX_AssessmentAdministrationParticipation_AggregateId] ON [edfi].[AssessmentAdministrationParticipation] (AggregateId);
+
CREATE SEQUENCE [edfi].[AssessmentBatteryPart_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[AssessmentBatteryPart] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AssessmentBatteryPart_AggSeq];
+ALTER TABLE [edfi].[AssessmentBatteryPart] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AssessmentBatteryPart_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_AssessmentBatteryPart_AggregateId] ON [edfi].[AssessmentBatteryPart] (AggregateId);
CREATE SEQUENCE [edfi].[AssessmentItem_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[AssessmentItem] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AssessmentItem_AggSeq];
+ALTER TABLE [edfi].[AssessmentItem] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AssessmentItem_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_AssessmentItem_AggregateId] ON [edfi].[AssessmentItem] (AggregateId);
CREATE SEQUENCE [edfi].[AssessmentScoreRangeLearningStandard_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[AssessmentScoreRangeLearningStandard] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AssessmentScoreRangeLearningStandard_AggSeq];
+ALTER TABLE [edfi].[AssessmentScoreRangeLearningStandard] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AssessmentScoreRangeLearningStandard_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_AssessmentScoreRangeLearningStandard_AggregateId] ON [edfi].[AssessmentScoreRangeLearningStandard] (AggregateId);
-CREATE SEQUENCE [edfi].[AssesssmentAdministrationParticipation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[AssesssmentAdministrationParticipation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[AssesssmentAdministrationParticipation_AggSeq];
-CREATE INDEX [IX_AssesssmentAdministrationParticipation_AggregateId] ON [edfi].[AssesssmentAdministrationParticipation] (AggregateId);
-
CREATE SEQUENCE [edfi].[BalanceSheetDimension_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[BalanceSheetDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[BalanceSheetDimension_AggSeq];
+ALTER TABLE [edfi].[BalanceSheetDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[BalanceSheetDimension_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_BalanceSheetDimension_AggregateId] ON [edfi].[BalanceSheetDimension] (AggregateId);
CREATE SEQUENCE [edfi].[BellSchedule_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[BellSchedule] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[BellSchedule_AggSeq];
+ALTER TABLE [edfi].[BellSchedule] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[BellSchedule_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_BellSchedule_AggregateId] ON [edfi].[BellSchedule] (AggregateId);
CREATE SEQUENCE [edfi].[Calendar_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[Calendar] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Calendar_AggSeq];
+ALTER TABLE [edfi].[Calendar] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Calendar_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_Calendar_AggregateId] ON [edfi].[Calendar] (AggregateId);
CREATE SEQUENCE [edfi].[CalendarDate_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[CalendarDate] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[CalendarDate_AggSeq];
+ALTER TABLE [edfi].[CalendarDate] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[CalendarDate_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_CalendarDate_AggregateId] ON [edfi].[CalendarDate] (AggregateId);
CREATE SEQUENCE [edfi].[ChartOfAccount_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[ChartOfAccount] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ChartOfAccount_AggSeq];
+ALTER TABLE [edfi].[ChartOfAccount] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ChartOfAccount_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_ChartOfAccount_AggregateId] ON [edfi].[ChartOfAccount] (AggregateId);
CREATE SEQUENCE [edfi].[ClassPeriod_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[ClassPeriod] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ClassPeriod_AggSeq];
+ALTER TABLE [edfi].[ClassPeriod] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ClassPeriod_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_ClassPeriod_AggregateId] ON [edfi].[ClassPeriod] (AggregateId);
CREATE SEQUENCE [edfi].[Cohort_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[Cohort] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Cohort_AggSeq];
+ALTER TABLE [edfi].[Cohort] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Cohort_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_Cohort_AggregateId] ON [edfi].[Cohort] (AggregateId);
CREATE SEQUENCE [edfi].[CommunityProviderLicense_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[CommunityProviderLicense] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[CommunityProviderLicense_AggSeq];
+ALTER TABLE [edfi].[CommunityProviderLicense] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[CommunityProviderLicense_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_CommunityProviderLicense_AggregateId] ON [edfi].[CommunityProviderLicense] (AggregateId);
CREATE SEQUENCE [edfi].[CompetencyObjective_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[CompetencyObjective] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[CompetencyObjective_AggSeq];
+ALTER TABLE [edfi].[CompetencyObjective] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[CompetencyObjective_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_CompetencyObjective_AggregateId] ON [edfi].[CompetencyObjective] (AggregateId);
CREATE SEQUENCE [edfi].[Contact_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[Contact] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Contact_AggSeq];
+ALTER TABLE [edfi].[Contact] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Contact_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_Contact_AggregateId] ON [edfi].[Contact] (AggregateId);
CREATE SEQUENCE [edfi].[Course_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[Course] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Course_AggSeq];
+ALTER TABLE [edfi].[Course] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Course_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_Course_AggregateId] ON [edfi].[Course] (AggregateId);
CREATE SEQUENCE [edfi].[CourseOffering_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[CourseOffering] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[CourseOffering_AggSeq];
+ALTER TABLE [edfi].[CourseOffering] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[CourseOffering_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_CourseOffering_AggregateId] ON [edfi].[CourseOffering] (AggregateId);
CREATE SEQUENCE [edfi].[CourseTranscript_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[CourseTranscript] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[CourseTranscript_AggSeq];
+ALTER TABLE [edfi].[CourseTranscript] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[CourseTranscript_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_CourseTranscript_AggregateId] ON [edfi].[CourseTranscript] (AggregateId);
CREATE SEQUENCE [edfi].[Credential_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[Credential] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Credential_AggSeq];
+ALTER TABLE [edfi].[Credential] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Credential_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_Credential_AggregateId] ON [edfi].[Credential] (AggregateId);
CREATE SEQUENCE [edfi].[CrisisEvent_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[CrisisEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[CrisisEvent_AggSeq];
+ALTER TABLE [edfi].[CrisisEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[CrisisEvent_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_CrisisEvent_AggregateId] ON [edfi].[CrisisEvent] (AggregateId);
CREATE SEQUENCE [edfi].[Descriptor_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[Descriptor] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Descriptor_AggSeq];
+ALTER TABLE [edfi].[Descriptor] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Descriptor_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_Descriptor_AggregateId] ON [edfi].[Descriptor] (AggregateId);
CREATE SEQUENCE [edfi].[DescriptorMapping_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[DescriptorMapping] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[DescriptorMapping_AggSeq];
+ALTER TABLE [edfi].[DescriptorMapping] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[DescriptorMapping_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_DescriptorMapping_AggregateId] ON [edfi].[DescriptorMapping] (AggregateId);
CREATE SEQUENCE [edfi].[DisciplineAction_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[DisciplineAction] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[DisciplineAction_AggSeq];
+ALTER TABLE [edfi].[DisciplineAction] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[DisciplineAction_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_DisciplineAction_AggregateId] ON [edfi].[DisciplineAction] (AggregateId);
CREATE SEQUENCE [edfi].[DisciplineIncident_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[DisciplineIncident] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[DisciplineIncident_AggSeq];
+ALTER TABLE [edfi].[DisciplineIncident] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[DisciplineIncident_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_DisciplineIncident_AggregateId] ON [edfi].[DisciplineIncident] (AggregateId);
CREATE SEQUENCE [edfi].[EducationContent_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[EducationContent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[EducationContent_AggSeq];
+ALTER TABLE [edfi].[EducationContent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[EducationContent_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_EducationContent_AggregateId] ON [edfi].[EducationContent] (AggregateId);
CREATE SEQUENCE [edfi].[EducationOrganization_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[EducationOrganization] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[EducationOrganization_AggSeq];
+ALTER TABLE [edfi].[EducationOrganization] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[EducationOrganization_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_EducationOrganization_AggregateId] ON [edfi].[EducationOrganization] (AggregateId);
CREATE SEQUENCE [edfi].[EducationOrganizationInterventionPrescriptionAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[EducationOrganizationInterventionPrescriptionAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[EducationOrganizationInterventionPrescriptionAssociation_AggSeq];
+ALTER TABLE [edfi].[EducationOrganizationInterventionPrescriptionAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[EducationOrganizationInterventionPrescriptionAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_EducationOrganizationInterventionPrescriptionAssociation_AggregateId] ON [edfi].[EducationOrganizationInterventionPrescriptionAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[EducationOrganizationNetworkAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[EducationOrganizationNetworkAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[EducationOrganizationNetworkAssociation_AggSeq];
+ALTER TABLE [edfi].[EducationOrganizationNetworkAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[EducationOrganizationNetworkAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_EducationOrganizationNetworkAssociation_AggregateId] ON [edfi].[EducationOrganizationNetworkAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[EducationOrganizationPeerAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[EducationOrganizationPeerAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[EducationOrganizationPeerAssociation_AggSeq];
+ALTER TABLE [edfi].[EducationOrganizationPeerAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[EducationOrganizationPeerAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_EducationOrganizationPeerAssociation_AggregateId] ON [edfi].[EducationOrganizationPeerAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[EvaluationRubricDimension_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[EvaluationRubricDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[EvaluationRubricDimension_AggSeq];
+ALTER TABLE [edfi].[EvaluationRubricDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[EvaluationRubricDimension_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_EvaluationRubricDimension_AggregateId] ON [edfi].[EvaluationRubricDimension] (AggregateId);
CREATE SEQUENCE [edfi].[FeederSchoolAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[FeederSchoolAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[FeederSchoolAssociation_AggSeq];
+ALTER TABLE [edfi].[FeederSchoolAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[FeederSchoolAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_FeederSchoolAssociation_AggregateId] ON [edfi].[FeederSchoolAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[FunctionDimension_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[FunctionDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[FunctionDimension_AggSeq];
+ALTER TABLE [edfi].[FunctionDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[FunctionDimension_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_FunctionDimension_AggregateId] ON [edfi].[FunctionDimension] (AggregateId);
CREATE SEQUENCE [edfi].[FundDimension_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[FundDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[FundDimension_AggSeq];
+ALTER TABLE [edfi].[FundDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[FundDimension_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_FundDimension_AggregateId] ON [edfi].[FundDimension] (AggregateId);
CREATE SEQUENCE [edfi].[GeneralStudentProgramAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[GeneralStudentProgramAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[GeneralStudentProgramAssociation_AggSeq];
+ALTER TABLE [edfi].[GeneralStudentProgramAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[GeneralStudentProgramAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_GeneralStudentProgramAssociation_AggregateId] ON [edfi].[GeneralStudentProgramAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[Grade_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[Grade] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Grade_AggSeq];
+ALTER TABLE [edfi].[Grade] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Grade_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_Grade_AggregateId] ON [edfi].[Grade] (AggregateId);
CREATE SEQUENCE [edfi].[GradebookEntry_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[GradebookEntry] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[GradebookEntry_AggSeq];
+ALTER TABLE [edfi].[GradebookEntry] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[GradebookEntry_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_GradebookEntry_AggregateId] ON [edfi].[GradebookEntry] (AggregateId);
CREATE SEQUENCE [edfi].[GradingPeriod_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[GradingPeriod] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[GradingPeriod_AggSeq];
+ALTER TABLE [edfi].[GradingPeriod] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[GradingPeriod_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_GradingPeriod_AggregateId] ON [edfi].[GradingPeriod] (AggregateId);
CREATE SEQUENCE [edfi].[GraduationPlan_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[GraduationPlan] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[GraduationPlan_AggSeq];
+ALTER TABLE [edfi].[GraduationPlan] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[GraduationPlan_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_GraduationPlan_AggregateId] ON [edfi].[GraduationPlan] (AggregateId);
CREATE SEQUENCE [edfi].[Intervention_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[Intervention] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Intervention_AggSeq];
+ALTER TABLE [edfi].[Intervention] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Intervention_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_Intervention_AggregateId] ON [edfi].[Intervention] (AggregateId);
CREATE SEQUENCE [edfi].[InterventionPrescription_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[InterventionPrescription] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[InterventionPrescription_AggSeq];
+ALTER TABLE [edfi].[InterventionPrescription] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[InterventionPrescription_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_InterventionPrescription_AggregateId] ON [edfi].[InterventionPrescription] (AggregateId);
CREATE SEQUENCE [edfi].[InterventionStudy_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[InterventionStudy] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[InterventionStudy_AggSeq];
+ALTER TABLE [edfi].[InterventionStudy] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[InterventionStudy_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_InterventionStudy_AggregateId] ON [edfi].[InterventionStudy] (AggregateId);
CREATE SEQUENCE [edfi].[LearningStandard_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[LearningStandard] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LearningStandard_AggSeq];
+ALTER TABLE [edfi].[LearningStandard] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LearningStandard_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_LearningStandard_AggregateId] ON [edfi].[LearningStandard] (AggregateId);
CREATE SEQUENCE [edfi].[LearningStandardEquivalenceAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[LearningStandardEquivalenceAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LearningStandardEquivalenceAssociation_AggSeq];
+ALTER TABLE [edfi].[LearningStandardEquivalenceAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LearningStandardEquivalenceAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_LearningStandardEquivalenceAssociation_AggregateId] ON [edfi].[LearningStandardEquivalenceAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[LocalAccount_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[LocalAccount] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LocalAccount_AggSeq];
+ALTER TABLE [edfi].[LocalAccount] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LocalAccount_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_LocalAccount_AggregateId] ON [edfi].[LocalAccount] (AggregateId);
CREATE SEQUENCE [edfi].[LocalActual_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[LocalActual] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LocalActual_AggSeq];
+ALTER TABLE [edfi].[LocalActual] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LocalActual_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_LocalActual_AggregateId] ON [edfi].[LocalActual] (AggregateId);
CREATE SEQUENCE [edfi].[LocalBudget_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[LocalBudget] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LocalBudget_AggSeq];
+ALTER TABLE [edfi].[LocalBudget] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LocalBudget_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_LocalBudget_AggregateId] ON [edfi].[LocalBudget] (AggregateId);
CREATE SEQUENCE [edfi].[LocalContractedStaff_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[LocalContractedStaff] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LocalContractedStaff_AggSeq];
+ALTER TABLE [edfi].[LocalContractedStaff] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LocalContractedStaff_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_LocalContractedStaff_AggregateId] ON [edfi].[LocalContractedStaff] (AggregateId);
CREATE SEQUENCE [edfi].[LocalEncumbrance_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[LocalEncumbrance] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LocalEncumbrance_AggSeq];
+ALTER TABLE [edfi].[LocalEncumbrance] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LocalEncumbrance_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_LocalEncumbrance_AggregateId] ON [edfi].[LocalEncumbrance] (AggregateId);
CREATE SEQUENCE [edfi].[LocalPayroll_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[LocalPayroll] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LocalPayroll_AggSeq];
+ALTER TABLE [edfi].[LocalPayroll] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[LocalPayroll_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_LocalPayroll_AggregateId] ON [edfi].[LocalPayroll] (AggregateId);
CREATE SEQUENCE [edfi].[Location_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[Location] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Location_AggSeq];
+ALTER TABLE [edfi].[Location] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Location_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_Location_AggregateId] ON [edfi].[Location] (AggregateId);
CREATE SEQUENCE [edfi].[ObjectDimension_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[ObjectDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ObjectDimension_AggSeq];
+ALTER TABLE [edfi].[ObjectDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ObjectDimension_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_ObjectDimension_AggregateId] ON [edfi].[ObjectDimension] (AggregateId);
CREATE SEQUENCE [edfi].[ObjectiveAssessment_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[ObjectiveAssessment] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ObjectiveAssessment_AggSeq];
+ALTER TABLE [edfi].[ObjectiveAssessment] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ObjectiveAssessment_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_ObjectiveAssessment_AggregateId] ON [edfi].[ObjectiveAssessment] (AggregateId);
CREATE SEQUENCE [edfi].[OpenStaffPosition_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[OpenStaffPosition] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[OpenStaffPosition_AggSeq];
+ALTER TABLE [edfi].[OpenStaffPosition] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[OpenStaffPosition_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_OpenStaffPosition_AggregateId] ON [edfi].[OpenStaffPosition] (AggregateId);
CREATE SEQUENCE [edfi].[OperationalUnitDimension_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[OperationalUnitDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[OperationalUnitDimension_AggSeq];
+ALTER TABLE [edfi].[OperationalUnitDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[OperationalUnitDimension_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_OperationalUnitDimension_AggregateId] ON [edfi].[OperationalUnitDimension] (AggregateId);
CREATE SEQUENCE [edfi].[Person_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[Person] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Person_AggSeq];
+ALTER TABLE [edfi].[Person] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Person_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_Person_AggregateId] ON [edfi].[Person] (AggregateId);
CREATE SEQUENCE [edfi].[PostSecondaryEvent_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[PostSecondaryEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[PostSecondaryEvent_AggSeq];
+ALTER TABLE [edfi].[PostSecondaryEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[PostSecondaryEvent_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_PostSecondaryEvent_AggregateId] ON [edfi].[PostSecondaryEvent] (AggregateId);
CREATE SEQUENCE [edfi].[Program_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[Program] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Program_AggSeq];
+ALTER TABLE [edfi].[Program] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Program_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_Program_AggregateId] ON [edfi].[Program] (AggregateId);
CREATE SEQUENCE [edfi].[ProgramDimension_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[ProgramDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ProgramDimension_AggSeq];
+ALTER TABLE [edfi].[ProgramDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ProgramDimension_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_ProgramDimension_AggregateId] ON [edfi].[ProgramDimension] (AggregateId);
CREATE SEQUENCE [edfi].[ProgramEvaluation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[ProgramEvaluation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ProgramEvaluation_AggSeq];
+ALTER TABLE [edfi].[ProgramEvaluation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ProgramEvaluation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_ProgramEvaluation_AggregateId] ON [edfi].[ProgramEvaluation] (AggregateId);
CREATE SEQUENCE [edfi].[ProgramEvaluationElement_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[ProgramEvaluationElement] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ProgramEvaluationElement_AggSeq];
+ALTER TABLE [edfi].[ProgramEvaluationElement] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ProgramEvaluationElement_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_ProgramEvaluationElement_AggregateId] ON [edfi].[ProgramEvaluationElement] (AggregateId);
CREATE SEQUENCE [edfi].[ProgramEvaluationObjective_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[ProgramEvaluationObjective] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ProgramEvaluationObjective_AggSeq];
+ALTER TABLE [edfi].[ProgramEvaluationObjective] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ProgramEvaluationObjective_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_ProgramEvaluationObjective_AggregateId] ON [edfi].[ProgramEvaluationObjective] (AggregateId);
CREATE SEQUENCE [edfi].[ProjectDimension_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[ProjectDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ProjectDimension_AggSeq];
+ALTER TABLE [edfi].[ProjectDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ProjectDimension_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_ProjectDimension_AggregateId] ON [edfi].[ProjectDimension] (AggregateId);
CREATE SEQUENCE [edfi].[ReportCard_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[ReportCard] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ReportCard_AggSeq];
+ALTER TABLE [edfi].[ReportCard] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[ReportCard_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_ReportCard_AggregateId] ON [edfi].[ReportCard] (AggregateId);
CREATE SEQUENCE [edfi].[RestraintEvent_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[RestraintEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[RestraintEvent_AggSeq];
+ALTER TABLE [edfi].[RestraintEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[RestraintEvent_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_RestraintEvent_AggregateId] ON [edfi].[RestraintEvent] (AggregateId);
CREATE SEQUENCE [edfi].[SchoolYearType_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[SchoolYearType] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SchoolYearType_AggSeq];
+ALTER TABLE [edfi].[SchoolYearType] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SchoolYearType_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_SchoolYearType_AggregateId] ON [edfi].[SchoolYearType] (AggregateId);
CREATE SEQUENCE [edfi].[Section_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[Section] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Section_AggSeq];
+ALTER TABLE [edfi].[Section] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Section_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_Section_AggregateId] ON [edfi].[Section] (AggregateId);
CREATE SEQUENCE [edfi].[SectionAttendanceTakenEvent_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[SectionAttendanceTakenEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SectionAttendanceTakenEvent_AggSeq];
+ALTER TABLE [edfi].[SectionAttendanceTakenEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SectionAttendanceTakenEvent_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_SectionAttendanceTakenEvent_AggregateId] ON [edfi].[SectionAttendanceTakenEvent] (AggregateId);
CREATE SEQUENCE [edfi].[Session_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[Session] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Session_AggSeq];
+ALTER TABLE [edfi].[Session] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Session_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_Session_AggregateId] ON [edfi].[Session] (AggregateId);
CREATE SEQUENCE [edfi].[SourceDimension_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[SourceDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SourceDimension_AggSeq];
+ALTER TABLE [edfi].[SourceDimension] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SourceDimension_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_SourceDimension_AggregateId] ON [edfi].[SourceDimension] (AggregateId);
CREATE SEQUENCE [edfi].[Staff_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[Staff] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Staff_AggSeq];
+ALTER TABLE [edfi].[Staff] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Staff_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_Staff_AggregateId] ON [edfi].[Staff] (AggregateId);
CREATE SEQUENCE [edfi].[StaffAbsenceEvent_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StaffAbsenceEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffAbsenceEvent_AggSeq];
+ALTER TABLE [edfi].[StaffAbsenceEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffAbsenceEvent_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StaffAbsenceEvent_AggregateId] ON [edfi].[StaffAbsenceEvent] (AggregateId);
CREATE SEQUENCE [edfi].[StaffCohortAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StaffCohortAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffCohortAssociation_AggSeq];
+ALTER TABLE [edfi].[StaffCohortAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffCohortAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StaffCohortAssociation_AggregateId] ON [edfi].[StaffCohortAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[StaffDisciplineIncidentAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StaffDisciplineIncidentAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffDisciplineIncidentAssociation_AggSeq];
+ALTER TABLE [edfi].[StaffDisciplineIncidentAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffDisciplineIncidentAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StaffDisciplineIncidentAssociation_AggregateId] ON [edfi].[StaffDisciplineIncidentAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[StaffEducationOrganizationAssignmentAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StaffEducationOrganizationAssignmentAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffEducationOrganizationAssignmentAssociation_AggSeq];
+ALTER TABLE [edfi].[StaffEducationOrganizationAssignmentAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffEducationOrganizationAssignmentAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StaffEducationOrganizationAssignmentAssociation_AggregateId] ON [edfi].[StaffEducationOrganizationAssignmentAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[StaffEducationOrganizationContactAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StaffEducationOrganizationContactAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffEducationOrganizationContactAssociation_AggSeq];
+ALTER TABLE [edfi].[StaffEducationOrganizationContactAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffEducationOrganizationContactAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StaffEducationOrganizationContactAssociation_AggregateId] ON [edfi].[StaffEducationOrganizationContactAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[StaffEducationOrganizationEmploymentAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StaffEducationOrganizationEmploymentAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffEducationOrganizationEmploymentAssociation_AggSeq];
+ALTER TABLE [edfi].[StaffEducationOrganizationEmploymentAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffEducationOrganizationEmploymentAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StaffEducationOrganizationEmploymentAssociation_AggregateId] ON [edfi].[StaffEducationOrganizationEmploymentAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[StaffLeave_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StaffLeave] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffLeave_AggSeq];
+ALTER TABLE [edfi].[StaffLeave] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffLeave_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StaffLeave_AggregateId] ON [edfi].[StaffLeave] (AggregateId);
CREATE SEQUENCE [edfi].[StaffProgramAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StaffProgramAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffProgramAssociation_AggSeq];
+ALTER TABLE [edfi].[StaffProgramAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffProgramAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StaffProgramAssociation_AggregateId] ON [edfi].[StaffProgramAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[StaffSchoolAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StaffSchoolAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffSchoolAssociation_AggSeq];
+ALTER TABLE [edfi].[StaffSchoolAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffSchoolAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StaffSchoolAssociation_AggregateId] ON [edfi].[StaffSchoolAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[StaffSectionAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StaffSectionAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffSectionAssociation_AggSeq];
+ALTER TABLE [edfi].[StaffSectionAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StaffSectionAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StaffSectionAssociation_AggregateId] ON [edfi].[StaffSectionAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[Student_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[Student] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Student_AggSeq];
+ALTER TABLE [edfi].[Student] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Student_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_Student_AggregateId] ON [edfi].[Student] (AggregateId);
CREATE SEQUENCE [edfi].[StudentAcademicRecord_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StudentAcademicRecord] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentAcademicRecord_AggSeq];
+ALTER TABLE [edfi].[StudentAcademicRecord] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentAcademicRecord_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StudentAcademicRecord_AggregateId] ON [edfi].[StudentAcademicRecord] (AggregateId);
CREATE SEQUENCE [edfi].[StudentAssessment_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StudentAssessment] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentAssessment_AggSeq];
+ALTER TABLE [edfi].[StudentAssessment] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentAssessment_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StudentAssessment_AggregateId] ON [edfi].[StudentAssessment] (AggregateId);
CREATE SEQUENCE [edfi].[StudentAssessmentEducationOrganizationAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StudentAssessmentEducationOrganizationAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentAssessmentEducationOrganizationAssociation_AggSeq];
+ALTER TABLE [edfi].[StudentAssessmentEducationOrganizationAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentAssessmentEducationOrganizationAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StudentAssessmentEducationOrganizationAssociation_AggregateId] ON [edfi].[StudentAssessmentEducationOrganizationAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[StudentAssessmentRegistration_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StudentAssessmentRegistration] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentAssessmentRegistration_AggSeq];
+ALTER TABLE [edfi].[StudentAssessmentRegistration] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentAssessmentRegistration_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StudentAssessmentRegistration_AggregateId] ON [edfi].[StudentAssessmentRegistration] (AggregateId);
CREATE SEQUENCE [edfi].[StudentAssessmentRegistrationBatteryPartAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StudentAssessmentRegistrationBatteryPartAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentAssessmentRegistrationBatteryPartAssociation_AggSeq];
+ALTER TABLE [edfi].[StudentAssessmentRegistrationBatteryPartAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentAssessmentRegistrationBatteryPartAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StudentAssessmentRegistrationBatteryPartAssociation_AggregateId] ON [edfi].[StudentAssessmentRegistrationBatteryPartAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[StudentCohortAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StudentCohortAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentCohortAssociation_AggSeq];
+ALTER TABLE [edfi].[StudentCohortAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentCohortAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StudentCohortAssociation_AggregateId] ON [edfi].[StudentCohortAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[StudentCompetencyObjective_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StudentCompetencyObjective] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentCompetencyObjective_AggSeq];
+ALTER TABLE [edfi].[StudentCompetencyObjective] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentCompetencyObjective_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StudentCompetencyObjective_AggregateId] ON [edfi].[StudentCompetencyObjective] (AggregateId);
CREATE SEQUENCE [edfi].[StudentContactAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StudentContactAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentContactAssociation_AggSeq];
+ALTER TABLE [edfi].[StudentContactAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentContactAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StudentContactAssociation_AggregateId] ON [edfi].[StudentContactAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[StudentDisciplineIncidentBehaviorAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StudentDisciplineIncidentBehaviorAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentDisciplineIncidentBehaviorAssociation_AggSeq];
+ALTER TABLE [edfi].[StudentDisciplineIncidentBehaviorAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentDisciplineIncidentBehaviorAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StudentDisciplineIncidentBehaviorAssociation_AggregateId] ON [edfi].[StudentDisciplineIncidentBehaviorAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[StudentDisciplineIncidentNonOffenderAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StudentDisciplineIncidentNonOffenderAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentDisciplineIncidentNonOffenderAssociation_AggSeq];
+ALTER TABLE [edfi].[StudentDisciplineIncidentNonOffenderAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentDisciplineIncidentNonOffenderAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StudentDisciplineIncidentNonOffenderAssociation_AggregateId] ON [edfi].[StudentDisciplineIncidentNonOffenderAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[StudentEducationOrganizationAssessmentAccommodation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StudentEducationOrganizationAssessmentAccommodation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentEducationOrganizationAssessmentAccommodation_AggSeq];
+ALTER TABLE [edfi].[StudentEducationOrganizationAssessmentAccommodation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentEducationOrganizationAssessmentAccommodation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StudentEducationOrganizationAssessmentAccommodation_AggregateId] ON [edfi].[StudentEducationOrganizationAssessmentAccommodation] (AggregateId);
CREATE SEQUENCE [edfi].[StudentEducationOrganizationAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StudentEducationOrganizationAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentEducationOrganizationAssociation_AggSeq];
+ALTER TABLE [edfi].[StudentEducationOrganizationAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentEducationOrganizationAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StudentEducationOrganizationAssociation_AggregateId] ON [edfi].[StudentEducationOrganizationAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[StudentEducationOrganizationResponsibilityAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StudentEducationOrganizationResponsibilityAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentEducationOrganizationResponsibilityAssociation_AggSeq];
+ALTER TABLE [edfi].[StudentEducationOrganizationResponsibilityAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentEducationOrganizationResponsibilityAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StudentEducationOrganizationResponsibilityAssociation_AggregateId] ON [edfi].[StudentEducationOrganizationResponsibilityAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[StudentGradebookEntry_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StudentGradebookEntry] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentGradebookEntry_AggSeq];
+ALTER TABLE [edfi].[StudentGradebookEntry] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentGradebookEntry_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StudentGradebookEntry_AggregateId] ON [edfi].[StudentGradebookEntry] (AggregateId);
CREATE SEQUENCE [edfi].[StudentHealth_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StudentHealth] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentHealth_AggSeq];
+ALTER TABLE [edfi].[StudentHealth] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentHealth_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StudentHealth_AggregateId] ON [edfi].[StudentHealth] (AggregateId);
CREATE SEQUENCE [edfi].[StudentInterventionAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StudentInterventionAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentInterventionAssociation_AggSeq];
+ALTER TABLE [edfi].[StudentInterventionAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentInterventionAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StudentInterventionAssociation_AggregateId] ON [edfi].[StudentInterventionAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[StudentInterventionAttendanceEvent_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StudentInterventionAttendanceEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentInterventionAttendanceEvent_AggSeq];
+ALTER TABLE [edfi].[StudentInterventionAttendanceEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentInterventionAttendanceEvent_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StudentInterventionAttendanceEvent_AggregateId] ON [edfi].[StudentInterventionAttendanceEvent] (AggregateId);
CREATE SEQUENCE [edfi].[StudentProgramAttendanceEvent_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StudentProgramAttendanceEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentProgramAttendanceEvent_AggSeq];
+ALTER TABLE [edfi].[StudentProgramAttendanceEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentProgramAttendanceEvent_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StudentProgramAttendanceEvent_AggregateId] ON [edfi].[StudentProgramAttendanceEvent] (AggregateId);
CREATE SEQUENCE [edfi].[StudentProgramEvaluation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StudentProgramEvaluation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentProgramEvaluation_AggSeq];
+ALTER TABLE [edfi].[StudentProgramEvaluation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentProgramEvaluation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StudentProgramEvaluation_AggregateId] ON [edfi].[StudentProgramEvaluation] (AggregateId);
CREATE SEQUENCE [edfi].[StudentSchoolAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StudentSchoolAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentSchoolAssociation_AggSeq];
+ALTER TABLE [edfi].[StudentSchoolAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentSchoolAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StudentSchoolAssociation_AggregateId] ON [edfi].[StudentSchoolAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[StudentSchoolAttendanceEvent_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StudentSchoolAttendanceEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentSchoolAttendanceEvent_AggSeq];
+ALTER TABLE [edfi].[StudentSchoolAttendanceEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentSchoolAttendanceEvent_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StudentSchoolAttendanceEvent_AggregateId] ON [edfi].[StudentSchoolAttendanceEvent] (AggregateId);
CREATE SEQUENCE [edfi].[StudentSectionAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StudentSectionAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentSectionAssociation_AggSeq];
+ALTER TABLE [edfi].[StudentSectionAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentSectionAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StudentSectionAssociation_AggregateId] ON [edfi].[StudentSectionAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[StudentSectionAttendanceEvent_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StudentSectionAttendanceEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentSectionAttendanceEvent_AggSeq];
+ALTER TABLE [edfi].[StudentSectionAttendanceEvent] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentSectionAttendanceEvent_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StudentSectionAttendanceEvent_AggregateId] ON [edfi].[StudentSectionAttendanceEvent] (AggregateId);
CREATE SEQUENCE [edfi].[StudentSpecialEducationProgramEligibilityAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StudentSpecialEducationProgramEligibilityAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentSpecialEducationProgramEligibilityAssociation_AggSeq];
+ALTER TABLE [edfi].[StudentSpecialEducationProgramEligibilityAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentSpecialEducationProgramEligibilityAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StudentSpecialEducationProgramEligibilityAssociation_AggregateId] ON [edfi].[StudentSpecialEducationProgramEligibilityAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[StudentTransportation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[StudentTransportation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentTransportation_AggSeq];
+ALTER TABLE [edfi].[StudentTransportation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[StudentTransportation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_StudentTransportation_AggregateId] ON [edfi].[StudentTransportation] (AggregateId);
CREATE SEQUENCE [edfi].[Survey_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[Survey] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Survey_AggSeq];
+ALTER TABLE [edfi].[Survey] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[Survey_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_Survey_AggregateId] ON [edfi].[Survey] (AggregateId);
CREATE SEQUENCE [edfi].[SurveyCourseAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[SurveyCourseAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyCourseAssociation_AggSeq];
+ALTER TABLE [edfi].[SurveyCourseAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyCourseAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_SurveyCourseAssociation_AggregateId] ON [edfi].[SurveyCourseAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[SurveyProgramAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[SurveyProgramAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyProgramAssociation_AggSeq];
+ALTER TABLE [edfi].[SurveyProgramAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyProgramAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_SurveyProgramAssociation_AggregateId] ON [edfi].[SurveyProgramAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[SurveyQuestion_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[SurveyQuestion] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyQuestion_AggSeq];
+ALTER TABLE [edfi].[SurveyQuestion] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyQuestion_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_SurveyQuestion_AggregateId] ON [edfi].[SurveyQuestion] (AggregateId);
CREATE SEQUENCE [edfi].[SurveyQuestionResponse_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[SurveyQuestionResponse] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyQuestionResponse_AggSeq];
+ALTER TABLE [edfi].[SurveyQuestionResponse] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyQuestionResponse_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_SurveyQuestionResponse_AggregateId] ON [edfi].[SurveyQuestionResponse] (AggregateId);
CREATE SEQUENCE [edfi].[SurveyResponse_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[SurveyResponse] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyResponse_AggSeq];
+ALTER TABLE [edfi].[SurveyResponse] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyResponse_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_SurveyResponse_AggregateId] ON [edfi].[SurveyResponse] (AggregateId);
CREATE SEQUENCE [edfi].[SurveyResponseEducationOrganizationTargetAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[SurveyResponseEducationOrganizationTargetAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyResponseEducationOrganizationTargetAssociation_AggSeq];
+ALTER TABLE [edfi].[SurveyResponseEducationOrganizationTargetAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyResponseEducationOrganizationTargetAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_SurveyResponseEducationOrganizationTargetAssociation_AggregateId] ON [edfi].[SurveyResponseEducationOrganizationTargetAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[SurveyResponseStaffTargetAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[SurveyResponseStaffTargetAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyResponseStaffTargetAssociation_AggSeq];
+ALTER TABLE [edfi].[SurveyResponseStaffTargetAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveyResponseStaffTargetAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_SurveyResponseStaffTargetAssociation_AggregateId] ON [edfi].[SurveyResponseStaffTargetAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[SurveySection_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[SurveySection] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveySection_AggSeq];
+ALTER TABLE [edfi].[SurveySection] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveySection_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_SurveySection_AggregateId] ON [edfi].[SurveySection] (AggregateId);
CREATE SEQUENCE [edfi].[SurveySectionAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[SurveySectionAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveySectionAssociation_AggSeq];
+ALTER TABLE [edfi].[SurveySectionAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveySectionAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_SurveySectionAssociation_AggregateId] ON [edfi].[SurveySectionAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[SurveySectionResponse_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[SurveySectionResponse] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveySectionResponse_AggSeq];
+ALTER TABLE [edfi].[SurveySectionResponse] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveySectionResponse_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_SurveySectionResponse_AggregateId] ON [edfi].[SurveySectionResponse] (AggregateId);
CREATE SEQUENCE [edfi].[SurveySectionResponseEducationOrganizationTargetAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[SurveySectionResponseEducationOrganizationTargetAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveySectionResponseEducationOrganizationTargetAssociation_AggSeq];
+ALTER TABLE [edfi].[SurveySectionResponseEducationOrganizationTargetAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveySectionResponseEducationOrganizationTargetAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_SurveySectionResponseEducationOrganizationTargetAssociation_AggregateId] ON [edfi].[SurveySectionResponseEducationOrganizationTargetAssociation] (AggregateId);
CREATE SEQUENCE [edfi].[SurveySectionResponseStaffTargetAssociation_AggSeq] START WITH -2147483648 INCREMENT BY 1;
-ALTER TABLE [edfi].[SurveySectionResponseStaffTargetAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveySectionResponseStaffTargetAssociation_AggSeq];
+ALTER TABLE [edfi].[SurveySectionResponseStaffTargetAssociation] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [edfi].[SurveySectionResponseStaffTargetAssociation_AggSeq], AggregateData varbinary(8000);
CREATE INDEX [IX_SurveySectionResponseStaffTargetAssociation_AggregateId] ON [edfi].[SurveySectionResponseStaffTargetAssociation] (AggregateId);
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/1465-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/1465-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql
new file mode 100644
index 0000000000..f813f21715
--- /dev/null
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/1465-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql
@@ -0,0 +1,551 @@
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
+
+
+DROP INDEX IF EXISTS IX_AcademicWeek_SchoolId ON [edfi].[AcademicWeek];
+CREATE INDEX IX_AcademicWeek_SchoolId ON [edfi].[AcademicWeek](SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_AccountabilityRating_EducationOrganizationId ON [edfi].[AccountabilityRating];
+CREATE INDEX IX_AccountabilityRating_EducationOrganizationId ON [edfi].[AccountabilityRating](EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_Assessment_EducationOrganizationId ON [edfi].[Assessment];
+CREATE INDEX IX_Assessment_EducationOrganizationId ON [edfi].[Assessment](EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_AssessmentAdministrationParticipation_AssigningEducationOrganizationId ON [edfi].[AssessmentAdministrationParticipation];
+CREATE INDEX IX_AssessmentAdministrationParticipation_AssigningEducationOrganizationId ON [edfi].[AssessmentAdministrationParticipation](AssigningEducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_BellSchedule_SchoolId ON [edfi].[BellSchedule];
+CREATE INDEX IX_BellSchedule_SchoolId ON [edfi].[BellSchedule](SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_Calendar_SchoolId ON [edfi].[Calendar];
+CREATE INDEX IX_Calendar_SchoolId ON [edfi].[Calendar](SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_CalendarDate_SchoolId ON [edfi].[CalendarDate];
+CREATE INDEX IX_CalendarDate_SchoolId ON [edfi].[CalendarDate](SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_ChartOfAccount_EducationOrganizationId ON [edfi].[ChartOfAccount];
+CREATE INDEX IX_ChartOfAccount_EducationOrganizationId ON [edfi].[ChartOfAccount](EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_ClassPeriod_SchoolId ON [edfi].[ClassPeriod];
+CREATE INDEX IX_ClassPeriod_SchoolId ON [edfi].[ClassPeriod](SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_Cohort_EducationOrganizationId ON [edfi].[Cohort];
+CREATE INDEX IX_Cohort_EducationOrganizationId ON [edfi].[Cohort](EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_CommunityProviderLicense_CommunityProviderId ON [edfi].[CommunityProviderLicense];
+CREATE INDEX IX_CommunityProviderLicense_CommunityProviderId ON [edfi].[CommunityProviderLicense](CommunityProviderId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_CompetencyObjective_EducationOrganizationId ON [edfi].[CompetencyObjective];
+CREATE INDEX IX_CompetencyObjective_EducationOrganizationId ON [edfi].[CompetencyObjective](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_Contact_ContactUSI' AND object_id = OBJECT_ID('edfi.Contact'))
+BEGIN
+ CREATE INDEX IX_Contact_ContactUSI ON [edfi].[Contact](ContactUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_Course_EducationOrganizationId ON [edfi].[Course];
+CREATE INDEX IX_Course_EducationOrganizationId ON [edfi].[Course](EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_CourseOffering_SchoolId ON [edfi].[CourseOffering];
+CREATE INDEX IX_CourseOffering_SchoolId ON [edfi].[CourseOffering](SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_CourseOffering_EducationOrganizationId ON [edfi].[CourseOffering];
+CREATE INDEX IX_CourseOffering_EducationOrganizationId ON [edfi].[CourseOffering](EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_CourseTranscript_EducationOrganizationId ON [edfi].[CourseTranscript];
+CREATE INDEX IX_CourseTranscript_EducationOrganizationId ON [edfi].[CourseTranscript](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_CourseTranscript_StudentUSI' AND object_id = OBJECT_ID('edfi.CourseTranscript'))
+BEGIN
+ CREATE INDEX IX_CourseTranscript_StudentUSI ON [edfi].[CourseTranscript](StudentUSI) INCLUDE (AggregateId)
+END;
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_CourseTranscript_ResponsibleTeacherStaffUSI' AND object_id = OBJECT_ID('edfi.CourseTranscript'))
+BEGIN
+ CREATE INDEX IX_CourseTranscript_ResponsibleTeacherStaffUSI ON [edfi].[CourseTranscript](ResponsibleTeacherStaffUSI) INCLUDE (AggregateId)
+END;
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_DisciplineAction_StudentUSI' AND object_id = OBJECT_ID('edfi.DisciplineAction'))
+BEGIN
+ CREATE INDEX IX_DisciplineAction_StudentUSI ON [edfi].[DisciplineAction](StudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_DisciplineIncident_SchoolId ON [edfi].[DisciplineIncident];
+CREATE INDEX IX_DisciplineIncident_SchoolId ON [edfi].[DisciplineIncident](SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_EducationOrganization_EducationOrganizationId ON [edfi].[EducationOrganization];
+CREATE INDEX IX_EducationOrganization_EducationOrganizationId ON [edfi].[EducationOrganization](EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_EducationOrganizationInterventionPrescriptionAssociation_EducationOrganizationId ON [edfi].[EducationOrganizationInterventionPrescriptionAssociation];
+CREATE INDEX IX_EducationOrganizationInterventionPrescriptionAssociation_EducationOrganizationId ON [edfi].[EducationOrganizationInterventionPrescriptionAssociation](EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_EducationOrganizationNetworkAssociation_EducationOrganizationNetworkId ON [edfi].[EducationOrganizationNetworkAssociation];
+CREATE INDEX IX_EducationOrganizationNetworkAssociation_EducationOrganizationNetworkId ON [edfi].[EducationOrganizationNetworkAssociation](EducationOrganizationNetworkId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_EducationOrganizationPeerAssociation_EducationOrganizationId ON [edfi].[EducationOrganizationPeerAssociation];
+CREATE INDEX IX_EducationOrganizationPeerAssociation_EducationOrganizationId ON [edfi].[EducationOrganizationPeerAssociation](EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_EvaluationRubricDimension_ProgramEducationOrganizationId ON [edfi].[EvaluationRubricDimension];
+CREATE INDEX IX_EvaluationRubricDimension_ProgramEducationOrganizationId ON [edfi].[EvaluationRubricDimension](ProgramEducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_FeederSchoolAssociation_SchoolId ON [edfi].[FeederSchoolAssociation];
+CREATE INDEX IX_FeederSchoolAssociation_SchoolId ON [edfi].[FeederSchoolAssociation](SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_GeneralStudentProgramAssociation_EducationOrganizationId ON [edfi].[GeneralStudentProgramAssociation];
+CREATE INDEX IX_GeneralStudentProgramAssociation_EducationOrganizationId ON [edfi].[GeneralStudentProgramAssociation](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_GeneralStudentProgramAssociation_StudentUSI' AND object_id = OBJECT_ID('edfi.GeneralStudentProgramAssociation'))
+BEGIN
+ CREATE INDEX IX_GeneralStudentProgramAssociation_StudentUSI ON [edfi].[GeneralStudentProgramAssociation](StudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_Grade_SchoolId ON [edfi].[Grade];
+CREATE INDEX IX_Grade_SchoolId ON [edfi].[Grade](SchoolId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_Grade_StudentUSI' AND object_id = OBJECT_ID('edfi.Grade'))
+BEGIN
+ CREATE INDEX IX_Grade_StudentUSI ON [edfi].[Grade](StudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_GradebookEntry_SchoolId ON [edfi].[GradebookEntry];
+CREATE INDEX IX_GradebookEntry_SchoolId ON [edfi].[GradebookEntry](SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_GradingPeriod_SchoolId ON [edfi].[GradingPeriod];
+CREATE INDEX IX_GradingPeriod_SchoolId ON [edfi].[GradingPeriod](SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_GraduationPlan_EducationOrganizationId ON [edfi].[GraduationPlan];
+CREATE INDEX IX_GraduationPlan_EducationOrganizationId ON [edfi].[GraduationPlan](EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_Intervention_EducationOrganizationId ON [edfi].[Intervention];
+CREATE INDEX IX_Intervention_EducationOrganizationId ON [edfi].[Intervention](EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_InterventionPrescription_EducationOrganizationId ON [edfi].[InterventionPrescription];
+CREATE INDEX IX_InterventionPrescription_EducationOrganizationId ON [edfi].[InterventionPrescription](EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_InterventionStudy_EducationOrganizationId ON [edfi].[InterventionStudy];
+CREATE INDEX IX_InterventionStudy_EducationOrganizationId ON [edfi].[InterventionStudy](EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_LocalAccount_EducationOrganizationId ON [edfi].[LocalAccount];
+CREATE INDEX IX_LocalAccount_EducationOrganizationId ON [edfi].[LocalAccount](EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_LocalActual_EducationOrganizationId ON [edfi].[LocalActual];
+CREATE INDEX IX_LocalActual_EducationOrganizationId ON [edfi].[LocalActual](EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_LocalBudget_EducationOrganizationId ON [edfi].[LocalBudget];
+CREATE INDEX IX_LocalBudget_EducationOrganizationId ON [edfi].[LocalBudget](EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_LocalContractedStaff_EducationOrganizationId ON [edfi].[LocalContractedStaff];
+CREATE INDEX IX_LocalContractedStaff_EducationOrganizationId ON [edfi].[LocalContractedStaff](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_LocalContractedStaff_StaffUSI' AND object_id = OBJECT_ID('edfi.LocalContractedStaff'))
+BEGIN
+ CREATE INDEX IX_LocalContractedStaff_StaffUSI ON [edfi].[LocalContractedStaff](StaffUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_LocalEncumbrance_EducationOrganizationId ON [edfi].[LocalEncumbrance];
+CREATE INDEX IX_LocalEncumbrance_EducationOrganizationId ON [edfi].[LocalEncumbrance](EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_LocalPayroll_EducationOrganizationId ON [edfi].[LocalPayroll];
+CREATE INDEX IX_LocalPayroll_EducationOrganizationId ON [edfi].[LocalPayroll](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_LocalPayroll_StaffUSI' AND object_id = OBJECT_ID('edfi.LocalPayroll'))
+BEGIN
+ CREATE INDEX IX_LocalPayroll_StaffUSI ON [edfi].[LocalPayroll](StaffUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_Location_SchoolId ON [edfi].[Location];
+CREATE INDEX IX_Location_SchoolId ON [edfi].[Location](SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_OpenStaffPosition_EducationOrganizationId ON [edfi].[OpenStaffPosition];
+CREATE INDEX IX_OpenStaffPosition_EducationOrganizationId ON [edfi].[OpenStaffPosition](EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_PostSecondaryEvent_PostSecondaryInstitutionId ON [edfi].[PostSecondaryEvent];
+CREATE INDEX IX_PostSecondaryEvent_PostSecondaryInstitutionId ON [edfi].[PostSecondaryEvent](PostSecondaryInstitutionId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_PostSecondaryEvent_StudentUSI' AND object_id = OBJECT_ID('edfi.PostSecondaryEvent'))
+BEGIN
+ CREATE INDEX IX_PostSecondaryEvent_StudentUSI ON [edfi].[PostSecondaryEvent](StudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_Program_EducationOrganizationId ON [edfi].[Program];
+CREATE INDEX IX_Program_EducationOrganizationId ON [edfi].[Program](EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_ProgramEvaluationElement_ProgramEducationOrganizationId ON [edfi].[ProgramEvaluationElement];
+CREATE INDEX IX_ProgramEvaluationElement_ProgramEducationOrganizationId ON [edfi].[ProgramEvaluationElement](ProgramEducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_ProgramEvaluationObjective_ProgramEducationOrganizationId ON [edfi].[ProgramEvaluationObjective];
+CREATE INDEX IX_ProgramEvaluationObjective_ProgramEducationOrganizationId ON [edfi].[ProgramEvaluationObjective](ProgramEducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_ReportCard_EducationOrganizationId ON [edfi].[ReportCard];
+CREATE INDEX IX_ReportCard_EducationOrganizationId ON [edfi].[ReportCard](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_ReportCard_StudentUSI' AND object_id = OBJECT_ID('edfi.ReportCard'))
+BEGIN
+ CREATE INDEX IX_ReportCard_StudentUSI ON [edfi].[ReportCard](StudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_RestraintEvent_SchoolId ON [edfi].[RestraintEvent];
+CREATE INDEX IX_RestraintEvent_SchoolId ON [edfi].[RestraintEvent](SchoolId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_RestraintEvent_StudentUSI' AND object_id = OBJECT_ID('edfi.RestraintEvent'))
+BEGIN
+ CREATE INDEX IX_RestraintEvent_StudentUSI ON [edfi].[RestraintEvent](StudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_Section_SchoolId ON [edfi].[Section];
+CREATE INDEX IX_Section_SchoolId ON [edfi].[Section](SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_SectionAttendanceTakenEvent_SchoolId ON [edfi].[SectionAttendanceTakenEvent];
+CREATE INDEX IX_SectionAttendanceTakenEvent_SchoolId ON [edfi].[SectionAttendanceTakenEvent](SchoolId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_SectionAttendanceTakenEvent_StaffUSI' AND object_id = OBJECT_ID('edfi.SectionAttendanceTakenEvent'))
+BEGIN
+ CREATE INDEX IX_SectionAttendanceTakenEvent_StaffUSI ON [edfi].[SectionAttendanceTakenEvent](StaffUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_Session_SchoolId ON [edfi].[Session];
+CREATE INDEX IX_Session_SchoolId ON [edfi].[Session](SchoolId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_Staff_StaffUSI' AND object_id = OBJECT_ID('edfi.Staff'))
+BEGIN
+ CREATE INDEX IX_Staff_StaffUSI ON [edfi].[Staff](StaffUSI) INCLUDE (AggregateId)
+END;
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StaffAbsenceEvent_StaffUSI' AND object_id = OBJECT_ID('edfi.StaffAbsenceEvent'))
+BEGIN
+ CREATE INDEX IX_StaffAbsenceEvent_StaffUSI ON [edfi].[StaffAbsenceEvent](StaffUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StaffCohortAssociation_EducationOrganizationId ON [edfi].[StaffCohortAssociation];
+CREATE INDEX IX_StaffCohortAssociation_EducationOrganizationId ON [edfi].[StaffCohortAssociation](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StaffCohortAssociation_StaffUSI' AND object_id = OBJECT_ID('edfi.StaffCohortAssociation'))
+BEGIN
+ CREATE INDEX IX_StaffCohortAssociation_StaffUSI ON [edfi].[StaffCohortAssociation](StaffUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StaffDisciplineIncidentAssociation_SchoolId ON [edfi].[StaffDisciplineIncidentAssociation];
+CREATE INDEX IX_StaffDisciplineIncidentAssociation_SchoolId ON [edfi].[StaffDisciplineIncidentAssociation](SchoolId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StaffDisciplineIncidentAssociation_StaffUSI' AND object_id = OBJECT_ID('edfi.StaffDisciplineIncidentAssociation'))
+BEGIN
+ CREATE INDEX IX_StaffDisciplineIncidentAssociation_StaffUSI ON [edfi].[StaffDisciplineIncidentAssociation](StaffUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StaffEducationOrganizationAssignmentAssociation_EducationOrganizationId ON [edfi].[StaffEducationOrganizationAssignmentAssociation];
+CREATE INDEX IX_StaffEducationOrganizationAssignmentAssociation_EducationOrganizationId ON [edfi].[StaffEducationOrganizationAssignmentAssociation](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StaffEducationOrganizationAssignmentAssociation_StaffUSI' AND object_id = OBJECT_ID('edfi.StaffEducationOrganizationAssignmentAssociation'))
+BEGIN
+ CREATE INDEX IX_StaffEducationOrganizationAssignmentAssociation_StaffUSI ON [edfi].[StaffEducationOrganizationAssignmentAssociation](StaffUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StaffEducationOrganizationContactAssociation_EducationOrganizationId ON [edfi].[StaffEducationOrganizationContactAssociation];
+CREATE INDEX IX_StaffEducationOrganizationContactAssociation_EducationOrganizationId ON [edfi].[StaffEducationOrganizationContactAssociation](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StaffEducationOrganizationContactAssociation_StaffUSI' AND object_id = OBJECT_ID('edfi.StaffEducationOrganizationContactAssociation'))
+BEGIN
+ CREATE INDEX IX_StaffEducationOrganizationContactAssociation_StaffUSI ON [edfi].[StaffEducationOrganizationContactAssociation](StaffUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StaffEducationOrganizationEmploymentAssociation_EducationOrganizationId ON [edfi].[StaffEducationOrganizationEmploymentAssociation];
+CREATE INDEX IX_StaffEducationOrganizationEmploymentAssociation_EducationOrganizationId ON [edfi].[StaffEducationOrganizationEmploymentAssociation](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StaffEducationOrganizationEmploymentAssociation_StaffUSI' AND object_id = OBJECT_ID('edfi.StaffEducationOrganizationEmploymentAssociation'))
+BEGIN
+ CREATE INDEX IX_StaffEducationOrganizationEmploymentAssociation_StaffUSI ON [edfi].[StaffEducationOrganizationEmploymentAssociation](StaffUSI) INCLUDE (AggregateId)
+END;
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StaffLeave_StaffUSI' AND object_id = OBJECT_ID('edfi.StaffLeave'))
+BEGIN
+ CREATE INDEX IX_StaffLeave_StaffUSI ON [edfi].[StaffLeave](StaffUSI) INCLUDE (AggregateId)
+END;
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StaffProgramAssociation_StaffUSI' AND object_id = OBJECT_ID('edfi.StaffProgramAssociation'))
+BEGIN
+ CREATE INDEX IX_StaffProgramAssociation_StaffUSI ON [edfi].[StaffProgramAssociation](StaffUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StaffSchoolAssociation_SchoolId ON [edfi].[StaffSchoolAssociation];
+CREATE INDEX IX_StaffSchoolAssociation_SchoolId ON [edfi].[StaffSchoolAssociation](SchoolId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StaffSchoolAssociation_StaffUSI' AND object_id = OBJECT_ID('edfi.StaffSchoolAssociation'))
+BEGIN
+ CREATE INDEX IX_StaffSchoolAssociation_StaffUSI ON [edfi].[StaffSchoolAssociation](StaffUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StaffSectionAssociation_SchoolId ON [edfi].[StaffSectionAssociation];
+CREATE INDEX IX_StaffSectionAssociation_SchoolId ON [edfi].[StaffSectionAssociation](SchoolId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StaffSectionAssociation_StaffUSI' AND object_id = OBJECT_ID('edfi.StaffSectionAssociation'))
+BEGIN
+ CREATE INDEX IX_StaffSectionAssociation_StaffUSI ON [edfi].[StaffSectionAssociation](StaffUSI) INCLUDE (AggregateId)
+END;
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_Student_StudentUSI' AND object_id = OBJECT_ID('edfi.Student'))
+BEGIN
+ CREATE INDEX IX_Student_StudentUSI ON [edfi].[Student](StudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StudentAcademicRecord_EducationOrganizationId ON [edfi].[StudentAcademicRecord];
+CREATE INDEX IX_StudentAcademicRecord_EducationOrganizationId ON [edfi].[StudentAcademicRecord](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentAcademicRecord_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentAcademicRecord'))
+BEGIN
+ CREATE INDEX IX_StudentAcademicRecord_StudentUSI ON [edfi].[StudentAcademicRecord](StudentUSI) INCLUDE (AggregateId)
+END;
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentAssessment_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentAssessment'))
+BEGIN
+ CREATE INDEX IX_StudentAssessment_StudentUSI ON [edfi].[StudentAssessment](StudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StudentAssessmentEducationOrganizationAssociation_EducationOrganizationId ON [edfi].[StudentAssessmentEducationOrganizationAssociation];
+CREATE INDEX IX_StudentAssessmentEducationOrganizationAssociation_EducationOrganizationId ON [edfi].[StudentAssessmentEducationOrganizationAssociation](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentAssessmentEducationOrganizationAssociation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentAssessmentEducationOrganizationAssociation'))
+BEGIN
+ CREATE INDEX IX_StudentAssessmentEducationOrganizationAssociation_StudentUSI ON [edfi].[StudentAssessmentEducationOrganizationAssociation](StudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StudentAssessmentRegistration_AssigningEducationOrganizationId ON [edfi].[StudentAssessmentRegistration];
+CREATE INDEX IX_StudentAssessmentRegistration_AssigningEducationOrganizationId ON [edfi].[StudentAssessmentRegistration](AssigningEducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentAssessmentRegistration_EducationOrganizationId ON [edfi].[StudentAssessmentRegistration];
+CREATE INDEX IX_StudentAssessmentRegistration_EducationOrganizationId ON [edfi].[StudentAssessmentRegistration](EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentAssessmentRegistration_SchoolId ON [edfi].[StudentAssessmentRegistration];
+CREATE INDEX IX_StudentAssessmentRegistration_SchoolId ON [edfi].[StudentAssessmentRegistration](SchoolId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentAssessmentRegistration_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentAssessmentRegistration'))
+BEGIN
+ CREATE INDEX IX_StudentAssessmentRegistration_StudentUSI ON [edfi].[StudentAssessmentRegistration](StudentUSI) INCLUDE (AggregateId)
+END;
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentAssessmentRegistration_ScheduledStudentUSI' AND object_id = OBJECT_ID('edfi.StudentAssessmentRegistration'))
+BEGIN
+ CREATE INDEX IX_StudentAssessmentRegistration_ScheduledStudentUSI ON [edfi].[StudentAssessmentRegistration](ScheduledStudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StudentAssessmentRegistrationBatteryPartAssociation_AssigningEducationOrganizationId ON [edfi].[StudentAssessmentRegistrationBatteryPartAssociation];
+CREATE INDEX IX_StudentAssessmentRegistrationBatteryPartAssociation_AssigningEducationOrganizationId ON [edfi].[StudentAssessmentRegistrationBatteryPartAssociation](AssigningEducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentAssessmentRegistrationBatteryPartAssociation_EducationOrganizationId ON [edfi].[StudentAssessmentRegistrationBatteryPartAssociation];
+CREATE INDEX IX_StudentAssessmentRegistrationBatteryPartAssociation_EducationOrganizationId ON [edfi].[StudentAssessmentRegistrationBatteryPartAssociation](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentAssessmentRegistrationBatteryPartAssociation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentAssessmentRegistrationBatteryPartAssociation'))
+BEGIN
+ CREATE INDEX IX_StudentAssessmentRegistrationBatteryPartAssociation_StudentUSI ON [edfi].[StudentAssessmentRegistrationBatteryPartAssociation](StudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StudentCohortAssociation_EducationOrganizationId ON [edfi].[StudentCohortAssociation];
+CREATE INDEX IX_StudentCohortAssociation_EducationOrganizationId ON [edfi].[StudentCohortAssociation](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentCohortAssociation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentCohortAssociation'))
+BEGIN
+ CREATE INDEX IX_StudentCohortAssociation_StudentUSI ON [edfi].[StudentCohortAssociation](StudentUSI) INCLUDE (AggregateId)
+END;
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentCompetencyObjective_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentCompetencyObjective'))
+BEGIN
+ CREATE INDEX IX_StudentCompetencyObjective_StudentUSI ON [edfi].[StudentCompetencyObjective](StudentUSI) INCLUDE (AggregateId)
+END;
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentContactAssociation_ContactUSI' AND object_id = OBJECT_ID('edfi.StudentContactAssociation'))
+BEGIN
+ CREATE INDEX IX_StudentContactAssociation_ContactUSI ON [edfi].[StudentContactAssociation](ContactUSI) INCLUDE (AggregateId)
+END;
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentContactAssociation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentContactAssociation'))
+BEGIN
+ CREATE INDEX IX_StudentContactAssociation_StudentUSI ON [edfi].[StudentContactAssociation](StudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StudentDisciplineIncidentBehaviorAssociation_SchoolId ON [edfi].[StudentDisciplineIncidentBehaviorAssociation];
+CREATE INDEX IX_StudentDisciplineIncidentBehaviorAssociation_SchoolId ON [edfi].[StudentDisciplineIncidentBehaviorAssociation](SchoolId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentDisciplineIncidentBehaviorAssociation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentDisciplineIncidentBehaviorAssociation'))
+BEGIN
+ CREATE INDEX IX_StudentDisciplineIncidentBehaviorAssociation_StudentUSI ON [edfi].[StudentDisciplineIncidentBehaviorAssociation](StudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StudentDisciplineIncidentNonOffenderAssociation_SchoolId ON [edfi].[StudentDisciplineIncidentNonOffenderAssociation];
+CREATE INDEX IX_StudentDisciplineIncidentNonOffenderAssociation_SchoolId ON [edfi].[StudentDisciplineIncidentNonOffenderAssociation](SchoolId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentDisciplineIncidentNonOffenderAssociation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentDisciplineIncidentNonOffenderAssociation'))
+BEGIN
+ CREATE INDEX IX_StudentDisciplineIncidentNonOffenderAssociation_StudentUSI ON [edfi].[StudentDisciplineIncidentNonOffenderAssociation](StudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StudentEducationOrganizationAssessmentAccommodation_EducationOrganizationId ON [edfi].[StudentEducationOrganizationAssessmentAccommodation];
+CREATE INDEX IX_StudentEducationOrganizationAssessmentAccommodation_EducationOrganizationId ON [edfi].[StudentEducationOrganizationAssessmentAccommodation](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentEducationOrganizationAssessmentAccommodation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentEducationOrganizationAssessmentAccommodation'))
+BEGIN
+ CREATE INDEX IX_StudentEducationOrganizationAssessmentAccommodation_StudentUSI ON [edfi].[StudentEducationOrganizationAssessmentAccommodation](StudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StudentEducationOrganizationAssociation_EducationOrganizationId ON [edfi].[StudentEducationOrganizationAssociation];
+CREATE INDEX IX_StudentEducationOrganizationAssociation_EducationOrganizationId ON [edfi].[StudentEducationOrganizationAssociation](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentEducationOrganizationAssociation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentEducationOrganizationAssociation'))
+BEGIN
+ CREATE INDEX IX_StudentEducationOrganizationAssociation_StudentUSI ON [edfi].[StudentEducationOrganizationAssociation](StudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StudentEducationOrganizationResponsibilityAssociation_EducationOrganizationId ON [edfi].[StudentEducationOrganizationResponsibilityAssociation];
+CREATE INDEX IX_StudentEducationOrganizationResponsibilityAssociation_EducationOrganizationId ON [edfi].[StudentEducationOrganizationResponsibilityAssociation](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentEducationOrganizationResponsibilityAssociation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentEducationOrganizationResponsibilityAssociation'))
+BEGIN
+ CREATE INDEX IX_StudentEducationOrganizationResponsibilityAssociation_StudentUSI ON [edfi].[StudentEducationOrganizationResponsibilityAssociation](StudentUSI) INCLUDE (AggregateId)
+END;
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentGradebookEntry_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentGradebookEntry'))
+BEGIN
+ CREATE INDEX IX_StudentGradebookEntry_StudentUSI ON [edfi].[StudentGradebookEntry](StudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StudentHealth_EducationOrganizationId ON [edfi].[StudentHealth];
+CREATE INDEX IX_StudentHealth_EducationOrganizationId ON [edfi].[StudentHealth](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentHealth_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentHealth'))
+BEGIN
+ CREATE INDEX IX_StudentHealth_StudentUSI ON [edfi].[StudentHealth](StudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StudentInterventionAssociation_EducationOrganizationId ON [edfi].[StudentInterventionAssociation];
+CREATE INDEX IX_StudentInterventionAssociation_EducationOrganizationId ON [edfi].[StudentInterventionAssociation](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentInterventionAssociation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentInterventionAssociation'))
+BEGIN
+ CREATE INDEX IX_StudentInterventionAssociation_StudentUSI ON [edfi].[StudentInterventionAssociation](StudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StudentInterventionAttendanceEvent_EducationOrganizationId ON [edfi].[StudentInterventionAttendanceEvent];
+CREATE INDEX IX_StudentInterventionAttendanceEvent_EducationOrganizationId ON [edfi].[StudentInterventionAttendanceEvent](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentInterventionAttendanceEvent_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentInterventionAttendanceEvent'))
+BEGIN
+ CREATE INDEX IX_StudentInterventionAttendanceEvent_StudentUSI ON [edfi].[StudentInterventionAttendanceEvent](StudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StudentProgramAttendanceEvent_EducationOrganizationId ON [edfi].[StudentProgramAttendanceEvent];
+CREATE INDEX IX_StudentProgramAttendanceEvent_EducationOrganizationId ON [edfi].[StudentProgramAttendanceEvent](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentProgramAttendanceEvent_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentProgramAttendanceEvent'))
+BEGIN
+ CREATE INDEX IX_StudentProgramAttendanceEvent_StudentUSI ON [edfi].[StudentProgramAttendanceEvent](StudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StudentProgramEvaluation_ProgramEducationOrganizationId ON [edfi].[StudentProgramEvaluation];
+CREATE INDEX IX_StudentProgramEvaluation_ProgramEducationOrganizationId ON [edfi].[StudentProgramEvaluation](ProgramEducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentProgramEvaluation_EducationOrganizationId ON [edfi].[StudentProgramEvaluation];
+CREATE INDEX IX_StudentProgramEvaluation_EducationOrganizationId ON [edfi].[StudentProgramEvaluation](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentProgramEvaluation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentProgramEvaluation'))
+BEGIN
+ CREATE INDEX IX_StudentProgramEvaluation_StudentUSI ON [edfi].[StudentProgramEvaluation](StudentUSI) INCLUDE (AggregateId)
+END;
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentProgramEvaluation_StaffEvaluatorStaffUSI' AND object_id = OBJECT_ID('edfi.StudentProgramEvaluation'))
+BEGIN
+ CREATE INDEX IX_StudentProgramEvaluation_StaffEvaluatorStaffUSI ON [edfi].[StudentProgramEvaluation](StaffEvaluatorStaffUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StudentSchoolAssociation_SchoolId ON [edfi].[StudentSchoolAssociation];
+CREATE INDEX IX_StudentSchoolAssociation_SchoolId ON [edfi].[StudentSchoolAssociation](SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentSchoolAssociation_EducationOrganizationId ON [edfi].[StudentSchoolAssociation];
+CREATE INDEX IX_StudentSchoolAssociation_EducationOrganizationId ON [edfi].[StudentSchoolAssociation](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentSchoolAssociation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentSchoolAssociation'))
+BEGIN
+ CREATE INDEX IX_StudentSchoolAssociation_StudentUSI ON [edfi].[StudentSchoolAssociation](StudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StudentSchoolAttendanceEvent_SchoolId ON [edfi].[StudentSchoolAttendanceEvent];
+CREATE INDEX IX_StudentSchoolAttendanceEvent_SchoolId ON [edfi].[StudentSchoolAttendanceEvent](SchoolId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentSchoolAttendanceEvent_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentSchoolAttendanceEvent'))
+BEGIN
+ CREATE INDEX IX_StudentSchoolAttendanceEvent_StudentUSI ON [edfi].[StudentSchoolAttendanceEvent](StudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StudentSectionAssociation_SchoolId ON [edfi].[StudentSectionAssociation];
+CREATE INDEX IX_StudentSectionAssociation_SchoolId ON [edfi].[StudentSectionAssociation](SchoolId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentSectionAssociation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentSectionAssociation'))
+BEGIN
+ CREATE INDEX IX_StudentSectionAssociation_StudentUSI ON [edfi].[StudentSectionAssociation](StudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StudentSectionAttendanceEvent_SchoolId ON [edfi].[StudentSectionAttendanceEvent];
+CREATE INDEX IX_StudentSectionAttendanceEvent_SchoolId ON [edfi].[StudentSectionAttendanceEvent](SchoolId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentSectionAttendanceEvent_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentSectionAttendanceEvent'))
+BEGIN
+ CREATE INDEX IX_StudentSectionAttendanceEvent_StudentUSI ON [edfi].[StudentSectionAttendanceEvent](StudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_StudentSpecialEducationProgramEligibilityAssociation_EducationOrganizationId ON [edfi].[StudentSpecialEducationProgramEligibilityAssociation];
+CREATE INDEX IX_StudentSpecialEducationProgramEligibilityAssociation_EducationOrganizationId ON [edfi].[StudentSpecialEducationProgramEligibilityAssociation](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentSpecialEducationProgramEligibilityAssociation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentSpecialEducationProgramEligibilityAssociation'))
+BEGIN
+ CREATE INDEX IX_StudentSpecialEducationProgramEligibilityAssociation_StudentUSI ON [edfi].[StudentSpecialEducationProgramEligibilityAssociation](StudentUSI) INCLUDE (AggregateId)
+END;
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_StudentTransportation_StudentUSI' AND object_id = OBJECT_ID('edfi.StudentTransportation'))
+BEGIN
+ CREATE INDEX IX_StudentTransportation_StudentUSI ON [edfi].[StudentTransportation](StudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_Survey_EducationOrganizationId ON [edfi].[Survey];
+CREATE INDEX IX_Survey_EducationOrganizationId ON [edfi].[Survey](EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_Survey_SchoolId ON [edfi].[Survey];
+CREATE INDEX IX_Survey_SchoolId ON [edfi].[Survey](SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_SurveyCourseAssociation_EducationOrganizationId ON [edfi].[SurveyCourseAssociation];
+CREATE INDEX IX_SurveyCourseAssociation_EducationOrganizationId ON [edfi].[SurveyCourseAssociation](EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_SurveyProgramAssociation_EducationOrganizationId ON [edfi].[SurveyProgramAssociation];
+CREATE INDEX IX_SurveyProgramAssociation_EducationOrganizationId ON [edfi].[SurveyProgramAssociation](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_SurveyResponse_ContactUSI' AND object_id = OBJECT_ID('edfi.SurveyResponse'))
+BEGIN
+ CREATE INDEX IX_SurveyResponse_ContactUSI ON [edfi].[SurveyResponse](ContactUSI) INCLUDE (AggregateId)
+END;
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_SurveyResponse_StaffUSI' AND object_id = OBJECT_ID('edfi.SurveyResponse'))
+BEGIN
+ CREATE INDEX IX_SurveyResponse_StaffUSI ON [edfi].[SurveyResponse](StaffUSI) INCLUDE (AggregateId)
+END;
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_SurveyResponse_StudentUSI' AND object_id = OBJECT_ID('edfi.SurveyResponse'))
+BEGIN
+ CREATE INDEX IX_SurveyResponse_StudentUSI ON [edfi].[SurveyResponse](StudentUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_SurveyResponseEducationOrganizationTargetAssociation_EducationOrganizationId ON [edfi].[SurveyResponseEducationOrganizationTargetAssociation];
+CREATE INDEX IX_SurveyResponseEducationOrganizationTargetAssociation_EducationOrganizationId ON [edfi].[SurveyResponseEducationOrganizationTargetAssociation](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_SurveyResponseStaffTargetAssociation_StaffUSI' AND object_id = OBJECT_ID('edfi.SurveyResponseStaffTargetAssociation'))
+BEGIN
+ CREATE INDEX IX_SurveyResponseStaffTargetAssociation_StaffUSI ON [edfi].[SurveyResponseStaffTargetAssociation](StaffUSI) INCLUDE (AggregateId)
+END;
+
+DROP INDEX IF EXISTS IX_SurveySectionAssociation_SchoolId ON [edfi].[SurveySectionAssociation];
+CREATE INDEX IX_SurveySectionAssociation_SchoolId ON [edfi].[SurveySectionAssociation](SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_SurveySectionResponseEducationOrganizationTargetAssociation_EducationOrganizationId ON [edfi].[SurveySectionResponseEducationOrganizationTargetAssociation];
+CREATE INDEX IX_SurveySectionResponseEducationOrganizationTargetAssociation_EducationOrganizationId ON [edfi].[SurveySectionResponseEducationOrganizationTargetAssociation](EducationOrganizationId) INCLUDE (AggregateId);
+
+IF NOT EXISTS(SELECT * FROM sys.indexes WHERE name='IX_SurveySectionResponseStaffTargetAssociation_StaffUSI' AND object_id = OBJECT_ID('edfi.SurveySectionResponseStaffTargetAssociation'))
+BEGIN
+ CREATE INDEX IX_SurveySectionResponseStaffTargetAssociation_StaffUSI ON [edfi].[SurveySectionResponseStaffTargetAssociation](StaffUSI) INCLUDE (AggregateId)
+END;
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0030-AddColumnChangeVersionForTables.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0030-AddColumnChangeVersionForTables.sql
index d8f6b17366..0bfd99f134 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0030-AddColumnChangeVersionForTables.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0030-AddColumnChangeVersionForTables.sql
@@ -37,6 +37,14 @@ ALTER TABLE [edfi].[AssessmentAdministration] ADD CONSTRAINT AssessmentAdministr
END
+IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'[edfi].[AssessmentAdministrationParticipation]') AND name = 'ChangeVersion')
+BEGIN
+ALTER TABLE [edfi].[AssessmentAdministrationParticipation] ADD [ChangeVersion] [BIGINT] CONSTRAINT AssessmentAdministrationParticipation_DF_ChangeVersion DEFAULT (0) NOT NULL;
+ALTER TABLE [edfi].[AssessmentAdministrationParticipation] DROP CONSTRAINT AssessmentAdministrationParticipation_DF_ChangeVersion;
+ALTER TABLE [edfi].[AssessmentAdministrationParticipation] ADD CONSTRAINT AssessmentAdministrationParticipation_DF_ChangeVersion DEFAULT (NEXT VALUE FOR [changes].[ChangeVersionSequence]) For [ChangeVersion];
+END
+
+
IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'[edfi].[AssessmentBatteryPart]') AND name = 'ChangeVersion')
BEGIN
ALTER TABLE [edfi].[AssessmentBatteryPart] ADD [ChangeVersion] [BIGINT] CONSTRAINT AssessmentBatteryPart_DF_ChangeVersion DEFAULT (0) NOT NULL;
@@ -61,14 +69,6 @@ ALTER TABLE [edfi].[AssessmentScoreRangeLearningStandard] ADD CONSTRAINT Assessm
END
-IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'[edfi].[AssesssmentAdministrationParticipation]') AND name = 'ChangeVersion')
-BEGIN
-ALTER TABLE [edfi].[AssesssmentAdministrationParticipation] ADD [ChangeVersion] [BIGINT] CONSTRAINT AssesssmentAdministrationParticipation_DF_ChangeVersion DEFAULT (0) NOT NULL;
-ALTER TABLE [edfi].[AssesssmentAdministrationParticipation] DROP CONSTRAINT AssesssmentAdministrationParticipation_DF_ChangeVersion;
-ALTER TABLE [edfi].[AssesssmentAdministrationParticipation] ADD CONSTRAINT AssesssmentAdministrationParticipation_DF_ChangeVersion DEFAULT (NEXT VALUE FOR [changes].[ChangeVersionSequence]) For [ChangeVersion];
-END
-
-
IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'[edfi].[BalanceSheetDimension]') AND name = 'ChangeVersion')
BEGIN
ALTER TABLE [edfi].[BalanceSheetDimension] ADD [ChangeVersion] [BIGINT] CONSTRAINT BalanceSheetDimension_DF_ChangeVersion DEFAULT (0) NOT NULL;
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0070-AddIndexChangeVersionForTables.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0070-AddIndexChangeVersionForTables.sql
index 5d1c5c94f2..560405f22e 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0070-AddIndexChangeVersionForTables.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0070-AddIndexChangeVersionForTables.sql
@@ -27,6 +27,12 @@ BEGIN TRANSACTION
GO
COMMIT
+BEGIN TRANSACTION
+ IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'edfi.AssessmentAdministrationParticipation') AND name = N'UX_AssessmentAdministrationParticipation_ChangeVersion')
+ CREATE INDEX [UX_AssessmentAdministrationParticipation_ChangeVersion] ON [edfi].[AssessmentAdministrationParticipation] ([ChangeVersion] ASC)
+ GO
+COMMIT
+
BEGIN TRANSACTION
IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'edfi.AssessmentBatteryPart') AND name = N'UX_AssessmentBatteryPart_ChangeVersion')
CREATE INDEX [UX_AssessmentBatteryPart_ChangeVersion] ON [edfi].[AssessmentBatteryPart] ([ChangeVersion] ASC)
@@ -45,12 +51,6 @@ BEGIN TRANSACTION
GO
COMMIT
-BEGIN TRANSACTION
- IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'edfi.AssesssmentAdministrationParticipation') AND name = N'UX_AssesssmentAdministrationParticipation_ChangeVersion')
- CREATE INDEX [UX_AssesssmentAdministrationParticipation_ChangeVersion] ON [edfi].[AssesssmentAdministrationParticipation] ([ChangeVersion] ASC)
- GO
-COMMIT
-
BEGIN TRANSACTION
IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'edfi.BalanceSheetDimension') AND name = N'UX_BalanceSheetDimension_ChangeVersion')
CREATE INDEX [UX_BalanceSheetDimension_ChangeVersion] ON [edfi].[BalanceSheetDimension] ([ChangeVersion] ASC)
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0200-CreateTrackedChangeTables.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0200-CreateTrackedChangeTables.sql
index 1603f8fd6a..56299580d2 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0200-CreateTrackedChangeTables.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0200-CreateTrackedChangeTables.sql
@@ -65,6 +65,25 @@ CREATE TABLE [tracked_changes_edfi].[AssessmentAdministration]
CreateDate DateTime2 NOT NULL DEFAULT (getutcdate()),
CONSTRAINT PK_AssessmentAdministration PRIMARY KEY CLUSTERED (ChangeVersion)
)
+IF NOT EXISTS (SELECT * FROM sys.tables WHERE object_id = OBJECT_ID(N'[tracked_changes_edfi].[AssessmentAdministrationParticipation]'))
+CREATE TABLE [tracked_changes_edfi].[AssessmentAdministrationParticipation]
+(
+ OldAdministrationIdentifier [NVARCHAR](255) NOT NULL,
+ OldAssessmentIdentifier [NVARCHAR](60) NOT NULL,
+ OldAssigningEducationOrganizationId [BIGINT] NOT NULL,
+ OldNamespace [NVARCHAR](255) NOT NULL,
+ OldParticipatingEducationOrganizationId [BIGINT] NOT NULL,
+ NewAdministrationIdentifier [NVARCHAR](255) NULL,
+ NewAssessmentIdentifier [NVARCHAR](60) NULL,
+ NewAssigningEducationOrganizationId [BIGINT] NULL,
+ NewNamespace [NVARCHAR](255) NULL,
+ NewParticipatingEducationOrganizationId [BIGINT] NULL,
+ Id uniqueidentifier NOT NULL,
+ ChangeVersion bigint NOT NULL,
+ Discriminator [NVARCHAR](128) NULL,
+ CreateDate DateTime2 NOT NULL DEFAULT (getutcdate()),
+ CONSTRAINT PK_AssessmentAdministrationParticipation PRIMARY KEY CLUSTERED (ChangeVersion)
+)
IF NOT EXISTS (SELECT * FROM sys.tables WHERE object_id = OBJECT_ID(N'[tracked_changes_edfi].[AssessmentBatteryPart]'))
CREATE TABLE [tracked_changes_edfi].[AssessmentBatteryPart]
(
@@ -110,25 +129,6 @@ CREATE TABLE [tracked_changes_edfi].[AssessmentScoreRangeLearningStandard]
CreateDate DateTime2 NOT NULL DEFAULT (getutcdate()),
CONSTRAINT PK_AssessmentScoreRangeLearningStandard PRIMARY KEY CLUSTERED (ChangeVersion)
)
-IF NOT EXISTS (SELECT * FROM sys.tables WHERE object_id = OBJECT_ID(N'[tracked_changes_edfi].[AssesssmentAdministrationParticipation]'))
-CREATE TABLE [tracked_changes_edfi].[AssesssmentAdministrationParticipation]
-(
- OldAdministrationIdentifier [NVARCHAR](255) NOT NULL,
- OldAssessmentIdentifier [NVARCHAR](60) NOT NULL,
- OldAssigningEducationOrganizationId [BIGINT] NOT NULL,
- OldNamespace [NVARCHAR](255) NOT NULL,
- OldParticipatingEducationOrganizationId [BIGINT] NOT NULL,
- NewAdministrationIdentifier [NVARCHAR](255) NULL,
- NewAssessmentIdentifier [NVARCHAR](60) NULL,
- NewAssigningEducationOrganizationId [BIGINT] NULL,
- NewNamespace [NVARCHAR](255) NULL,
- NewParticipatingEducationOrganizationId [BIGINT] NULL,
- Id uniqueidentifier NOT NULL,
- ChangeVersion bigint NOT NULL,
- Discriminator [NVARCHAR](128) NULL,
- CreateDate DateTime2 NOT NULL DEFAULT (getutcdate()),
- CONSTRAINT PK_AssesssmentAdministrationParticipation PRIMARY KEY CLUSTERED (ChangeVersion)
-)
IF NOT EXISTS (SELECT * FROM sys.tables WHERE object_id = OBJECT_ID(N'[tracked_changes_edfi].[BalanceSheetDimension]'))
CREATE TABLE [tracked_changes_edfi].[BalanceSheetDimension]
(
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql
index 067c7bd4b2..2b3294d7c3 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql
@@ -55,6 +55,19 @@ BEGIN
END
GO
+DROP TRIGGER IF EXISTS [edfi].[edfi_AssessmentAdministrationParticipation_TR_UpdateChangeVersion]
+GO
+
+CREATE TRIGGER [edfi].[edfi_AssessmentAdministrationParticipation_TR_UpdateChangeVersion] ON [edfi].[AssessmentAdministrationParticipation] AFTER UPDATE AS
+BEGIN
+ SET NOCOUNT ON;
+ UPDATE [edfi].[AssessmentAdministrationParticipation]
+ SET ChangeVersion = (NEXT VALUE FOR [changes].[ChangeVersionSequence])
+ FROM [edfi].[AssessmentAdministrationParticipation] u
+ WHERE EXISTS (SELECT 1 FROM inserted i WHERE i.id = u.id);
+END
+GO
+
DROP TRIGGER IF EXISTS [edfi].[edfi_AssessmentBatteryPart_TR_UpdateChangeVersion]
GO
@@ -94,19 +107,6 @@ BEGIN
END
GO
-DROP TRIGGER IF EXISTS [edfi].[edfi_AssesssmentAdministrationParticipation_TR_UpdateChangeVersion]
-GO
-
-CREATE TRIGGER [edfi].[edfi_AssesssmentAdministrationParticipation_TR_UpdateChangeVersion] ON [edfi].[AssesssmentAdministrationParticipation] AFTER UPDATE AS
-BEGIN
- SET NOCOUNT ON;
- UPDATE [edfi].[AssesssmentAdministrationParticipation]
- SET ChangeVersion = (NEXT VALUE FOR [changes].[ChangeVersionSequence])
- FROM [edfi].[AssesssmentAdministrationParticipation] u
- WHERE EXISTS (SELECT 1 FROM inserted i WHERE i.id = u.id);
-END
-GO
-
DROP TRIGGER IF EXISTS [edfi].[edfi_BalanceSheetDimension_TR_UpdateChangeVersion]
GO
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0220-CreateTriggersForDeleteTracking.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0220-CreateTriggersForDeleteTracking.sql
index a25dc6223c..0fa1a9ba6c 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0220-CreateTriggersForDeleteTracking.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/Changes/0220-CreateTriggersForDeleteTracking.sql
@@ -314,6 +314,26 @@ ALTER TABLE [edfi].[AssessmentAdministration] ENABLE TRIGGER [edfi_AssessmentAdm
GO
+DROP TRIGGER IF EXISTS [edfi].[edfi_AssessmentAdministrationParticipation_TR_DeleteTracking]
+GO
+
+CREATE TRIGGER [edfi].[edfi_AssessmentAdministrationParticipation_TR_DeleteTracking] ON [edfi].[AssessmentAdministrationParticipation] AFTER DELETE AS
+BEGIN
+ IF @@rowcount = 0
+ RETURN
+
+ SET NOCOUNT ON
+
+ INSERT INTO [tracked_changes_edfi].[AssessmentAdministrationParticipation](OldAdministrationIdentifier, OldAssessmentIdentifier, OldAssigningEducationOrganizationId, OldNamespace, OldParticipatingEducationOrganizationId, Id, Discriminator, ChangeVersion)
+ SELECT d.AdministrationIdentifier, d.AssessmentIdentifier, d.AssigningEducationOrganizationId, d.Namespace, d.ParticipatingEducationOrganizationId, d.Id, d.Discriminator, (NEXT VALUE FOR [changes].[ChangeVersionSequence])
+ FROM deleted d
+END
+GO
+
+ALTER TABLE [edfi].[AssessmentAdministrationParticipation] ENABLE TRIGGER [edfi_AssessmentAdministrationParticipation_TR_DeleteTracking]
+GO
+
+
DROP TRIGGER IF EXISTS [edfi].[edfi_AssessmentBatteryPart_TR_DeleteTracking]
GO
@@ -500,26 +520,6 @@ ALTER TABLE [edfi].[AssessmentScoreRangeLearningStandard] ENABLE TRIGGER [edfi_A
GO
-DROP TRIGGER IF EXISTS [edfi].[edfi_AssesssmentAdministrationParticipation_TR_DeleteTracking]
-GO
-
-CREATE TRIGGER [edfi].[edfi_AssesssmentAdministrationParticipation_TR_DeleteTracking] ON [edfi].[AssesssmentAdministrationParticipation] AFTER DELETE AS
-BEGIN
- IF @@rowcount = 0
- RETURN
-
- SET NOCOUNT ON
-
- INSERT INTO [tracked_changes_edfi].[AssesssmentAdministrationParticipation](OldAdministrationIdentifier, OldAssessmentIdentifier, OldAssigningEducationOrganizationId, OldNamespace, OldParticipatingEducationOrganizationId, Id, Discriminator, ChangeVersion)
- SELECT d.AdministrationIdentifier, d.AssessmentIdentifier, d.AssigningEducationOrganizationId, d.Namespace, d.ParticipatingEducationOrganizationId, d.Id, d.Discriminator, (NEXT VALUE FOR [changes].[ChangeVersionSequence])
- FROM deleted d
-END
-GO
-
-ALTER TABLE [edfi].[AssesssmentAdministrationParticipation] ENABLE TRIGGER [edfi_AssesssmentAdministrationParticipation_TR_DeleteTracking]
-GO
-
-
DROP TRIGGER IF EXISTS [edfi].[edfi_AssignmentLateStatusDescriptor_TR_DeleteTracking]
GO
@@ -1858,6 +1858,48 @@ ALTER TABLE [edfi].[DisplacedStudentStatusDescriptor] ENABLE TRIGGER [edfi_Displ
GO
+DROP TRIGGER IF EXISTS [edfi].[edfi_DualCreditInstitutionDescriptor_TR_DeleteTracking]
+GO
+
+CREATE TRIGGER [edfi].[edfi_DualCreditInstitutionDescriptor_TR_DeleteTracking] ON [edfi].[DualCreditInstitutionDescriptor] AFTER DELETE AS
+BEGIN
+ IF @@rowcount = 0
+ RETURN
+
+ SET NOCOUNT ON
+
+ INSERT INTO [tracked_changes_edfi].[Descriptor](OldDescriptorId, OldCodeValue, OldNamespace, Id, Discriminator, ChangeVersion)
+ SELECT d.DualCreditInstitutionDescriptorId, b.CodeValue, b.Namespace, b.Id, 'edfi.DualCreditInstitutionDescriptor', (NEXT VALUE FOR [changes].[ChangeVersionSequence])
+ FROM deleted d
+ INNER JOIN edfi.Descriptor b ON d.DualCreditInstitutionDescriptorId = b.DescriptorId
+END
+GO
+
+ALTER TABLE [edfi].[DualCreditInstitutionDescriptor] ENABLE TRIGGER [edfi_DualCreditInstitutionDescriptor_TR_DeleteTracking]
+GO
+
+
+DROP TRIGGER IF EXISTS [edfi].[edfi_DualCreditTypeDescriptor_TR_DeleteTracking]
+GO
+
+CREATE TRIGGER [edfi].[edfi_DualCreditTypeDescriptor_TR_DeleteTracking] ON [edfi].[DualCreditTypeDescriptor] AFTER DELETE AS
+BEGIN
+ IF @@rowcount = 0
+ RETURN
+
+ SET NOCOUNT ON
+
+ INSERT INTO [tracked_changes_edfi].[Descriptor](OldDescriptorId, OldCodeValue, OldNamespace, Id, Discriminator, ChangeVersion)
+ SELECT d.DualCreditTypeDescriptorId, b.CodeValue, b.Namespace, b.Id, 'edfi.DualCreditTypeDescriptor', (NEXT VALUE FOR [changes].[ChangeVersionSequence])
+ FROM deleted d
+ INNER JOIN edfi.Descriptor b ON d.DualCreditTypeDescriptorId = b.DescriptorId
+END
+GO
+
+ALTER TABLE [edfi].[DualCreditTypeDescriptor] ENABLE TRIGGER [edfi_DualCreditTypeDescriptor_TR_DeleteTracking]
+GO
+
+
DROP TRIGGER IF EXISTS [edfi].[edfi_EducationalEnvironmentDescriptor_TR_DeleteTracking]
GO
@@ -5044,10 +5086,10 @@ ALTER TABLE [edfi].[SchoolYearType] ENABLE TRIGGER [edfi_SchoolYearType_TR_Delet
GO
-DROP TRIGGER IF EXISTS [edfi].[edfi_Section504DisabilityTypeDescriptor_TR_DeleteTracking]
+DROP TRIGGER IF EXISTS [edfi].[edfi_Section504DisabilityDescriptor_TR_DeleteTracking]
GO
-CREATE TRIGGER [edfi].[edfi_Section504DisabilityTypeDescriptor_TR_DeleteTracking] ON [edfi].[Section504DisabilityTypeDescriptor] AFTER DELETE AS
+CREATE TRIGGER [edfi].[edfi_Section504DisabilityDescriptor_TR_DeleteTracking] ON [edfi].[Section504DisabilityDescriptor] AFTER DELETE AS
BEGIN
IF @@rowcount = 0
RETURN
@@ -5055,13 +5097,13 @@ BEGIN
SET NOCOUNT ON
INSERT INTO [tracked_changes_edfi].[Descriptor](OldDescriptorId, OldCodeValue, OldNamespace, Id, Discriminator, ChangeVersion)
- SELECT d.Section504DisabilityTypeDescriptorId, b.CodeValue, b.Namespace, b.Id, 'edfi.Section504DisabilityTypeDescriptor', (NEXT VALUE FOR [changes].[ChangeVersionSequence])
+ SELECT d.Section504DisabilityDescriptorId, b.CodeValue, b.Namespace, b.Id, 'edfi.Section504DisabilityDescriptor', (NEXT VALUE FOR [changes].[ChangeVersionSequence])
FROM deleted d
- INNER JOIN edfi.Descriptor b ON d.Section504DisabilityTypeDescriptorId = b.DescriptorId
+ INNER JOIN edfi.Descriptor b ON d.Section504DisabilityDescriptorId = b.DescriptorId
END
GO
-ALTER TABLE [edfi].[Section504DisabilityTypeDescriptor] ENABLE TRIGGER [edfi_Section504DisabilityTypeDescriptor_TR_DeleteTracking]
+ALTER TABLE [edfi].[Section504DisabilityDescriptor] ENABLE TRIGGER [edfi_Section504DisabilityDescriptor_TR_DeleteTracking]
GO
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/RecordOwnership/0010-AddColumnOwnershipTokenForTable.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/RecordOwnership/0010-AddColumnOwnershipTokenForTable.sql
index 31e97c18fc..2d88eb600c 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/RecordOwnership/0010-AddColumnOwnershipTokenForTable.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/MsSql/Structure/Ods/RecordOwnership/0010-AddColumnOwnershipTokenForTable.sql
@@ -11,14 +11,14 @@ ALTER TABLE [edfi].[Assessment] ADD [CreatedByOwnershipTokenId] SMALLINT NULL;
ALTER TABLE [edfi].[AssessmentAdministration] ADD [CreatedByOwnershipTokenId] SMALLINT NULL;
+ALTER TABLE [edfi].[AssessmentAdministrationParticipation] ADD [CreatedByOwnershipTokenId] SMALLINT NULL;
+
ALTER TABLE [edfi].[AssessmentBatteryPart] ADD [CreatedByOwnershipTokenId] SMALLINT NULL;
ALTER TABLE [edfi].[AssessmentItem] ADD [CreatedByOwnershipTokenId] SMALLINT NULL;
ALTER TABLE [edfi].[AssessmentScoreRangeLearningStandard] ADD [CreatedByOwnershipTokenId] SMALLINT NULL;
-ALTER TABLE [edfi].[AssesssmentAdministrationParticipation] ADD [CreatedByOwnershipTokenId] SMALLINT NULL;
-
ALTER TABLE [edfi].[BalanceSheetDimension] ADD [CreatedByOwnershipTokenId] SMALLINT NULL;
ALTER TABLE [edfi].[BellSchedule] ADD [CreatedByOwnershipTokenId] SMALLINT NULL;
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Data/Security/2200-AssessmentRegistration-security-metadata.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Data/Security/2200-AssessmentRegistration-security-metadata.sql
index 296124dceb..00072a5d94 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Data/Security/2200-AssessmentRegistration-security-metadata.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Data/Security/2200-AssessmentRegistration-security-metadata.sql
@@ -61,14 +61,7 @@ BEGIN
VALUES ('assessmentMetadata', 'http://ed-fi.org/ods/identity/claims/domains/assessmentMetadata', parent_resource_claim_id)
RETURNING ResourceClaimId
INTO claim_id;
- ELSE
- IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN
- RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')';
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = parent_resource_claim_id
- WHERE ResourceClaimId = claim_id;
- END IF;
+
END IF;
-- Setting default authorization metadata
@@ -493,14 +486,7 @@ BEGIN
VALUES ('assessmentAdministration', 'http://ed-fi.org/ods/identity/claims/assessmentAdministration', parent_resource_claim_id)
RETURNING ResourceClaimId
INTO claim_id;
- ELSE
- IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN
- RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')';
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = parent_resource_claim_id
- WHERE ResourceClaimId = claim_id;
- END IF;
+
END IF;
----------------------------------------------------------------------------------------------------------------------------
@@ -522,14 +508,7 @@ BEGIN
VALUES ('assessmentAdministrationAssessmentAdminstrationPeriod', 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationAssessmentAdminstrationPeriod', parent_resource_claim_id)
RETURNING ResourceClaimId
INTO claim_id;
- ELSE
- IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN
- RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')';
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = parent_resource_claim_id
- WHERE ResourceClaimId = claim_id;
- END IF;
+
END IF;
----------------------------------------------------------------------------------------------------------------------------
@@ -551,14 +530,7 @@ BEGIN
VALUES ('assessmentAdministrationAssessmentBatteryPart', 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationAssessmentBatteryPart', parent_resource_claim_id)
RETURNING ResourceClaimId
INTO claim_id;
- ELSE
- IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN
- RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')';
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = parent_resource_claim_id
- WHERE ResourceClaimId = claim_id;
- END IF;
+
END IF;
----------------------------------------------------------------------------------------------------------------------------
@@ -580,14 +552,7 @@ BEGIN
VALUES ('assessmentBatteryPart', 'http://ed-fi.org/ods/identity/claims/assessmentBatteryPart', parent_resource_claim_id)
RETURNING ResourceClaimId
INTO claim_id;
- ELSE
- IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN
- RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')';
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = parent_resource_claim_id
- WHERE ResourceClaimId = claim_id;
- END IF;
+
END IF;
----------------------------------------------------------------------------------------------------------------------------
@@ -609,20 +574,13 @@ BEGIN
VALUES ('assessmentBatteryPartObjectiveAssessment', 'http://ed-fi.org/ods/identity/claims/assessmentBatteryPartObjectiveAssessment', parent_resource_claim_id)
RETURNING ResourceClaimId
INTO claim_id;
- ELSE
- IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN
- RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')';
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = parent_resource_claim_id
- WHERE ResourceClaimId = claim_id;
- END IF;
+
END IF;
----------------------------------------------------------------------------------------------------------------------------
- -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/assesssmentAdministrationParticipation'
+ -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationParticipation'
----------------------------------------------------------------------------------------------------------------------------
- claim_name := 'http://ed-fi.org/ods/identity/claims/assesssmentAdministrationParticipation';
+ claim_name := 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationParticipation';
claim_id := NULL;
SELECT ResourceClaimId, ParentResourceClaimId INTO claim_id, existing_parent_resource_claim_id
@@ -635,23 +593,16 @@ BEGIN
RAISE NOTICE 'Creating new claim: %', claim_name;
INSERT INTO dbo.ResourceClaims(ResourceName, ClaimName, ParentResourceClaimId)
- VALUES ('assesssmentAdministrationParticipation', 'http://ed-fi.org/ods/identity/claims/assesssmentAdministrationParticipation', parent_resource_claim_id)
+ VALUES ('assessmentAdministrationParticipation', 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationParticipation', parent_resource_claim_id)
RETURNING ResourceClaimId
INTO claim_id;
- ELSE
- IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN
- RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')';
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = parent_resource_claim_id
- WHERE ResourceClaimId = claim_id;
- END IF;
+
END IF;
----------------------------------------------------------------------------------------------------------------------------
- -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/assesssmentAdministrationParticipationAdministrationPointOfContact'
+ -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationParticipationAdministrationPointOfContact'
----------------------------------------------------------------------------------------------------------------------------
- claim_name := 'http://ed-fi.org/ods/identity/claims/assesssmentAdministrationParticipationAdministrationPointOfContact';
+ claim_name := 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationParticipationAdministrationPointOfContact';
claim_id := NULL;
SELECT ResourceClaimId, ParentResourceClaimId INTO claim_id, existing_parent_resource_claim_id
@@ -664,17 +615,10 @@ BEGIN
RAISE NOTICE 'Creating new claim: %', claim_name;
INSERT INTO dbo.ResourceClaims(ResourceName, ClaimName, ParentResourceClaimId)
- VALUES ('assesssmentAdministrationParticipationAdministrationPointOfContact', 'http://ed-fi.org/ods/identity/claims/assesssmentAdministrationParticipationAdministrationPointOfContact', parent_resource_claim_id)
+ VALUES ('assessmentAdministrationParticipationAdministrationPointOfContact', 'http://ed-fi.org/ods/identity/claims/assessmentAdministrationParticipationAdministrationPointOfContact', parent_resource_claim_id)
RETURNING ResourceClaimId
INTO claim_id;
- ELSE
- IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN
- RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')';
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = parent_resource_claim_id
- WHERE ResourceClaimId = claim_id;
- END IF;
+
END IF;
----------------------------------------------------------------------------------------------------------------------------
@@ -696,14 +640,7 @@ BEGIN
VALUES ('studentAssessmentRegistration', 'http://ed-fi.org/ods/identity/claims/studentAssessmentRegistration', parent_resource_claim_id)
RETURNING ResourceClaimId
INTO claim_id;
- ELSE
- IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN
- RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')';
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = parent_resource_claim_id
- WHERE ResourceClaimId = claim_id;
- END IF;
+
END IF;
----------------------------------------------------------------------------------------------------------------------------
@@ -725,14 +662,7 @@ BEGIN
VALUES ('studentAssessmentRegistrationAssessmentAccommodation', 'http://ed-fi.org/ods/identity/claims/studentAssessmentRegistrationAssessmentAccommodation', parent_resource_claim_id)
RETURNING ResourceClaimId
INTO claim_id;
- ELSE
- IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN
- RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')';
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = parent_resource_claim_id
- WHERE ResourceClaimId = claim_id;
- END IF;
+
END IF;
----------------------------------------------------------------------------------------------------------------------------
@@ -754,14 +684,7 @@ BEGIN
VALUES ('studentAssessmentRegistrationAssessmentCustomization', 'http://ed-fi.org/ods/identity/claims/studentAssessmentRegistrationAssessmentCustomization', parent_resource_claim_id)
RETURNING ResourceClaimId
INTO claim_id;
- ELSE
- IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN
- RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')';
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = parent_resource_claim_id
- WHERE ResourceClaimId = claim_id;
- END IF;
+
END IF;
----------------------------------------------------------------------------------------------------------------------------
@@ -783,14 +706,7 @@ BEGIN
VALUES ('studentAssessmentRegistrationBatteryPartAssociation', 'http://ed-fi.org/ods/identity/claims/studentAssessmentRegistrationBatteryPartAssociation', parent_resource_claim_id)
RETURNING ResourceClaimId
INTO claim_id;
- ELSE
- IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN
- RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')';
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = parent_resource_claim_id
- WHERE ResourceClaimId = claim_id;
- END IF;
+
END IF;
----------------------------------------------------------------------------------------------------------------------------
@@ -812,14 +728,7 @@ BEGIN
VALUES ('studentAssessmentRegistrationBatteryPartAssociationAccommodation', 'http://ed-fi.org/ods/identity/claims/studentAssessmentRegistrationBatteryPartAssociationAccommodation', parent_resource_claim_id)
RETURNING ResourceClaimId
INTO claim_id;
- ELSE
- IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN
- RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')';
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = parent_resource_claim_id
- WHERE ResourceClaimId = claim_id;
- END IF;
+
END IF;
@@ -845,14 +754,7 @@ BEGIN
VALUES ('systemDescriptors', 'http://ed-fi.org/ods/identity/claims/domains/systemDescriptors', parent_resource_claim_id)
RETURNING ResourceClaimId
INTO claim_id;
- ELSE
- IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN
- RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')';
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = parent_resource_claim_id
- WHERE ResourceClaimId = claim_id;
- END IF;
+
END IF;
-- Setting default authorization metadata
@@ -1216,9 +1118,31 @@ BEGIN
-- Processing children of http://ed-fi.org/ods/identity/claims/domains/systemDescriptors
----------------------------------------------------------------------------------------------------------------------------
- -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/Section504DisabilityTypeDescriptor'
+ -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/Section504DisabilityDescriptor'
+ ----------------------------------------------------------------------------------------------------------------------------
+ claim_name := 'http://ed-fi.org/ods/identity/claims/Section504DisabilityDescriptor';
+ claim_id := NULL;
+
+ SELECT ResourceClaimId, ParentResourceClaimId INTO claim_id, existing_parent_resource_claim_id
+ FROM dbo.ResourceClaims
+ WHERE ClaimName = claim_name;
+
+ parent_resource_claim_id := claim_id_stack[array_upper(claim_id_stack, 1)];
+
+ IF claim_id IS NULL THEN
+ RAISE NOTICE 'Creating new claim: %', claim_name;
+
+ INSERT INTO dbo.ResourceClaims(ResourceName, ClaimName, ParentResourceClaimId)
+ VALUES ('Section504DisabilityDescriptor', 'http://ed-fi.org/ods/identity/claims/Section504DisabilityDescriptor', parent_resource_claim_id)
+ RETURNING ResourceClaimId
+ INTO claim_id;
+
+ END IF;
+
+ ----------------------------------------------------------------------------------------------------------------------------
+ -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/DualCreditTypeDescriptor'
----------------------------------------------------------------------------------------------------------------------------
- claim_name := 'http://ed-fi.org/ods/identity/claims/Section504DisabilityTypeDescriptor';
+ claim_name := 'http://ed-fi.org/ods/identity/claims/DualCreditTypeDescriptor';
claim_id := NULL;
SELECT ResourceClaimId, ParentResourceClaimId INTO claim_id, existing_parent_resource_claim_id
@@ -1231,17 +1155,32 @@ BEGIN
RAISE NOTICE 'Creating new claim: %', claim_name;
INSERT INTO dbo.ResourceClaims(ResourceName, ClaimName, ParentResourceClaimId)
- VALUES ('Section504DisabilityTypeDescriptor', 'http://ed-fi.org/ods/identity/claims/Section504DisabilityTypeDescriptor', parent_resource_claim_id)
+ VALUES ('DualCreditTypeDescriptor', 'http://ed-fi.org/ods/identity/claims/DualCreditTypeDescriptor', parent_resource_claim_id)
RETURNING ResourceClaimId
INTO claim_id;
- ELSE
- IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN
- RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')';
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = parent_resource_claim_id
- WHERE ResourceClaimId = claim_id;
- END IF;
+
+ END IF;
+
+ ----------------------------------------------------------------------------------------------------------------------------
+ -- Resource Claim: 'http://ed-fi.org/ods/identity/claims/DualCreditInstitutionDescriptor'
+ ----------------------------------------------------------------------------------------------------------------------------
+ claim_name := 'http://ed-fi.org/ods/identity/claims/DualCreditInstitutionDescriptor';
+ claim_id := NULL;
+
+ SELECT ResourceClaimId, ParentResourceClaimId INTO claim_id, existing_parent_resource_claim_id
+ FROM dbo.ResourceClaims
+ WHERE ClaimName = claim_name;
+
+ parent_resource_claim_id := claim_id_stack[array_upper(claim_id_stack, 1)];
+
+ IF claim_id IS NULL THEN
+ RAISE NOTICE 'Creating new claim: %', claim_name;
+
+ INSERT INTO dbo.ResourceClaims(ResourceName, ClaimName, ParentResourceClaimId)
+ VALUES ('DualCreditInstitutionDescriptor', 'http://ed-fi.org/ods/identity/claims/DualCreditInstitutionDescriptor', parent_resource_claim_id)
+ RETURNING ResourceClaimId
+ INTO claim_id;
+
END IF;
@@ -1267,14 +1206,7 @@ BEGIN
VALUES ('relationshipBasedData', 'http://ed-fi.org/ods/identity/claims/domains/relationshipBasedData', parent_resource_claim_id)
RETURNING ResourceClaimId
INTO claim_id;
- ELSE
- IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN
- RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')';
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = parent_resource_claim_id
- WHERE ResourceClaimId = claim_id;
- END IF;
+
END IF;
-- Setting default authorization metadata
@@ -1625,14 +1557,7 @@ BEGIN
VALUES ('studentSection504ProgramAssociation', 'http://ed-fi.org/ods/identity/claims/studentSection504ProgramAssociation', parent_resource_claim_id)
RETURNING ResourceClaimId
INTO claim_id;
- ELSE
- IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN
- RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')';
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = parent_resource_claim_id
- WHERE ResourceClaimId = claim_id;
- END IF;
+
END IF;
@@ -1658,14 +1583,7 @@ BEGIN
VALUES ('relationshipBasedData', 'http://ed-fi.org/ods/identity/claims/domains/relationshipBasedData', parent_resource_claim_id)
RETURNING ResourceClaimId
INTO claim_id;
- ELSE
- IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN
- RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')';
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = parent_resource_claim_id
- WHERE ResourceClaimId = claim_id;
- END IF;
+
END IF;
-- Setting default authorization metadata
@@ -2057,14 +1975,7 @@ BEGIN
VALUES ('studentEducationOrganizationAssessmentAccommodation', 'http://ed-fi.org/ods/identity/claims/studentEducationOrganizationAssessmentAccommodation', parent_resource_claim_id)
RETURNING ResourceClaimId
INTO claim_id;
- ELSE
- IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN
- RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')';
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = parent_resource_claim_id
- WHERE ResourceClaimId = claim_id;
- END IF;
+
END IF;
----------------------------------------------------------------------------------------------------------------------------
@@ -2086,14 +1997,7 @@ BEGIN
VALUES ('studentEducationOrganizationAssessmentAccommodationGeneralAccommodation', 'http://ed-fi.org/ods/identity/claims/studentEducationOrganizationAssessmentAccommodationGeneralAccommodation', parent_resource_claim_id)
RETURNING ResourceClaimId
INTO claim_id;
- ELSE
- IF parent_resource_claim_id != existing_parent_resource_claim_id OR (parent_resource_claim_id IS NULL AND existing_parent_resource_claim_id IS NOT NULL) OR (parent_resource_claim_id IS NOT NULL AND existing_parent_resource_claim_id IS NULL) THEN
- RAISE NOTICE USING MESSAGE = 'Repointing claim ''' || claim_name || ''' (ResourceClaimId=' || claim_id || ') to new parent (from ResourceClaimId=' || COALESCE(existing_parent_resource_claim_id, 0) || ' to ResourceClaimId=' || COALESCE(parent_resource_claim_id, 0) || ')';
-
- UPDATE dbo.ResourceClaims
- SET ParentResourceClaimId = parent_resource_claim_id
- WHERE ResourceClaimId = claim_id;
- END IF;
+
END IF;
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Data/Security/2200-AssessmentRegistration-security-metadata.xml b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Data/Security/2200-AssessmentRegistration-security-metadata.xml
index a42736fe8f..f947de2d03 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Data/Security/2200-AssessmentRegistration-security-metadata.xml
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Data/Security/2200-AssessmentRegistration-security-metadata.xml
@@ -63,8 +63,8 @@
-
-
+
+
@@ -130,7 +130,9 @@
-
+
+
+
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0020-Tables.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0020-Tables.sql
index f115061185..c7d8bd06e7 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0020-Tables.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0020-Tables.sql
@@ -155,30 +155,64 @@ ALTER TABLE edfi.AssessmentAdministration ALTER COLUMN CreateDate SET DEFAULT cu
ALTER TABLE edfi.AssessmentAdministration ALTER COLUMN Id SET DEFAULT gen_random_uuid();
ALTER TABLE edfi.AssessmentAdministration ALTER COLUMN LastModifiedDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC';
--- Table edfi.AssessmentAdministrationAssessmentAdminstrationPeriod --
-CREATE TABLE edfi.AssessmentAdministrationAssessmentAdminstrationPeriod (
+-- Table edfi.AssessmentAdministrationAssessmentBatteryPart --
+CREATE TABLE edfi.AssessmentAdministrationAssessmentBatteryPart (
AdministrationIdentifier VARCHAR(255) NOT NULL,
AssessmentIdentifier VARCHAR(60) NOT NULL,
AssigningEducationOrganizationId BIGINT NOT NULL,
Namespace VARCHAR(255) NOT NULL,
- BeginDate DATE NOT NULL,
- EndDate DATE NULL,
+ AssessmentBatteryPartName VARCHAR(65) NOT NULL,
CreateDate TIMESTAMP NOT NULL,
- CONSTRAINT AssessmentAdministrationAssessmentAdminstrationPeriod_PK PRIMARY KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace, BeginDate)
+ CONSTRAINT AssessmentAdministrationAssessmentBatteryPart_PK PRIMARY KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace, AssessmentBatteryPartName)
);
-ALTER TABLE edfi.AssessmentAdministrationAssessmentAdminstrationPeriod ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC';
+ALTER TABLE edfi.AssessmentAdministrationAssessmentBatteryPart ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC';
--- Table edfi.AssessmentAdministrationAssessmentBatteryPart --
-CREATE TABLE edfi.AssessmentAdministrationAssessmentBatteryPart (
+-- Table edfi.AssessmentAdministrationParticipation --
+CREATE TABLE edfi.AssessmentAdministrationParticipation (
AdministrationIdentifier VARCHAR(255) NOT NULL,
AssessmentIdentifier VARCHAR(60) NOT NULL,
AssigningEducationOrganizationId BIGINT NOT NULL,
Namespace VARCHAR(255) NOT NULL,
- AssessmentBatteryPartName VARCHAR(65) NOT NULL,
+ ParticipatingEducationOrganizationId BIGINT NOT NULL,
+ Discriminator VARCHAR(128) NULL,
CreateDate TIMESTAMP NOT NULL,
- CONSTRAINT AssessmentAdministrationAssessmentBatteryPart_PK PRIMARY KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace, AssessmentBatteryPartName)
+ LastModifiedDate TIMESTAMP NOT NULL,
+ Id UUID NOT NULL,
+ CONSTRAINT AssessmentAdministrationParticipation_PK PRIMARY KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace, ParticipatingEducationOrganizationId)
);
-ALTER TABLE edfi.AssessmentAdministrationAssessmentBatteryPart ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC';
+ALTER TABLE edfi.AssessmentAdministrationParticipation ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC';
+ALTER TABLE edfi.AssessmentAdministrationParticipation ALTER COLUMN Id SET DEFAULT gen_random_uuid();
+ALTER TABLE edfi.AssessmentAdministrationParticipation ALTER COLUMN LastModifiedDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC';
+
+-- Table edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833 --
+CREATE TABLE edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833 (
+ AdministrationIdentifier VARCHAR(255) NOT NULL,
+ AssessmentIdentifier VARCHAR(60) NOT NULL,
+ AssigningEducationOrganizationId BIGINT NOT NULL,
+ Namespace VARCHAR(255) NOT NULL,
+ ParticipatingEducationOrganizationId BIGINT NOT NULL,
+ EducationOrganizationId BIGINT NOT NULL,
+ ElectronicMailAddress VARCHAR(128) NOT NULL,
+ FirstName VARCHAR(75) NOT NULL,
+ LastSurname VARCHAR(75) NOT NULL,
+ LoginId VARCHAR(60) NULL,
+ CreateDate TIMESTAMP NOT NULL,
+ CONSTRAINT AssessmentAdministrationParticipationAdministratio_c63833_PK PRIMARY KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace, ParticipatingEducationOrganizationId, EducationOrganizationId, ElectronicMailAddress)
+);
+ALTER TABLE edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833 ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC';
+
+-- Table edfi.AssessmentAdministrationPeriod --
+CREATE TABLE edfi.AssessmentAdministrationPeriod (
+ AdministrationIdentifier VARCHAR(255) NOT NULL,
+ AssessmentIdentifier VARCHAR(60) NOT NULL,
+ AssigningEducationOrganizationId BIGINT NOT NULL,
+ Namespace VARCHAR(255) NOT NULL,
+ BeginDate DATE NOT NULL,
+ EndDate DATE NULL,
+ CreateDate TIMESTAMP NOT NULL,
+ CONSTRAINT AssessmentAdministrationPeriod_PK PRIMARY KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace, BeginDate)
+);
+ALTER TABLE edfi.AssessmentAdministrationPeriod ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC';
-- Table edfi.AssessmentAssessedGradeLevel --
CREATE TABLE edfi.AssessmentAssessedGradeLevel (
@@ -453,40 +487,6 @@ CREATE TABLE edfi.AssessmentSection (
);
ALTER TABLE edfi.AssessmentSection ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC';
--- Table edfi.AssesssmentAdministrationParticipation --
-CREATE TABLE edfi.AssesssmentAdministrationParticipation (
- AdministrationIdentifier VARCHAR(255) NOT NULL,
- AssessmentIdentifier VARCHAR(60) NOT NULL,
- AssigningEducationOrganizationId BIGINT NOT NULL,
- Namespace VARCHAR(255) NOT NULL,
- ParticipatingEducationOrganizationId BIGINT NOT NULL,
- Discriminator VARCHAR(128) NULL,
- CreateDate TIMESTAMP NOT NULL,
- LastModifiedDate TIMESTAMP NOT NULL,
- Id UUID NOT NULL,
- CONSTRAINT AssesssmentAdministrationParticipation_PK PRIMARY KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace, ParticipatingEducationOrganizationId)
-);
-ALTER TABLE edfi.AssesssmentAdministrationParticipation ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC';
-ALTER TABLE edfi.AssesssmentAdministrationParticipation ALTER COLUMN Id SET DEFAULT gen_random_uuid();
-ALTER TABLE edfi.AssesssmentAdministrationParticipation ALTER COLUMN LastModifiedDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC';
-
--- Table edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc --
-CREATE TABLE edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc (
- AdministrationIdentifier VARCHAR(255) NOT NULL,
- AssessmentIdentifier VARCHAR(60) NOT NULL,
- AssigningEducationOrganizationId BIGINT NOT NULL,
- Namespace VARCHAR(255) NOT NULL,
- ParticipatingEducationOrganizationId BIGINT NOT NULL,
- EducationOrganizationId BIGINT NOT NULL,
- ElectronicMailAddress VARCHAR(128) NOT NULL,
- FirstName VARCHAR(75) NOT NULL,
- LastSurname VARCHAR(75) NOT NULL,
- LoginId VARCHAR(60) NULL,
- CreateDate TIMESTAMP NOT NULL,
- CONSTRAINT AssesssmentAdministrationParticipationAdministrati_c21adc_PK PRIMARY KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace, ParticipatingEducationOrganizationId, EducationOrganizationId, ElectronicMailAddress)
-);
-ALTER TABLE edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC';
-
-- Table edfi.AssignmentLateStatusDescriptor --
CREATE TABLE edfi.AssignmentLateStatusDescriptor (
AssignmentLateStatusDescriptorId INT NOT NULL,
@@ -1736,6 +1736,18 @@ CREATE TABLE edfi.DisplacedStudentStatusDescriptor (
CONSTRAINT DisplacedStudentStatusDescriptor_PK PRIMARY KEY (DisplacedStudentStatusDescriptorId)
);
+-- Table edfi.DualCreditInstitutionDescriptor --
+CREATE TABLE edfi.DualCreditInstitutionDescriptor (
+ DualCreditInstitutionDescriptorId INT NOT NULL,
+ CONSTRAINT DualCreditInstitutionDescriptor_PK PRIMARY KEY (DualCreditInstitutionDescriptorId)
+);
+
+-- Table edfi.DualCreditTypeDescriptor --
+CREATE TABLE edfi.DualCreditTypeDescriptor (
+ DualCreditTypeDescriptorId INT NOT NULL,
+ CONSTRAINT DualCreditTypeDescriptor_PK PRIMARY KEY (DualCreditTypeDescriptorId)
+);
+
-- Table edfi.EducationalEnvironmentDescriptor --
CREATE TABLE edfi.EducationalEnvironmentDescriptor (
EducationalEnvironmentDescriptorId INT NOT NULL,
@@ -4250,10 +4262,10 @@ ALTER TABLE edfi.Section ALTER COLUMN CreateDate SET DEFAULT current_timestamp A
ALTER TABLE edfi.Section ALTER COLUMN Id SET DEFAULT gen_random_uuid();
ALTER TABLE edfi.Section ALTER COLUMN LastModifiedDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC';
--- Table edfi.Section504DisabilityTypeDescriptor --
-CREATE TABLE edfi.Section504DisabilityTypeDescriptor (
- Section504DisabilityTypeDescriptorId INT NOT NULL,
- CONSTRAINT Section504DisabilityTypeDescriptor_PK PRIMARY KEY (Section504DisabilityTypeDescriptorId)
+-- Table edfi.Section504DisabilityDescriptor --
+CREATE TABLE edfi.Section504DisabilityDescriptor (
+ Section504DisabilityDescriptorId INT NOT NULL,
+ CONSTRAINT Section504DisabilityDescriptor_PK PRIMARY KEY (Section504DisabilityDescriptorId)
);
-- Table edfi.SectionAttendanceTakenEvent --
@@ -5360,6 +5372,8 @@ CREATE TABLE edfi.StudentAssessmentRegistration (
EntryDate DATE NOT NULL,
PlatformTypeDescriptorId INT NULL,
ReportingEducationOrganizationId BIGINT NULL,
+ ScheduledEducationOrganizationId BIGINT NULL,
+ ScheduledStudentUSI INT NULL,
SchoolId BIGINT NOT NULL,
TestingEducationOrganizationId BIGINT NULL,
Discriminator VARCHAR(128) NULL,
@@ -5678,6 +5692,18 @@ CREATE TABLE edfi.StudentDisciplineIncidentBehaviorAssociationDisciplineIn_ae6a2
);
ALTER TABLE edfi.StudentDisciplineIncidentBehaviorAssociationDisciplineIn_ae6a21 ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC';
+-- Table edfi.StudentDisciplineIncidentBehaviorAssociationWeapon --
+CREATE TABLE edfi.StudentDisciplineIncidentBehaviorAssociationWeapon (
+ BehaviorDescriptorId INT NOT NULL,
+ IncidentIdentifier VARCHAR(36) NOT NULL,
+ SchoolId BIGINT NOT NULL,
+ StudentUSI INT NOT NULL,
+ WeaponDescriptorId INT NOT NULL,
+ CreateDate TIMESTAMP NOT NULL,
+ CONSTRAINT StudentDisciplineIncidentBehaviorAssociationWeapon_PK PRIMARY KEY (BehaviorDescriptorId, IncidentIdentifier, SchoolId, StudentUSI, WeaponDescriptorId)
+);
+ALTER TABLE edfi.StudentDisciplineIncidentBehaviorAssociationWeapon ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC';
+
-- Table edfi.StudentDisciplineIncidentNonOffenderAssociation --
CREATE TABLE edfi.StudentDisciplineIncidentNonOffenderAssociation (
IncidentIdentifier VARCHAR(36) NOT NULL,
@@ -6609,7 +6635,7 @@ CREATE TABLE edfi.StudentSection504ProgramAssociation (
ProgramTypeDescriptorId INT NOT NULL,
StudentUSI INT NOT NULL,
AccommodationPlan BOOLEAN NULL,
- Section504DisabilityTypeDescriptorId INT NULL,
+ Section504DisabilityDescriptorId INT NULL,
Section504Eligibility BOOLEAN NOT NULL,
Section504EligibilityDecisionDate DATE NULL,
Section504MeetingDate DATE NULL,
@@ -6626,6 +6652,11 @@ CREATE TABLE edfi.StudentSectionAssociation (
SessionName VARCHAR(60) NOT NULL,
StudentUSI INT NOT NULL,
AttemptStatusDescriptorId INT NULL,
+ DualCreditEducationOrganizationId BIGINT NULL,
+ DualCreditIndicator BOOLEAN NULL,
+ DualCreditInstitutionDescriptorId INT NULL,
+ DualCreditTypeDescriptorId INT NULL,
+ DualHighSchoolCreditIndicator BOOLEAN NULL,
EndDate DATE NULL,
HomeroomIndicator BOOLEAN NULL,
RepeatIdentifierDescriptorId INT NULL,
@@ -6714,7 +6745,9 @@ CREATE TABLE edfi.StudentSpecialEducationProgramAssociation (
LastEvaluationDate DATE NULL,
MedicallyFragile BOOLEAN NULL,
MultiplyDisabled BOOLEAN NULL,
+ ReductionInHoursPerWeekComparedToPeers DECIMAL(5, 2) NULL,
SchoolHoursPerWeek DECIMAL(5, 2) NULL,
+ ShortenedSchoolDayIndicator BOOLEAN NULL,
SpecialEducationExitDate DATE NULL,
SpecialEducationExitExplained VARCHAR(1024) NULL,
SpecialEducationExitReasonDescriptorId INT NULL,
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0030-ForeignKeys.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0030-ForeignKeys.sql
index 1645ba785a..5e7bce7c8c 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0030-ForeignKeys.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0030-ForeignKeys.sql
@@ -110,11 +110,6 @@ REFERENCES edfi.EducationOrganization (EducationOrganizationId)
CREATE INDEX FK_c64558_EducationOrganization
ON edfi.AssessmentAdministration (AssigningEducationOrganizationId ASC);
-ALTER TABLE edfi.AssessmentAdministrationAssessmentAdminstrationPeriod ADD CONSTRAINT FK_77cf17_AssessmentAdministration FOREIGN KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace)
-REFERENCES edfi.AssessmentAdministration (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace)
-ON DELETE CASCADE
-;
-
ALTER TABLE edfi.AssessmentAdministrationAssessmentBatteryPart ADD CONSTRAINT FK_1d6852_AssessmentAdministration FOREIGN KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace)
REFERENCES edfi.AssessmentAdministration (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace)
ON DELETE CASCADE
@@ -127,6 +122,37 @@ REFERENCES edfi.AssessmentBatteryPart (AssessmentBatteryPartName, AssessmentIden
CREATE INDEX FK_1d6852_AssessmentBatteryPart
ON edfi.AssessmentAdministrationAssessmentBatteryPart (AssessmentBatteryPartName ASC, AssessmentIdentifier ASC, Namespace ASC);
+ALTER TABLE edfi.AssessmentAdministrationParticipation ADD CONSTRAINT FK_77818e_AssessmentAdministration FOREIGN KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace)
+REFERENCES edfi.AssessmentAdministration (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace)
+;
+
+CREATE INDEX FK_77818e_AssessmentAdministration
+ON edfi.AssessmentAdministrationParticipation (AdministrationIdentifier ASC, AssessmentIdentifier ASC, AssigningEducationOrganizationId ASC, Namespace ASC);
+
+ALTER TABLE edfi.AssessmentAdministrationParticipation ADD CONSTRAINT FK_77818e_EducationOrganization FOREIGN KEY (ParticipatingEducationOrganizationId)
+REFERENCES edfi.EducationOrganization (EducationOrganizationId)
+;
+
+CREATE INDEX FK_77818e_EducationOrganization
+ON edfi.AssessmentAdministrationParticipation (ParticipatingEducationOrganizationId ASC);
+
+ALTER TABLE edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833 ADD CONSTRAINT FK_c63833_AssessmentAdministrationParticipation FOREIGN KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace, ParticipatingEducationOrganizationId)
+REFERENCES edfi.AssessmentAdministrationParticipation (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace, ParticipatingEducationOrganizationId)
+ON DELETE CASCADE
+;
+
+ALTER TABLE edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833 ADD CONSTRAINT FK_c63833_EducationOrganization FOREIGN KEY (EducationOrganizationId)
+REFERENCES edfi.EducationOrganization (EducationOrganizationId)
+;
+
+CREATE INDEX FK_c63833_EducationOrganization
+ON edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833 (EducationOrganizationId ASC);
+
+ALTER TABLE edfi.AssessmentAdministrationPeriod ADD CONSTRAINT FK_3e8626_AssessmentAdministration FOREIGN KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace)
+REFERENCES edfi.AssessmentAdministration (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace)
+ON DELETE CASCADE
+;
+
ALTER TABLE edfi.AssessmentAssessedGradeLevel ADD CONSTRAINT FK_e83625_Assessment FOREIGN KEY (AssessmentIdentifier, Namespace)
REFERENCES edfi.Assessment (AssessmentIdentifier, Namespace)
ON DELETE CASCADE
@@ -394,32 +420,6 @@ ON UPDATE CASCADE
CREATE INDEX FK_22ceba_Section
ON edfi.AssessmentSection (LocalCourseCode ASC, SchoolId ASC, SchoolYear ASC, SectionIdentifier ASC, SessionName ASC);
-ALTER TABLE edfi.AssesssmentAdministrationParticipation ADD CONSTRAINT FK_0b52ab_AssessmentAdministration FOREIGN KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace)
-REFERENCES edfi.AssessmentAdministration (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace)
-;
-
-CREATE INDEX FK_0b52ab_AssessmentAdministration
-ON edfi.AssesssmentAdministrationParticipation (AdministrationIdentifier ASC, AssessmentIdentifier ASC, AssigningEducationOrganizationId ASC, Namespace ASC);
-
-ALTER TABLE edfi.AssesssmentAdministrationParticipation ADD CONSTRAINT FK_0b52ab_EducationOrganization FOREIGN KEY (ParticipatingEducationOrganizationId)
-REFERENCES edfi.EducationOrganization (EducationOrganizationId)
-;
-
-CREATE INDEX FK_0b52ab_EducationOrganization
-ON edfi.AssesssmentAdministrationParticipation (ParticipatingEducationOrganizationId ASC);
-
-ALTER TABLE edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc ADD CONSTRAINT FK_c21adc_AssesssmentAdministrationParticipation FOREIGN KEY (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace, ParticipatingEducationOrganizationId)
-REFERENCES edfi.AssesssmentAdministrationParticipation (AdministrationIdentifier, AssessmentIdentifier, AssigningEducationOrganizationId, Namespace, ParticipatingEducationOrganizationId)
-ON DELETE CASCADE
-;
-
-ALTER TABLE edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc ADD CONSTRAINT FK_c21adc_EducationOrganization FOREIGN KEY (EducationOrganizationId)
-REFERENCES edfi.EducationOrganization (EducationOrganizationId)
-;
-
-CREATE INDEX FK_c21adc_EducationOrganization
-ON edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc (EducationOrganizationId ASC);
-
ALTER TABLE edfi.AssignmentLateStatusDescriptor ADD CONSTRAINT FK_518b3c_Descriptor FOREIGN KEY (AssignmentLateStatusDescriptorId)
REFERENCES edfi.Descriptor (DescriptorId)
ON DELETE CASCADE
@@ -1507,9 +1507,6 @@ ALTER TABLE edfi.DisciplineAction ADD CONSTRAINT FK_eec7b6_Student FOREIGN KEY (
REFERENCES edfi.Student (StudentUSI)
;
-CREATE INDEX FK_eec7b6_Student
-ON edfi.DisciplineAction (StudentUSI ASC);
-
ALTER TABLE edfi.DisciplineActionDiscipline ADD CONSTRAINT FK_73601f_DisciplineAction FOREIGN KEY (DisciplineActionIdentifier, DisciplineDate, StudentUSI)
REFERENCES edfi.DisciplineAction (DisciplineActionIdentifier, DisciplineDate, StudentUSI)
ON DELETE CASCADE
@@ -1620,6 +1617,16 @@ REFERENCES edfi.Descriptor (DescriptorId)
ON DELETE CASCADE
;
+ALTER TABLE edfi.DualCreditInstitutionDescriptor ADD CONSTRAINT FK_18fe53_Descriptor FOREIGN KEY (DualCreditInstitutionDescriptorId)
+REFERENCES edfi.Descriptor (DescriptorId)
+ON DELETE CASCADE
+;
+
+ALTER TABLE edfi.DualCreditTypeDescriptor ADD CONSTRAINT FK_0ccb1b_Descriptor FOREIGN KEY (DualCreditTypeDescriptorId)
+REFERENCES edfi.Descriptor (DescriptorId)
+ON DELETE CASCADE
+;
+
ALTER TABLE edfi.EducationalEnvironmentDescriptor ADD CONSTRAINT FK_0f941f_Descriptor FOREIGN KEY (EducationalEnvironmentDescriptorId)
REFERENCES edfi.Descriptor (DescriptorId)
ON DELETE CASCADE
@@ -2043,9 +2050,6 @@ ALTER TABLE edfi.GeneralStudentProgramAssociation ADD CONSTRAINT FK_0516f9_Stude
REFERENCES edfi.Student (StudentUSI)
;
-CREATE INDEX FK_0516f9_Student
-ON edfi.GeneralStudentProgramAssociation (StudentUSI ASC);
-
ALTER TABLE edfi.GeneralStudentProgramAssociationProgramParticipationStatus ADD CONSTRAINT FK_0855d2_GeneralStudentProgramAssociation FOREIGN KEY (BeginDate, EducationOrganizationId, ProgramEducationOrganizationId, ProgramName, ProgramTypeDescriptorId, StudentUSI)
REFERENCES edfi.GeneralStudentProgramAssociation (BeginDate, EducationOrganizationId, ProgramEducationOrganizationId, ProgramName, ProgramTypeDescriptorId, StudentUSI)
ON DELETE CASCADE
@@ -2973,9 +2977,6 @@ ALTER TABLE edfi.LocalContractedStaff ADD CONSTRAINT FK_4d9b4a_Staff FOREIGN KEY
REFERENCES edfi.Staff (StaffUSI)
;
-CREATE INDEX FK_4d9b4a_Staff
-ON edfi.LocalContractedStaff (StaffUSI ASC);
-
ALTER TABLE edfi.LocaleDescriptor ADD CONSTRAINT FK_be5f41_Descriptor FOREIGN KEY (LocaleDescriptorId)
REFERENCES edfi.Descriptor (DescriptorId)
ON DELETE CASCADE
@@ -3089,9 +3090,6 @@ ALTER TABLE edfi.LocalPayroll ADD CONSTRAINT FK_46e5c2_Staff FOREIGN KEY (StaffU
REFERENCES edfi.Staff (StaffUSI)
;
-CREATE INDEX FK_46e5c2_Staff
-ON edfi.LocalPayroll (StaffUSI ASC);
-
ALTER TABLE edfi.Location ADD CONSTRAINT FK_15b619_School FOREIGN KEY (SchoolId)
REFERENCES edfi.School (SchoolId)
;
@@ -3407,9 +3405,6 @@ ALTER TABLE edfi.PostSecondaryEvent ADD CONSTRAINT FK_b8b6d7_Student FOREIGN KEY
REFERENCES edfi.Student (StudentUSI)
;
-CREATE INDEX FK_b8b6d7_Student
-ON edfi.PostSecondaryEvent (StudentUSI ASC);
-
ALTER TABLE edfi.PostSecondaryEventCategoryDescriptor ADD CONSTRAINT FK_6829e4_Descriptor FOREIGN KEY (PostSecondaryEventCategoryDescriptorId)
REFERENCES edfi.Descriptor (DescriptorId)
ON DELETE CASCADE
@@ -3735,9 +3730,6 @@ ALTER TABLE edfi.ReportCard ADD CONSTRAINT FK_ec1992_Student FOREIGN KEY (Studen
REFERENCES edfi.Student (StudentUSI)
;
-CREATE INDEX FK_ec1992_Student
-ON edfi.ReportCard (StudentUSI ASC);
-
ALTER TABLE edfi.ReportCardGrade ADD CONSTRAINT FK_f203d3_Grade FOREIGN KEY (BeginDate, GradeTypeDescriptorId, GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolYear, LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName, StudentUSI)
REFERENCES edfi.Grade (BeginDate, GradeTypeDescriptorId, GradingPeriodDescriptorId, GradingPeriodName, GradingPeriodSchoolYear, LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName, StudentUSI)
ON UPDATE CASCADE
@@ -3822,9 +3814,6 @@ ALTER TABLE edfi.RestraintEvent ADD CONSTRAINT FK_3800be_Student FOREIGN KEY (St
REFERENCES edfi.Student (StudentUSI)
;
-CREATE INDEX FK_3800be_Student
-ON edfi.RestraintEvent (StudentUSI ASC);
-
ALTER TABLE edfi.RestraintEventProgram ADD CONSTRAINT FK_d3d793_Program FOREIGN KEY (EducationOrganizationId, ProgramName, ProgramTypeDescriptorId)
REFERENCES edfi.Program (EducationOrganizationId, ProgramName, ProgramTypeDescriptorId)
;
@@ -4046,7 +4035,7 @@ REFERENCES edfi.SectionTypeDescriptor (SectionTypeDescriptorId)
CREATE INDEX FK_dfca5d_SectionTypeDescriptor
ON edfi.Section (SectionTypeDescriptorId ASC);
-ALTER TABLE edfi.Section504DisabilityTypeDescriptor ADD CONSTRAINT FK_e7f766_Descriptor FOREIGN KEY (Section504DisabilityTypeDescriptorId)
+ALTER TABLE edfi.Section504DisabilityDescriptor ADD CONSTRAINT FK_bfdfd9_Descriptor FOREIGN KEY (Section504DisabilityDescriptorId)
REFERENCES edfi.Descriptor (DescriptorId)
ON DELETE CASCADE
;
@@ -4070,9 +4059,6 @@ ALTER TABLE edfi.SectionAttendanceTakenEvent ADD CONSTRAINT FK_7bbbe7_Staff FORE
REFERENCES edfi.Staff (StaffUSI)
;
-CREATE INDEX FK_7bbbe7_Staff
-ON edfi.SectionAttendanceTakenEvent (StaffUSI ASC);
-
ALTER TABLE edfi.SectionCharacteristic ADD CONSTRAINT FK_1587d8_Section FOREIGN KEY (LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName)
REFERENCES edfi.Section (LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName)
ON DELETE CASCADE
@@ -4284,9 +4270,6 @@ ALTER TABLE edfi.StaffAbsenceEvent ADD CONSTRAINT FK_b13bbd_Staff FOREIGN KEY (S
REFERENCES edfi.Staff (StaffUSI)
;
-CREATE INDEX FK_b13bbd_Staff
-ON edfi.StaffAbsenceEvent (StaffUSI ASC);
-
ALTER TABLE edfi.StaffAddress ADD CONSTRAINT FK_c0e4a3_AddressTypeDescriptor FOREIGN KEY (AddressTypeDescriptorId)
REFERENCES edfi.AddressTypeDescriptor (AddressTypeDescriptorId)
;
@@ -4346,9 +4329,6 @@ ALTER TABLE edfi.StaffCohortAssociation ADD CONSTRAINT FK_170747_Staff FOREIGN K
REFERENCES edfi.Staff (StaffUSI)
;
-CREATE INDEX FK_170747_Staff
-ON edfi.StaffCohortAssociation (StaffUSI ASC);
-
ALTER TABLE edfi.StaffCredential ADD CONSTRAINT FK_f3917b_Credential FOREIGN KEY (CredentialIdentifier, StateOfIssueStateAbbreviationDescriptorId)
REFERENCES edfi.Credential (CredentialIdentifier, StateOfIssueStateAbbreviationDescriptorId)
;
@@ -4372,9 +4352,6 @@ ALTER TABLE edfi.StaffDisciplineIncidentAssociation ADD CONSTRAINT FK_af86db_Sta
REFERENCES edfi.Staff (StaffUSI)
;
-CREATE INDEX FK_af86db_Staff
-ON edfi.StaffDisciplineIncidentAssociation (StaffUSI ASC);
-
ALTER TABLE edfi.StaffDisciplineIncidentAssociationDisciplineIncidentPart_7fa4be ADD CONSTRAINT FK_7fa4be_DisciplineIncidentParticipationCodeDescriptor FOREIGN KEY (DisciplineIncidentParticipationCodeDescriptorId)
REFERENCES edfi.DisciplineIncidentParticipationCodeDescriptor (DisciplineIncidentParticipationCodeDescriptorId)
;
@@ -4402,9 +4379,6 @@ ALTER TABLE edfi.StaffEducationOrganizationAssignmentAssociation ADD CONSTRAINT
REFERENCES edfi.Staff (StaffUSI)
;
-CREATE INDEX FK_b9be24_Staff
-ON edfi.StaffEducationOrganizationAssignmentAssociation (StaffUSI ASC);
-
ALTER TABLE edfi.StaffEducationOrganizationAssignmentAssociation ADD CONSTRAINT FK_b9be24_StaffClassificationDescriptor FOREIGN KEY (StaffClassificationDescriptorId)
REFERENCES edfi.StaffClassificationDescriptor (StaffClassificationDescriptorId)
;
@@ -4434,9 +4408,6 @@ ALTER TABLE edfi.StaffEducationOrganizationContactAssociation ADD CONSTRAINT FK_
REFERENCES edfi.Staff (StaffUSI)
;
-CREATE INDEX FK_735dd8_Staff
-ON edfi.StaffEducationOrganizationContactAssociation (StaffUSI ASC);
-
ALTER TABLE edfi.StaffEducationOrganizationContactAssociationAddress ADD CONSTRAINT FK_893629_AddressTypeDescriptor FOREIGN KEY (AddressTypeDescriptorId)
REFERENCES edfi.AddressTypeDescriptor (AddressTypeDescriptorId)
;
@@ -4516,9 +4487,6 @@ ALTER TABLE edfi.StaffEducationOrganizationEmploymentAssociation ADD CONSTRAINT
REFERENCES edfi.Staff (StaffUSI)
;
-CREATE INDEX FK_4e79b9_Staff
-ON edfi.StaffEducationOrganizationEmploymentAssociation (StaffUSI ASC);
-
ALTER TABLE edfi.StaffElectronicMail ADD CONSTRAINT FK_d93663_ElectronicMailTypeDescriptor FOREIGN KEY (ElectronicMailTypeDescriptorId)
REFERENCES edfi.ElectronicMailTypeDescriptor (ElectronicMailTypeDescriptorId)
;
@@ -4621,9 +4589,6 @@ ALTER TABLE edfi.StaffLeave ADD CONSTRAINT FK_debd4f_Staff FOREIGN KEY (StaffUSI
REFERENCES edfi.Staff (StaffUSI)
;
-CREATE INDEX FK_debd4f_Staff
-ON edfi.StaffLeave (StaffUSI ASC);
-
ALTER TABLE edfi.StaffLeave ADD CONSTRAINT FK_debd4f_StaffLeaveEventCategoryDescriptor FOREIGN KEY (StaffLeaveEventCategoryDescriptorId)
REFERENCES edfi.StaffLeaveEventCategoryDescriptor (StaffLeaveEventCategoryDescriptorId)
;
@@ -4685,9 +4650,6 @@ ALTER TABLE edfi.StaffProgramAssociation ADD CONSTRAINT FK_a9c0d9_Staff FOREIGN
REFERENCES edfi.Staff (StaffUSI)
;
-CREATE INDEX FK_a9c0d9_Staff
-ON edfi.StaffProgramAssociation (StaffUSI ASC);
-
ALTER TABLE edfi.StaffRace ADD CONSTRAINT FK_696d9a_RaceDescriptor FOREIGN KEY (RaceDescriptorId)
REFERENCES edfi.RaceDescriptor (RaceDescriptorId)
;
@@ -4748,9 +4710,6 @@ ALTER TABLE edfi.StaffSchoolAssociation ADD CONSTRAINT FK_ce2080_Staff FOREIGN K
REFERENCES edfi.Staff (StaffUSI)
;
-CREATE INDEX FK_ce2080_Staff
-ON edfi.StaffSchoolAssociation (StaffUSI ASC);
-
ALTER TABLE edfi.StaffSchoolAssociationAcademicSubject ADD CONSTRAINT FK_d891fb_AcademicSubjectDescriptor FOREIGN KEY (AcademicSubjectDescriptorId)
REFERENCES edfi.AcademicSubjectDescriptor (AcademicSubjectDescriptorId)
;
@@ -4794,9 +4753,6 @@ ALTER TABLE edfi.StaffSectionAssociation ADD CONSTRAINT FK_515cb5_Staff FOREIGN
REFERENCES edfi.Staff (StaffUSI)
;
-CREATE INDEX FK_515cb5_Staff
-ON edfi.StaffSectionAssociation (StaffUSI ASC);
-
ALTER TABLE edfi.StaffTelephone ADD CONSTRAINT FK_4de15a_Staff FOREIGN KEY (StaffUSI)
REFERENCES edfi.Staff (StaffUSI)
ON DELETE CASCADE
@@ -4938,9 +4894,6 @@ ALTER TABLE edfi.StudentAcademicRecord ADD CONSTRAINT FK_0ff8d6_Student FOREIGN
REFERENCES edfi.Student (StudentUSI)
;
-CREATE INDEX FK_0ff8d6_Student
-ON edfi.StudentAcademicRecord (StudentUSI ASC);
-
ALTER TABLE edfi.StudentAcademicRecord ADD CONSTRAINT FK_0ff8d6_TermDescriptor FOREIGN KEY (TermDescriptorId)
REFERENCES edfi.TermDescriptor (TermDescriptorId)
;
@@ -5115,9 +5068,6 @@ ALTER TABLE edfi.StudentAssessment ADD CONSTRAINT FK_ee3b2a_Student FOREIGN KEY
REFERENCES edfi.Student (StudentUSI)
;
-CREATE INDEX FK_ee3b2a_Student
-ON edfi.StudentAssessment (StudentUSI ASC);
-
ALTER TABLE edfi.StudentAssessmentAccommodation ADD CONSTRAINT FK_de959d_AccommodationDescriptor FOREIGN KEY (AccommodationDescriptorId)
REFERENCES edfi.AccommodationDescriptor (AccommodationDescriptorId)
;
@@ -5247,12 +5197,12 @@ REFERENCES edfi.PlatformTypeDescriptor (PlatformTypeDescriptorId)
CREATE INDEX FK_79fd6b_PlatformTypeDescriptor
ON edfi.StudentAssessmentRegistration (PlatformTypeDescriptorId ASC);
-ALTER TABLE edfi.StudentAssessmentRegistration ADD CONSTRAINT FK_79fd6b_StudentEducationOrganizationAssessmentAccommodation FOREIGN KEY (EducationOrganizationId, StudentUSI)
+ALTER TABLE edfi.StudentAssessmentRegistration ADD CONSTRAINT FK_79fd6b_StudentEducationOrganizationAssessmentAccommodation FOREIGN KEY (ScheduledEducationOrganizationId, ScheduledStudentUSI)
REFERENCES edfi.StudentEducationOrganizationAssessmentAccommodation (EducationOrganizationId, StudentUSI)
;
CREATE INDEX FK_79fd6b_StudentEducationOrganizationAssessmentAccommodation
-ON edfi.StudentAssessmentRegistration (EducationOrganizationId ASC, StudentUSI ASC);
+ON edfi.StudentAssessmentRegistration (ScheduledEducationOrganizationId ASC, ScheduledStudentUSI ASC);
ALTER TABLE edfi.StudentAssessmentRegistration ADD CONSTRAINT FK_79fd6b_StudentEducationOrganizationAssociation FOREIGN KEY (EducationOrganizationId, StudentUSI)
REFERENCES edfi.StudentEducationOrganizationAssociation (EducationOrganizationId, StudentUSI)
@@ -5397,9 +5347,6 @@ ALTER TABLE edfi.StudentCohortAssociation ADD CONSTRAINT FK_369ddc_Student FOREI
REFERENCES edfi.Student (StudentUSI)
;
-CREATE INDEX FK_369ddc_Student
-ON edfi.StudentCohortAssociation (StudentUSI ASC);
-
ALTER TABLE edfi.StudentCohortAssociationSection ADD CONSTRAINT FK_d2362d_Section FOREIGN KEY (LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName)
REFERENCES edfi.Section (LocalCourseCode, SchoolId, SchoolYear, SectionIdentifier, SessionName)
ON UPDATE CASCADE
@@ -5438,9 +5385,6 @@ ALTER TABLE edfi.StudentCompetencyObjective ADD CONSTRAINT FK_395c07_Student FOR
REFERENCES edfi.Student (StudentUSI)
;
-CREATE INDEX FK_395c07_Student
-ON edfi.StudentCompetencyObjective (StudentUSI ASC);
-
ALTER TABLE edfi.StudentCompetencyObjectiveGeneralStudentProgramAssociation ADD CONSTRAINT FK_005337_GeneralStudentProgramAssociation FOREIGN KEY (BeginDate, EducationOrganizationId, ProgramEducationOrganizationId, ProgramName, ProgramTypeDescriptorId, StudentUSI)
REFERENCES edfi.GeneralStudentProgramAssociation (BeginDate, EducationOrganizationId, ProgramEducationOrganizationId, ProgramName, ProgramTypeDescriptorId, StudentUSI)
;
@@ -5529,9 +5473,6 @@ ALTER TABLE edfi.StudentDisciplineIncidentBehaviorAssociation ADD CONSTRAINT FK_
REFERENCES edfi.Student (StudentUSI)
;
-CREATE INDEX FK_f4934f_Student
-ON edfi.StudentDisciplineIncidentBehaviorAssociation (StudentUSI ASC);
-
ALTER TABLE edfi.StudentDisciplineIncidentBehaviorAssociationDisciplineIn_ae6a21 ADD CONSTRAINT FK_ae6a21_DisciplineIncidentParticipationCodeDescriptor FOREIGN KEY (DisciplineIncidentParticipationCodeDescriptorId)
REFERENCES edfi.DisciplineIncidentParticipationCodeDescriptor (DisciplineIncidentParticipationCodeDescriptorId)
;
@@ -5544,6 +5485,18 @@ REFERENCES edfi.StudentDisciplineIncidentBehaviorAssociation (BehaviorDescriptor
ON DELETE CASCADE
;
+ALTER TABLE edfi.StudentDisciplineIncidentBehaviorAssociationWeapon ADD CONSTRAINT FK_459d56_StudentDisciplineIncidentBehaviorAssociation FOREIGN KEY (BehaviorDescriptorId, IncidentIdentifier, SchoolId, StudentUSI)
+REFERENCES edfi.StudentDisciplineIncidentBehaviorAssociation (BehaviorDescriptorId, IncidentIdentifier, SchoolId, StudentUSI)
+ON DELETE CASCADE
+;
+
+ALTER TABLE edfi.StudentDisciplineIncidentBehaviorAssociationWeapon ADD CONSTRAINT FK_459d56_WeaponDescriptor FOREIGN KEY (WeaponDescriptorId)
+REFERENCES edfi.WeaponDescriptor (WeaponDescriptorId)
+;
+
+CREATE INDEX FK_459d56_WeaponDescriptor
+ON edfi.StudentDisciplineIncidentBehaviorAssociationWeapon (WeaponDescriptorId ASC);
+
ALTER TABLE edfi.StudentDisciplineIncidentNonOffenderAssociation ADD CONSTRAINT FK_4b43da_DisciplineIncident FOREIGN KEY (IncidentIdentifier, SchoolId)
REFERENCES edfi.DisciplineIncident (IncidentIdentifier, SchoolId)
;
@@ -5555,9 +5508,6 @@ ALTER TABLE edfi.StudentDisciplineIncidentNonOffenderAssociation ADD CONSTRAINT
REFERENCES edfi.Student (StudentUSI)
;
-CREATE INDEX FK_4b43da_Student
-ON edfi.StudentDisciplineIncidentNonOffenderAssociation (StudentUSI ASC);
-
ALTER TABLE edfi.StudentDisciplineIncidentNonOffenderAssociationDisciplin_4c979a ADD CONSTRAINT FK_4c979a_DisciplineIncidentParticipationCodeDescriptor FOREIGN KEY (DisciplineIncidentParticipationCodeDescriptorId)
REFERENCES edfi.DisciplineIncidentParticipationCodeDescriptor (DisciplineIncidentParticipationCodeDescriptorId)
;
@@ -5578,9 +5528,6 @@ ALTER TABLE edfi.StudentEducationOrganizationAssessmentAccommodation ADD CONSTRA
REFERENCES edfi.Student (StudentUSI)
;
-CREATE INDEX FK_5f4481_Student
-ON edfi.StudentEducationOrganizationAssessmentAccommodation (StudentUSI ASC);
-
ALTER TABLE edfi.StudentEducationOrganizationAssessmentAccommodationGener_d1d10a ADD CONSTRAINT FK_d1d10a_AccommodationDescriptor FOREIGN KEY (AccommodationDescriptorId)
REFERENCES edfi.AccommodationDescriptor (AccommodationDescriptorId)
;
@@ -5657,9 +5604,6 @@ ALTER TABLE edfi.StudentEducationOrganizationAssociation ADD CONSTRAINT FK_8e125
REFERENCES edfi.Student (StudentUSI)
;
-CREATE INDEX FK_8e1257_Student
-ON edfi.StudentEducationOrganizationAssociation (StudentUSI ASC);
-
ALTER TABLE edfi.StudentEducationOrganizationAssociation ADD CONSTRAINT FK_8e1257_SupporterMilitaryConnectionDescriptor FOREIGN KEY (SupporterMilitaryConnectionDescriptorId)
REFERENCES edfi.SupporterMilitaryConnectionDescriptor (SupporterMilitaryConnectionDescriptorId)
;
@@ -5931,9 +5875,6 @@ ALTER TABLE edfi.StudentEducationOrganizationResponsibilityAssociation ADD CONST
REFERENCES edfi.Student (StudentUSI)
;
-CREATE INDEX FK_42aa64_Student
-ON edfi.StudentEducationOrganizationResponsibilityAssociation (StudentUSI ASC);
-
ALTER TABLE edfi.StudentGradebookEntry ADD CONSTRAINT FK_c2efaa_AssignmentLateStatusDescriptor FOREIGN KEY (AssignmentLateStatusDescriptorId)
REFERENCES edfi.AssignmentLateStatusDescriptor (AssignmentLateStatusDescriptorId)
;
@@ -5960,9 +5901,6 @@ ALTER TABLE edfi.StudentGradebookEntry ADD CONSTRAINT FK_c2efaa_Student FOREIGN
REFERENCES edfi.Student (StudentUSI)
;
-CREATE INDEX FK_c2efaa_Student
-ON edfi.StudentGradebookEntry (StudentUSI ASC);
-
ALTER TABLE edfi.StudentGradebookEntry ADD CONSTRAINT FK_c2efaa_SubmissionStatusDescriptor FOREIGN KEY (SubmissionStatusDescriptorId)
REFERENCES edfi.SubmissionStatusDescriptor (SubmissionStatusDescriptorId)
;
@@ -5985,9 +5923,6 @@ ALTER TABLE edfi.StudentHealth ADD CONSTRAINT FK_12f7e6_Student FOREIGN KEY (Stu
REFERENCES edfi.Student (StudentUSI)
;
-CREATE INDEX FK_12f7e6_Student
-ON edfi.StudentHealth (StudentUSI ASC);
-
ALTER TABLE edfi.StudentHealthAdditionalImmunization ADD CONSTRAINT FK_e7bdaa_StudentHealth FOREIGN KEY (EducationOrganizationId, StudentUSI)
REFERENCES edfi.StudentHealth (EducationOrganizationId, StudentUSI)
ON DELETE CASCADE
@@ -6088,9 +6023,6 @@ ALTER TABLE edfi.StudentInterventionAssociation ADD CONSTRAINT FK_25cb9c_Student
REFERENCES edfi.Student (StudentUSI)
;
-CREATE INDEX FK_25cb9c_Student
-ON edfi.StudentInterventionAssociation (StudentUSI ASC);
-
ALTER TABLE edfi.StudentInterventionAssociationInterventionEffectiveness ADD CONSTRAINT FK_29e870_DiagnosisDescriptor FOREIGN KEY (DiagnosisDescriptorId)
REFERENCES edfi.DiagnosisDescriptor (DiagnosisDescriptorId)
;
@@ -6149,9 +6081,6 @@ ALTER TABLE edfi.StudentInterventionAttendanceEvent ADD CONSTRAINT FK_631023_Stu
REFERENCES edfi.Student (StudentUSI)
;
-CREATE INDEX FK_631023_Student
-ON edfi.StudentInterventionAttendanceEvent (StudentUSI ASC);
-
ALTER TABLE edfi.StudentLanguageInstructionProgramAssociation ADD CONSTRAINT FK_92de5d_GeneralStudentProgramAssociation FOREIGN KEY (BeginDate, EducationOrganizationId, ProgramEducationOrganizationId, ProgramName, ProgramTypeDescriptorId, StudentUSI)
REFERENCES edfi.GeneralStudentProgramAssociation (BeginDate, EducationOrganizationId, ProgramEducationOrganizationId, ProgramName, ProgramTypeDescriptorId, StudentUSI)
ON DELETE CASCADE
@@ -6355,9 +6284,6 @@ ALTER TABLE edfi.StudentProgramAttendanceEvent ADD CONSTRAINT FK_317aeb_Student
REFERENCES edfi.Student (StudentUSI)
;
-CREATE INDEX FK_317aeb_Student
-ON edfi.StudentProgramAttendanceEvent (StudentUSI ASC);
-
ALTER TABLE edfi.StudentProgramEvaluation ADD CONSTRAINT FK_4b1054_EducationOrganization FOREIGN KEY (EducationOrganizationId)
REFERENCES edfi.EducationOrganization (EducationOrganizationId)
;
@@ -6532,9 +6458,6 @@ ALTER TABLE edfi.StudentSchoolAssociation ADD CONSTRAINT FK_857b52_Student FOREI
REFERENCES edfi.Student (StudentUSI)
;
-CREATE INDEX FK_857b52_Student
-ON edfi.StudentSchoolAssociation (StudentUSI ASC);
-
ALTER TABLE edfi.StudentSchoolAssociationAlternativeGraduationPlan ADD CONSTRAINT FK_70e978_GraduationPlan FOREIGN KEY (AlternativeEducationOrganizationId, AlternativeGraduationPlanTypeDescriptorId, AlternativeGraduationSchoolYear)
REFERENCES edfi.GraduationPlan (EducationOrganizationId, GraduationPlanTypeDescriptorId, GraduationSchoolYear)
;
@@ -6591,9 +6514,6 @@ ALTER TABLE edfi.StudentSchoolAttendanceEvent ADD CONSTRAINT FK_78fd7f_Student F
REFERENCES edfi.Student (StudentUSI)
;
-CREATE INDEX FK_78fd7f_Student
-ON edfi.StudentSchoolAttendanceEvent (StudentUSI ASC);
-
ALTER TABLE edfi.StudentSchoolFoodServiceProgramAssociation ADD CONSTRAINT FK_82e1e5_GeneralStudentProgramAssociation FOREIGN KEY (BeginDate, EducationOrganizationId, ProgramEducationOrganizationId, ProgramName, ProgramTypeDescriptorId, StudentUSI)
REFERENCES edfi.GeneralStudentProgramAssociation (BeginDate, EducationOrganizationId, ProgramEducationOrganizationId, ProgramName, ProgramTypeDescriptorId, StudentUSI)
ON DELETE CASCADE
@@ -6616,12 +6536,12 @@ REFERENCES edfi.GeneralStudentProgramAssociation (BeginDate, EducationOrganizati
ON DELETE CASCADE
;
-ALTER TABLE edfi.StudentSection504ProgramAssociation ADD CONSTRAINT FK_6e41ee_Section504DisabilityTypeDescriptor FOREIGN KEY (Section504DisabilityTypeDescriptorId)
-REFERENCES edfi.Section504DisabilityTypeDescriptor (Section504DisabilityTypeDescriptorId)
+ALTER TABLE edfi.StudentSection504ProgramAssociation ADD CONSTRAINT FK_6e41ee_Section504DisabilityDescriptor FOREIGN KEY (Section504DisabilityDescriptorId)
+REFERENCES edfi.Section504DisabilityDescriptor (Section504DisabilityDescriptorId)
;
-CREATE INDEX FK_6e41ee_Section504DisabilityTypeDescriptor
-ON edfi.StudentSection504ProgramAssociation (Section504DisabilityTypeDescriptorId ASC);
+CREATE INDEX FK_6e41ee_Section504DisabilityDescriptor
+ON edfi.StudentSection504ProgramAssociation (Section504DisabilityDescriptorId ASC);
ALTER TABLE edfi.StudentSectionAssociation ADD CONSTRAINT FK_39aa3c_AttemptStatusDescriptor FOREIGN KEY (AttemptStatusDescriptorId)
REFERENCES edfi.AttemptStatusDescriptor (AttemptStatusDescriptorId)
@@ -6630,6 +6550,27 @@ REFERENCES edfi.AttemptStatusDescriptor (AttemptStatusDescriptorId)
CREATE INDEX FK_39aa3c_AttemptStatusDescriptor
ON edfi.StudentSectionAssociation (AttemptStatusDescriptorId ASC);
+ALTER TABLE edfi.StudentSectionAssociation ADD CONSTRAINT FK_39aa3c_DualCreditInstitutionDescriptor FOREIGN KEY (DualCreditInstitutionDescriptorId)
+REFERENCES edfi.DualCreditInstitutionDescriptor (DualCreditInstitutionDescriptorId)
+;
+
+CREATE INDEX FK_39aa3c_DualCreditInstitutionDescriptor
+ON edfi.StudentSectionAssociation (DualCreditInstitutionDescriptorId ASC);
+
+ALTER TABLE edfi.StudentSectionAssociation ADD CONSTRAINT FK_39aa3c_DualCreditTypeDescriptor FOREIGN KEY (DualCreditTypeDescriptorId)
+REFERENCES edfi.DualCreditTypeDescriptor (DualCreditTypeDescriptorId)
+;
+
+CREATE INDEX FK_39aa3c_DualCreditTypeDescriptor
+ON edfi.StudentSectionAssociation (DualCreditTypeDescriptorId ASC);
+
+ALTER TABLE edfi.StudentSectionAssociation ADD CONSTRAINT FK_39aa3c_EducationOrganization FOREIGN KEY (DualCreditEducationOrganizationId)
+REFERENCES edfi.EducationOrganization (EducationOrganizationId)
+;
+
+CREATE INDEX FK_39aa3c_EducationOrganization
+ON edfi.StudentSectionAssociation (DualCreditEducationOrganizationId ASC);
+
ALTER TABLE edfi.StudentSectionAssociation ADD CONSTRAINT FK_39aa3c_RepeatIdentifierDescriptor FOREIGN KEY (RepeatIdentifierDescriptorId)
REFERENCES edfi.RepeatIdentifierDescriptor (RepeatIdentifierDescriptorId)
;
@@ -6649,9 +6590,6 @@ ALTER TABLE edfi.StudentSectionAssociation ADD CONSTRAINT FK_39aa3c_Student FORE
REFERENCES edfi.Student (StudentUSI)
;
-CREATE INDEX FK_39aa3c_Student
-ON edfi.StudentSectionAssociation (StudentUSI ASC);
-
ALTER TABLE edfi.StudentSectionAssociationProgram ADD CONSTRAINT FK_990204_Program FOREIGN KEY (EducationOrganizationId, ProgramName, ProgramTypeDescriptorId)
REFERENCES edfi.Program (EducationOrganizationId, ProgramName, ProgramTypeDescriptorId)
;
@@ -6691,9 +6629,6 @@ ALTER TABLE edfi.StudentSectionAttendanceEvent ADD CONSTRAINT FK_61b087_Student
REFERENCES edfi.Student (StudentUSI)
;
-CREATE INDEX FK_61b087_Student
-ON edfi.StudentSectionAttendanceEvent (StudentUSI ASC);
-
ALTER TABLE edfi.StudentSectionAttendanceEventClassPeriod ADD CONSTRAINT FK_80c6c1_ClassPeriod FOREIGN KEY (ClassPeriodName, SchoolId)
REFERENCES edfi.ClassPeriod (ClassPeriodName, SchoolId)
ON UPDATE CASCADE
@@ -6837,9 +6772,6 @@ ALTER TABLE edfi.StudentSpecialEducationProgramEligibilityAssociation ADD CONSTR
REFERENCES edfi.Student (StudentUSI)
;
-CREATE INDEX FK_fcb699_Student
-ON edfi.StudentSpecialEducationProgramEligibilityAssociation (StudentUSI ASC);
-
ALTER TABLE edfi.StudentTitleIPartAProgramAssociation ADD CONSTRAINT FK_27d914_GeneralStudentProgramAssociation FOREIGN KEY (BeginDate, EducationOrganizationId, ProgramEducationOrganizationId, ProgramName, ProgramTypeDescriptorId, StudentUSI)
REFERENCES edfi.GeneralStudentProgramAssociation (BeginDate, EducationOrganizationId, ProgramEducationOrganizationId, ProgramName, ProgramTypeDescriptorId, StudentUSI)
ON DELETE CASCADE
@@ -6875,9 +6807,6 @@ ALTER TABLE edfi.StudentTransportation ADD CONSTRAINT FK_68afad_Student FOREIGN
REFERENCES edfi.Student (StudentUSI)
;
-CREATE INDEX FK_68afad_Student
-ON edfi.StudentTransportation (StudentUSI ASC);
-
ALTER TABLE edfi.StudentTransportation ADD CONSTRAINT FK_68afad_TransportationPublicExpenseEligibilityTypeDescriptor FOREIGN KEY (TransportationPublicExpenseEligibilityTypeDescriptorId)
REFERENCES edfi.TransportationPublicExpenseEligibilityTypeDescriptor (TransportationPublicExpenseEligibilityTypeDescriptorId)
;
@@ -7112,9 +7041,6 @@ ALTER TABLE edfi.SurveyResponseStaffTargetAssociation ADD CONSTRAINT FK_f9457e_S
REFERENCES edfi.Staff (StaffUSI)
;
-CREATE INDEX FK_f9457e_Staff
-ON edfi.SurveyResponseStaffTargetAssociation (StaffUSI ASC);
-
ALTER TABLE edfi.SurveyResponseStaffTargetAssociation ADD CONSTRAINT FK_f9457e_SurveyResponse FOREIGN KEY (Namespace, SurveyIdentifier, SurveyResponseIdentifier)
REFERENCES edfi.SurveyResponse (Namespace, SurveyIdentifier, SurveyResponseIdentifier)
;
@@ -7185,9 +7111,6 @@ ALTER TABLE edfi.SurveySectionResponseStaffTargetAssociation ADD CONSTRAINT FK_3
REFERENCES edfi.Staff (StaffUSI)
;
-CREATE INDEX FK_39073d_Staff
-ON edfi.SurveySectionResponseStaffTargetAssociation (StaffUSI ASC);
-
ALTER TABLE edfi.SurveySectionResponseStaffTargetAssociation ADD CONSTRAINT FK_39073d_SurveySectionResponse FOREIGN KEY (Namespace, SurveyIdentifier, SurveyResponseIdentifier, SurveySectionTitle)
REFERENCES edfi.SurveySectionResponse (Namespace, SurveyIdentifier, SurveyResponseIdentifier, SurveySectionTitle)
;
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0040-IdColumnUniqueIndexes.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0040-IdColumnUniqueIndexes.sql
index 14b679170e..bcc62c264b 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0040-IdColumnUniqueIndexes.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0040-IdColumnUniqueIndexes.sql
@@ -11,14 +11,14 @@ CREATE UNIQUE INDEX IF NOT EXISTS UX_7808ee_Id ON edfi.Assessment(Id);
CREATE UNIQUE INDEX IF NOT EXISTS UX_c64558_Id ON edfi.AssessmentAdministration(Id);
+CREATE UNIQUE INDEX IF NOT EXISTS UX_77818e_Id ON edfi.AssessmentAdministrationParticipation(Id);
+
CREATE UNIQUE INDEX IF NOT EXISTS UX_6e22f2_Id ON edfi.AssessmentBatteryPart(Id);
CREATE UNIQUE INDEX IF NOT EXISTS UX_dc3dcf_Id ON edfi.AssessmentItem(Id);
CREATE UNIQUE INDEX IF NOT EXISTS UX_a20588_Id ON edfi.AssessmentScoreRangeLearningStandard(Id);
-CREATE UNIQUE INDEX IF NOT EXISTS UX_0b52ab_Id ON edfi.AssesssmentAdministrationParticipation(Id);
-
CREATE UNIQUE INDEX IF NOT EXISTS UX_e52c9c_Id ON edfi.BalanceSheetDimension(Id);
CREATE UNIQUE INDEX IF NOT EXISTS UX_9bbaf5_Id ON edfi.BellSchedule(Id);
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0050-ExtendedProperties.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0050-ExtendedProperties.sql
index 8a8c9a70f7..77c32e4cbc 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0050-ExtendedProperties.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/0050-ExtendedProperties.sql
@@ -93,15 +93,6 @@ COMMENT ON COLUMN edfi.AssessmentAdministration.AssessmentIdentifier IS 'A uniqu
COMMENT ON COLUMN edfi.AssessmentAdministration.AssigningEducationOrganizationId IS 'The identifier assigned to an education organization.';
COMMENT ON COLUMN edfi.AssessmentAdministration.Namespace IS 'Namespace for the assessment.';
--- Extended Properties [edfi].[AssessmentAdministrationAssessmentAdminstrationPeriod] --
-COMMENT ON TABLE edfi.AssessmentAdministrationAssessmentAdminstrationPeriod IS 'The anticipated dates for the assessment or administration window.';
-COMMENT ON COLUMN edfi.AssessmentAdministrationAssessmentAdminstrationPeriod.AdministrationIdentifier IS 'The title or name of the assessment in the context of its administration.';
-COMMENT ON COLUMN edfi.AssessmentAdministrationAssessmentAdminstrationPeriod.AssessmentIdentifier IS 'A unique number or alphanumeric code assigned to an assessment.';
-COMMENT ON COLUMN edfi.AssessmentAdministrationAssessmentAdminstrationPeriod.AssigningEducationOrganizationId IS 'The identifier assigned to an education organization.';
-COMMENT ON COLUMN edfi.AssessmentAdministrationAssessmentAdminstrationPeriod.Namespace IS 'Namespace for the assessment.';
-COMMENT ON COLUMN edfi.AssessmentAdministrationAssessmentAdminstrationPeriod.BeginDate IS 'The month, day, and year for the start of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.';
-COMMENT ON COLUMN edfi.AssessmentAdministrationAssessmentAdminstrationPeriod.EndDate IS 'The month, day, and year for the end of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.';
-
-- Extended Properties [edfi].[AssessmentAdministrationAssessmentBatteryPart] --
COMMENT ON TABLE edfi.AssessmentAdministrationAssessmentBatteryPart IS 'A reference to the parts of the assessment battery that are offered in this administration of the assessment.';
COMMENT ON COLUMN edfi.AssessmentAdministrationAssessmentBatteryPart.AdministrationIdentifier IS 'The title or name of the assessment in the context of its administration.';
@@ -110,6 +101,36 @@ COMMENT ON COLUMN edfi.AssessmentAdministrationAssessmentBatteryPart.AssigningEd
COMMENT ON COLUMN edfi.AssessmentAdministrationAssessmentBatteryPart.Namespace IS 'Namespace for the assessment.';
COMMENT ON COLUMN edfi.AssessmentAdministrationAssessmentBatteryPart.AssessmentBatteryPartName IS 'The name of the part of an assessment battery.';
+-- Extended Properties [edfi].[AssessmentAdministrationParticipation] --
+COMMENT ON TABLE edfi.AssessmentAdministrationParticipation IS 'Identifies the point of contact for the administration of an assessment under the purview of an education organization.';
+COMMENT ON COLUMN edfi.AssessmentAdministrationParticipation.AdministrationIdentifier IS 'The title or name of the assessment in the context of its administration.';
+COMMENT ON COLUMN edfi.AssessmentAdministrationParticipation.AssessmentIdentifier IS 'A unique number or alphanumeric code assigned to an assessment.';
+COMMENT ON COLUMN edfi.AssessmentAdministrationParticipation.AssigningEducationOrganizationId IS 'The identifier assigned to an education organization.';
+COMMENT ON COLUMN edfi.AssessmentAdministrationParticipation.Namespace IS 'Namespace for the assessment.';
+COMMENT ON COLUMN edfi.AssessmentAdministrationParticipation.ParticipatingEducationOrganizationId IS 'The identifier assigned to an education organization.';
+
+-- Extended Properties [edfi].[AssessmentAdministrationParticipationAdministrationPoint_c63833] --
+COMMENT ON TABLE edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833 IS 'Pre-identified contacts for education organizations administering the assessment.';
+COMMENT ON COLUMN edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833.AdministrationIdentifier IS 'The title or name of the assessment in the context of its administration.';
+COMMENT ON COLUMN edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833.AssessmentIdentifier IS 'A unique number or alphanumeric code assigned to an assessment.';
+COMMENT ON COLUMN edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833.AssigningEducationOrganizationId IS 'The identifier assigned to an education organization.';
+COMMENT ON COLUMN edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833.Namespace IS 'Namespace for the assessment.';
+COMMENT ON COLUMN edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833.ParticipatingEducationOrganizationId IS 'The identifier assigned to an education organization.';
+COMMENT ON COLUMN edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833.EducationOrganizationId IS 'The identifier assigned to an education organization.';
+COMMENT ON COLUMN edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833.ElectronicMailAddress IS 'The email address for the contact.';
+COMMENT ON COLUMN edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833.FirstName IS 'The contact''s first name.';
+COMMENT ON COLUMN edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833.LastSurname IS 'The contact''s last name.';
+COMMENT ON COLUMN edfi.AssessmentAdministrationParticipationAdministrationPoint_c63833.LoginId IS 'The login ID for the user; used for security access control interface.';
+
+-- Extended Properties [edfi].[AssessmentAdministrationPeriod] --
+COMMENT ON TABLE edfi.AssessmentAdministrationPeriod IS 'The anticipated dates for the assessment or administration window.';
+COMMENT ON COLUMN edfi.AssessmentAdministrationPeriod.AdministrationIdentifier IS 'The title or name of the assessment in the context of its administration.';
+COMMENT ON COLUMN edfi.AssessmentAdministrationPeriod.AssessmentIdentifier IS 'A unique number or alphanumeric code assigned to an assessment.';
+COMMENT ON COLUMN edfi.AssessmentAdministrationPeriod.AssigningEducationOrganizationId IS 'The identifier assigned to an education organization.';
+COMMENT ON COLUMN edfi.AssessmentAdministrationPeriod.Namespace IS 'Namespace for the assessment.';
+COMMENT ON COLUMN edfi.AssessmentAdministrationPeriod.BeginDate IS 'The month, day, and year for the start of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.';
+COMMENT ON COLUMN edfi.AssessmentAdministrationPeriod.EndDate IS 'The month, day, and year for the end of the period. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.';
+
-- Extended Properties [edfi].[AssessmentAssessedGradeLevel] --
COMMENT ON TABLE edfi.AssessmentAssessedGradeLevel IS 'The grade level(s) for which an assessment is designed. The semantics of null is assumed to mean that the assessment is not associated with any grade level.';
COMMENT ON COLUMN edfi.AssessmentAssessedGradeLevel.AssessmentIdentifier IS 'A unique number or alphanumeric code assigned to an assessment.';
@@ -288,27 +309,6 @@ COMMENT ON COLUMN edfi.AssessmentSection.SchoolYear IS 'The identifier for the s
COMMENT ON COLUMN edfi.AssessmentSection.SectionIdentifier IS 'The local identifier assigned to a section.';
COMMENT ON COLUMN edfi.AssessmentSection.SessionName IS 'The identifier for the calendar for the academic session.';
--- Extended Properties [edfi].[AssesssmentAdministrationParticipation] --
-COMMENT ON TABLE edfi.AssesssmentAdministrationParticipation IS 'Identifies the point of contact for the administration of an assessment under the purview of an education organization.';
-COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipation.AdministrationIdentifier IS 'The title or name of the assessment in the context of its administration.';
-COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipation.AssessmentIdentifier IS 'A unique number or alphanumeric code assigned to an assessment.';
-COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipation.AssigningEducationOrganizationId IS 'The identifier assigned to an education organization.';
-COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipation.Namespace IS 'Namespace for the assessment.';
-COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipation.ParticipatingEducationOrganizationId IS 'The identifier assigned to an education organization.';
-
--- Extended Properties [edfi].[AssesssmentAdministrationParticipationAdministrationPoin_c21adc] --
-COMMENT ON TABLE edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc IS 'Pre-identified contacts for education organizations administering the assessment.';
-COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc.AdministrationIdentifier IS 'The title or name of the assessment in the context of its administration.';
-COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc.AssessmentIdentifier IS 'A unique number or alphanumeric code assigned to an assessment.';
-COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc.AssigningEducationOrganizationId IS 'The identifier assigned to an education organization.';
-COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc.Namespace IS 'Namespace for the assessment.';
-COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc.ParticipatingEducationOrganizationId IS 'The identifier assigned to an education organization.';
-COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc.EducationOrganizationId IS 'The identifier assigned to an education organization.';
-COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc.ElectronicMailAddress IS 'The email address for the contact.';
-COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc.FirstName IS 'The contact''s first name.';
-COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc.LastSurname IS 'The contact''s last name.';
-COMMENT ON COLUMN edfi.AssesssmentAdministrationParticipationAdministrationPoin_c21adc.LoginId IS 'The login ID for the user; used for security access control interface.';
-
-- Extended Properties [edfi].[AssignmentLateStatusDescriptor] --
COMMENT ON TABLE edfi.AssignmentLateStatusDescriptor IS 'Status of whether the assignment was submitted after the due date and/or marked as late.';
COMMENT ON COLUMN edfi.AssignmentLateStatusDescriptor.AssignmentLateStatusDescriptorId IS 'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.';
@@ -1111,6 +1111,14 @@ COMMENT ON COLUMN edfi.DisciplineIncidentWeapon.WeaponDescriptorId IS 'Identifie
COMMENT ON TABLE edfi.DisplacedStudentStatusDescriptor IS 'Indicates whether a student has been displaced as a result of a crisis event.';
COMMENT ON COLUMN edfi.DisplacedStudentStatusDescriptor.DisplacedStudentStatusDescriptorId IS 'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.';
+-- Extended Properties [edfi].[DualCreditInstitutionDescriptor] --
+COMMENT ON TABLE edfi.DualCreditInstitutionDescriptor IS 'Custom descriptor of college institutions or categories of institutions participating in the dual credit program.';
+COMMENT ON COLUMN edfi.DualCreditInstitutionDescriptor.DualCreditInstitutionDescriptorId IS 'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.';
+
+-- Extended Properties [edfi].[DualCreditTypeDescriptor] --
+COMMENT ON TABLE edfi.DualCreditTypeDescriptor IS 'Indicates the type of the dual credit program.';
+COMMENT ON COLUMN edfi.DualCreditTypeDescriptor.DualCreditTypeDescriptorId IS 'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.';
+
-- Extended Properties [edfi].[EducationalEnvironmentDescriptor] --
COMMENT ON TABLE edfi.EducationalEnvironmentDescriptor IS 'The setting in which a child receives education and related services.';
COMMENT ON COLUMN edfi.EducationalEnvironmentDescriptor.EducationalEnvironmentDescriptorId IS 'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.';
@@ -2680,9 +2688,9 @@ COMMENT ON COLUMN edfi.Section.SectionName IS 'A locally-defined name for the se
COMMENT ON COLUMN edfi.Section.SectionTypeDescriptorId IS 'Specifies whether the section is for attendance only, credit only, or both.';
COMMENT ON COLUMN edfi.Section.SequenceOfCourse IS 'When a section is part of a sequence of parts for a course, the number of the sequence. If the course has only one part, the value of this section attribute should be 1.';
--- Extended Properties [edfi].[Section504DisabilityTypeDescriptor] --
-COMMENT ON TABLE edfi.Section504DisabilityTypeDescriptor IS 'This descriptor defines the reason(s) why student qualifies for Section 504 consideration.';
-COMMENT ON COLUMN edfi.Section504DisabilityTypeDescriptor.Section504DisabilityTypeDescriptorId IS 'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.';
+-- Extended Properties [edfi].[Section504DisabilityDescriptor] --
+COMMENT ON TABLE edfi.Section504DisabilityDescriptor IS 'This descriptor defines the reason(s) why student qualifies for Section 504 consideration.';
+COMMENT ON COLUMN edfi.Section504DisabilityDescriptor.Section504DisabilityDescriptorId IS 'A unique identifier used as Primary Key, not derived from business logic, when acting as Foreign Key, references the parent table.';
-- Extended Properties [edfi].[SectionAttendanceTakenEvent] --
COMMENT ON TABLE edfi.SectionAttendanceTakenEvent IS 'Captures attendance taken event for given section.';
@@ -3422,6 +3430,8 @@ COMMENT ON COLUMN edfi.StudentAssessmentRegistration.AssessmentGradeLevelDescrip
COMMENT ON COLUMN edfi.StudentAssessmentRegistration.EntryDate IS 'The month, day, and year on which an individual enters and begins to receive instructional services in a school for each school year. The EntryDate value should be the date the student enrolled, or when the student''s enrollment materially changed, such as with a grade promotion. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.';
COMMENT ON COLUMN edfi.StudentAssessmentRegistration.PlatformTypeDescriptorId IS 'The environment or format in which the assessment is expected to be administered.';
COMMENT ON COLUMN edfi.StudentAssessmentRegistration.ReportingEducationOrganizationId IS 'The identifier assigned to an education organization.';
+COMMENT ON COLUMN edfi.StudentAssessmentRegistration.ScheduledEducationOrganizationId IS 'The identifier assigned to an education organization.';
+COMMENT ON COLUMN edfi.StudentAssessmentRegistration.ScheduledStudentUSI IS 'A unique alphanumeric code assigned to a student.';
COMMENT ON COLUMN edfi.StudentAssessmentRegistration.SchoolId IS 'The identifier assigned to a school. It must be distinct from any other identifier assigned to educational organizations, such as a LocalEducationAgencyId, to prevent duplication.';
COMMENT ON COLUMN edfi.StudentAssessmentRegistration.TestingEducationOrganizationId IS 'The identifier assigned to an education organization.';
@@ -3634,6 +3644,14 @@ COMMENT ON COLUMN edfi.StudentDisciplineIncidentBehaviorAssociationDisciplineIn_
COMMENT ON COLUMN edfi.StudentDisciplineIncidentBehaviorAssociationDisciplineIn_ae6a21.StudentUSI IS 'A unique alphanumeric code assigned to a student.';
COMMENT ON COLUMN edfi.StudentDisciplineIncidentBehaviorAssociationDisciplineIn_ae6a21.DisciplineIncidentParticipationCodeDescriptorId IS 'The role or type of participation of a student in a discipline incident.';
+-- Extended Properties [edfi].[StudentDisciplineIncidentBehaviorAssociationWeapon] --
+COMMENT ON TABLE edfi.StudentDisciplineIncidentBehaviorAssociationWeapon IS 'Identifies the type(s) of weapon used by the student during a discipline incident. The Federal Gun-Free Schools Act requires states to report the number of students expelled for bringing firearms to school by type of firearm.';
+COMMENT ON COLUMN edfi.StudentDisciplineIncidentBehaviorAssociationWeapon.BehaviorDescriptorId IS 'Describes behavior by category.';
+COMMENT ON COLUMN edfi.StudentDisciplineIncidentBehaviorAssociationWeapon.IncidentIdentifier IS 'A locally assigned unique identifier (within the school or school district) to identify each specific DisciplineIncident or occurrence. The same identifier should be used to document the entire discipline incident even if it included multiple offenses and multiple offenders.';
+COMMENT ON COLUMN edfi.StudentDisciplineIncidentBehaviorAssociationWeapon.SchoolId IS 'The identifier assigned to a school. It must be distinct from any other identifier assigned to educational organizations, such as a LocalEducationAgencyId, to prevent duplication.';
+COMMENT ON COLUMN edfi.StudentDisciplineIncidentBehaviorAssociationWeapon.StudentUSI IS 'A unique alphanumeric code assigned to a student.';
+COMMENT ON COLUMN edfi.StudentDisciplineIncidentBehaviorAssociationWeapon.WeaponDescriptorId IS 'Identifies the type(s) of weapon used by the student during a discipline incident. The Federal Gun-Free Schools Act requires states to report the number of students expelled for bringing firearms to school by type of firearm.';
+
-- Extended Properties [edfi].[StudentDisciplineIncidentNonOffenderAssociation] --
COMMENT ON TABLE edfi.StudentDisciplineIncidentNonOffenderAssociation IS 'This association indicates those students who were involved and not perpetrators for a discipline incident.';
COMMENT ON COLUMN edfi.StudentDisciplineIncidentNonOffenderAssociation.IncidentIdentifier IS 'A locally assigned unique identifier (within the school or school district) to identify each specific DisciplineIncident or occurrence. The same identifier should be used to document the entire discipline incident even if it included multiple offenses and multiple offenders.';
@@ -4291,7 +4309,7 @@ COMMENT ON COLUMN edfi.StudentSection504ProgramAssociation.ProgramName IS 'The f
COMMENT ON COLUMN edfi.StudentSection504ProgramAssociation.ProgramTypeDescriptorId IS 'The type of program.';
COMMENT ON COLUMN edfi.StudentSection504ProgramAssociation.StudentUSI IS 'A unique alphanumeric code assigned to a student.';
COMMENT ON COLUMN edfi.StudentSection504ProgramAssociation.AccommodationPlan IS 'Indicates whether student has a Section 504 accommodation plan.';
-COMMENT ON COLUMN edfi.StudentSection504ProgramAssociation.Section504DisabilityTypeDescriptorId IS 'Defines one or more disabilities student has that qualifies them for a Section 504 plan.';
+COMMENT ON COLUMN edfi.StudentSection504ProgramAssociation.Section504DisabilityDescriptorId IS 'Defines one or more disabilities student has that qualifies them for a Section 504 plan.';
COMMENT ON COLUMN edfi.StudentSection504ProgramAssociation.Section504Eligibility IS 'Indicates whether student has a disability, either temporary or permenant, that qualifies student for Section 504 consideration. Selection of FALSE for this boolean is equivalent to marking student as ''Did Not Qualify''.';
COMMENT ON COLUMN edfi.StudentSection504ProgramAssociation.Section504EligibilityDecisionDate IS 'The month, day, and year on which the Section 504 eligibility decision is made.';
COMMENT ON COLUMN edfi.StudentSection504ProgramAssociation.Section504MeetingDate IS 'The month, day, and year on which the meeting with student''s parent/guardian held to discuss the 504 eligibility of the student.';
@@ -4306,6 +4324,11 @@ COMMENT ON COLUMN edfi.StudentSectionAssociation.SectionIdentifier IS 'The local
COMMENT ON COLUMN edfi.StudentSectionAssociation.SessionName IS 'The identifier for the calendar for the academic session.';
COMMENT ON COLUMN edfi.StudentSectionAssociation.StudentUSI IS 'A unique alphanumeric code assigned to a student.';
COMMENT ON COLUMN edfi.StudentSectionAssociation.AttemptStatusDescriptorId IS 'An indication of the student''s completion status for the section.';
+COMMENT ON COLUMN edfi.StudentSectionAssociation.DualCreditEducationOrganizationId IS 'The identifier assigned to an education organization.';
+COMMENT ON COLUMN edfi.StudentSectionAssociation.DualCreditIndicator IS 'Indicates whether the student assigned to the section is to receive dual credit upon successful completion.';
+COMMENT ON COLUMN edfi.StudentSectionAssociation.DualCreditInstitutionDescriptorId IS 'Descriptor for the postsecondary institution offering college credit. This descriptor may be used to select a postsecondary institution that is not defined as an education organization, and/or select a general type of postsecondary institution.';
+COMMENT ON COLUMN edfi.StudentSectionAssociation.DualCreditTypeDescriptorId IS 'For a student taking a dual credit course in a college or high school setting, indicates the type of dual credit program.';
+COMMENT ON COLUMN edfi.StudentSectionAssociation.DualHighSchoolCreditIndicator IS 'Indicates whether successful completion of the course will result in credits toward high school graduation.';
COMMENT ON COLUMN edfi.StudentSectionAssociation.EndDate IS 'Month, day, and year of the withdrawal or exit of the student from the section. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.';
COMMENT ON COLUMN edfi.StudentSectionAssociation.HomeroomIndicator IS 'Indicates the section is the student''s homeroom. Homeroom period may the convention for taking daily attendance.';
COMMENT ON COLUMN edfi.StudentSectionAssociation.RepeatIdentifierDescriptorId IS 'An indication as to whether a student has previously taken a given course.';
@@ -4376,7 +4399,9 @@ COMMENT ON COLUMN edfi.StudentSpecialEducationProgramAssociation.IEPReviewDate I
COMMENT ON COLUMN edfi.StudentSpecialEducationProgramAssociation.LastEvaluationDate IS 'The date of the last special education evaluation.';
COMMENT ON COLUMN edfi.StudentSpecialEducationProgramAssociation.MedicallyFragile IS 'Indicates whether the student receiving special education and related services is: 1) in the age range of birth to 22 years, and 2) has a serious, ongoing illness or a chronic condition that has lasted or is anticipated to last at least 12 or more months or has required at least one month of hospitalization, and that requires daily, ongoing medical treatments and monitoring by appropriately trained personnel which may include parents or other family members, and 3) requires the routine use of medical device or of assistive technology to compensate for the loss of usefulness of a body function needed to participate in activities of daily living, and 4) lives with ongoing threat to his or her continued well-being. Aligns with federal requirements.';
COMMENT ON COLUMN edfi.StudentSpecialEducationProgramAssociation.MultiplyDisabled IS 'Indicates whether the student receiving special education and related services has been designated as multiply disabled by the admission, review, and dismissal committee as aligned with federal requirements.';
+COMMENT ON COLUMN edfi.StudentSpecialEducationProgramAssociation.ReductionInHoursPerWeekComparedToPeers IS 'Records the number of hours reduced for the shortened school day for the IEP student as compared to peers in regular education.';
COMMENT ON COLUMN edfi.StudentSpecialEducationProgramAssociation.SchoolHoursPerWeek IS 'Indicate the total number of hours of instructional time per week for the school that the student attends.';
+COMMENT ON COLUMN edfi.StudentSpecialEducationProgramAssociation.ShortenedSchoolDayIndicator IS 'Indicator that the student''s IEP requires a shortened school day.';
COMMENT ON COLUMN edfi.StudentSpecialEducationProgramAssociation.SpecialEducationExitDate IS 'The month, day and year on which a person stops receiving special education services.';
COMMENT ON COLUMN edfi.StudentSpecialEducationProgramAssociation.SpecialEducationExitExplained IS 'Explanation on why a person stops receiving special education services.';
COMMENT ON COLUMN edfi.StudentSpecialEducationProgramAssociation.SpecialEducationExitReasonDescriptorId IS 'The reason why a person stops receiving special education services.';
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/1410-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/1410-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql
index dad9fa2345..ed89ac2b4d 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/1410-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/1410-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql
@@ -10,7 +10,7 @@ CREATE INDEX IF NOT EXISTS IX_AccountabilityRating_EducationOrganizationId ON ed
CREATE INDEX IF NOT EXISTS IX_Assessment_EducationOrganizationId ON edfi.Assessment(EducationOrganizationId) INCLUDE (Id);
-CREATE INDEX IF NOT EXISTS IX_AssesssmentAdministrationParticipation_AssigningEducationOrganizationId ON edfi.AssesssmentAdministrationParticipation(AssigningEducationOrganizationId) INCLUDE (Id);
+CREATE INDEX IF NOT EXISTS IX_AssessmentAdministrationParticipation_AssigningEducationOrganizationId ON edfi.AssessmentAdministrationParticipation(AssigningEducationOrganizationId) INCLUDE (Id);
CREATE INDEX IF NOT EXISTS IX_BellSchedule_SchoolId ON edfi.BellSchedule(SchoolId) INCLUDE (Id);
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/1460-AggregateIdColumns.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/1460-AggregateIdColumns.sql
index 4d9cac0926..8b55ac8f85 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/1460-AggregateIdColumns.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/1460-AggregateIdColumns.sql
@@ -5,611 +5,611 @@
CREATE SEQUENCE edfi.AcademicWeek_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.AcademicWeek ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AcademicWeek_aggseq');
+ALTER TABLE edfi.AcademicWeek ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AcademicWeek_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_AcademicWeek_aggid ON edfi.AcademicWeek (AggregateId);
CREATE SEQUENCE edfi.AccountabilityRating_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.AccountabilityRating ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AccountabilityRating_aggseq');
+ALTER TABLE edfi.AccountabilityRating ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AccountabilityRating_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_AccountabilityRating_aggid ON edfi.AccountabilityRating (AggregateId);
CREATE SEQUENCE edfi.Assessment_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.Assessment ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Assessment_aggseq');
+ALTER TABLE edfi.Assessment ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Assessment_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_Assessment_aggid ON edfi.Assessment (AggregateId);
CREATE SEQUENCE edfi.AssessmentAdministration_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.AssessmentAdministration ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AssessmentAdministration_aggseq');
+ALTER TABLE edfi.AssessmentAdministration ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AssessmentAdministration_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_AssessmentAdministration_aggid ON edfi.AssessmentAdministration (AggregateId);
+CREATE SEQUENCE edfi.AssessmentAdministrationParticipation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
+ALTER TABLE edfi.AssessmentAdministrationParticipation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AssessmentAdministrationParticipation_aggseq'), ADD COLUMN AggregateData bytea;
+CREATE INDEX ix_AssessmentAdministrationParticipation_aggid ON edfi.AssessmentAdministrationParticipation (AggregateId);
+
+
CREATE SEQUENCE edfi.AssessmentBatteryPart_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.AssessmentBatteryPart ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AssessmentBatteryPart_aggseq');
+ALTER TABLE edfi.AssessmentBatteryPart ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AssessmentBatteryPart_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_AssessmentBatteryPart_aggid ON edfi.AssessmentBatteryPart (AggregateId);
CREATE SEQUENCE edfi.AssessmentItem_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.AssessmentItem ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AssessmentItem_aggseq');
+ALTER TABLE edfi.AssessmentItem ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AssessmentItem_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_AssessmentItem_aggid ON edfi.AssessmentItem (AggregateId);
CREATE SEQUENCE edfi.AssessmentScoreRangeLearningStandard_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.AssessmentScoreRangeLearningStandard ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AssessmentScoreRangeLearningStandard_aggseq');
+ALTER TABLE edfi.AssessmentScoreRangeLearningStandard ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AssessmentScoreRangeLearningStandard_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_AssessmentScoreRangeLearningStandard_aggid ON edfi.AssessmentScoreRangeLearningStandard (AggregateId);
-CREATE SEQUENCE edfi.AssesssmentAdministrationParticipation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.AssesssmentAdministrationParticipation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.AssesssmentAdministrationParticipation_aggseq');
-CREATE INDEX ix_AssesssmentAdministrationParticipation_aggid ON edfi.AssesssmentAdministrationParticipation (AggregateId);
-
-
CREATE SEQUENCE edfi.BalanceSheetDimension_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.BalanceSheetDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.BalanceSheetDimension_aggseq');
+ALTER TABLE edfi.BalanceSheetDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.BalanceSheetDimension_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_BalanceSheetDimension_aggid ON edfi.BalanceSheetDimension (AggregateId);
CREATE SEQUENCE edfi.BellSchedule_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.BellSchedule ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.BellSchedule_aggseq');
+ALTER TABLE edfi.BellSchedule ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.BellSchedule_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_BellSchedule_aggid ON edfi.BellSchedule (AggregateId);
CREATE SEQUENCE edfi.Calendar_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.Calendar ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Calendar_aggseq');
+ALTER TABLE edfi.Calendar ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Calendar_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_Calendar_aggid ON edfi.Calendar (AggregateId);
CREATE SEQUENCE edfi.CalendarDate_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.CalendarDate ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.CalendarDate_aggseq');
+ALTER TABLE edfi.CalendarDate ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.CalendarDate_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_CalendarDate_aggid ON edfi.CalendarDate (AggregateId);
CREATE SEQUENCE edfi.ChartOfAccount_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.ChartOfAccount ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ChartOfAccount_aggseq');
+ALTER TABLE edfi.ChartOfAccount ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ChartOfAccount_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_ChartOfAccount_aggid ON edfi.ChartOfAccount (AggregateId);
CREATE SEQUENCE edfi.ClassPeriod_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.ClassPeriod ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ClassPeriod_aggseq');
+ALTER TABLE edfi.ClassPeriod ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ClassPeriod_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_ClassPeriod_aggid ON edfi.ClassPeriod (AggregateId);
CREATE SEQUENCE edfi.Cohort_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.Cohort ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Cohort_aggseq');
+ALTER TABLE edfi.Cohort ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Cohort_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_Cohort_aggid ON edfi.Cohort (AggregateId);
CREATE SEQUENCE edfi.CommunityProviderLicense_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.CommunityProviderLicense ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.CommunityProviderLicense_aggseq');
+ALTER TABLE edfi.CommunityProviderLicense ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.CommunityProviderLicense_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_CommunityProviderLicense_aggid ON edfi.CommunityProviderLicense (AggregateId);
CREATE SEQUENCE edfi.CompetencyObjective_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.CompetencyObjective ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.CompetencyObjective_aggseq');
+ALTER TABLE edfi.CompetencyObjective ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.CompetencyObjective_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_CompetencyObjective_aggid ON edfi.CompetencyObjective (AggregateId);
CREATE SEQUENCE edfi.Contact_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.Contact ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Contact_aggseq');
+ALTER TABLE edfi.Contact ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Contact_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_Contact_aggid ON edfi.Contact (AggregateId);
CREATE SEQUENCE edfi.Course_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.Course ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Course_aggseq');
+ALTER TABLE edfi.Course ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Course_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_Course_aggid ON edfi.Course (AggregateId);
CREATE SEQUENCE edfi.CourseOffering_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.CourseOffering ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.CourseOffering_aggseq');
+ALTER TABLE edfi.CourseOffering ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.CourseOffering_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_CourseOffering_aggid ON edfi.CourseOffering (AggregateId);
CREATE SEQUENCE edfi.CourseTranscript_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.CourseTranscript ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.CourseTranscript_aggseq');
+ALTER TABLE edfi.CourseTranscript ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.CourseTranscript_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_CourseTranscript_aggid ON edfi.CourseTranscript (AggregateId);
CREATE SEQUENCE edfi.Credential_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.Credential ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Credential_aggseq');
+ALTER TABLE edfi.Credential ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Credential_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_Credential_aggid ON edfi.Credential (AggregateId);
CREATE SEQUENCE edfi.CrisisEvent_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.CrisisEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.CrisisEvent_aggseq');
+ALTER TABLE edfi.CrisisEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.CrisisEvent_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_CrisisEvent_aggid ON edfi.CrisisEvent (AggregateId);
CREATE SEQUENCE edfi.Descriptor_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.Descriptor ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Descriptor_aggseq');
+ALTER TABLE edfi.Descriptor ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Descriptor_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_Descriptor_aggid ON edfi.Descriptor (AggregateId);
CREATE SEQUENCE edfi.DescriptorMapping_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.DescriptorMapping ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.DescriptorMapping_aggseq');
+ALTER TABLE edfi.DescriptorMapping ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.DescriptorMapping_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_DescriptorMapping_aggid ON edfi.DescriptorMapping (AggregateId);
CREATE SEQUENCE edfi.DisciplineAction_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.DisciplineAction ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.DisciplineAction_aggseq');
+ALTER TABLE edfi.DisciplineAction ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.DisciplineAction_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_DisciplineAction_aggid ON edfi.DisciplineAction (AggregateId);
CREATE SEQUENCE edfi.DisciplineIncident_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.DisciplineIncident ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.DisciplineIncident_aggseq');
+ALTER TABLE edfi.DisciplineIncident ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.DisciplineIncident_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_DisciplineIncident_aggid ON edfi.DisciplineIncident (AggregateId);
CREATE SEQUENCE edfi.EducationContent_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.EducationContent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.EducationContent_aggseq');
+ALTER TABLE edfi.EducationContent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.EducationContent_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_EducationContent_aggid ON edfi.EducationContent (AggregateId);
CREATE SEQUENCE edfi.EducationOrganization_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.EducationOrganization ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.EducationOrganization_aggseq');
+ALTER TABLE edfi.EducationOrganization ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.EducationOrganization_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_EducationOrganization_aggid ON edfi.EducationOrganization (AggregateId);
CREATE SEQUENCE edfi.EducationOrganizationInterventionPrescriptionAs_e670ae_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.EducationOrganizationInterventionPrescriptionAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.EducationOrganizationInterventionPrescriptionAs_e670ae_aggseq');
+ALTER TABLE edfi.EducationOrganizationInterventionPrescriptionAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.EducationOrganizationInterventionPrescriptionAs_e670ae_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_EducationOrganizationInterventionPrescriptionAs_e670ae_aggid ON edfi.EducationOrganizationInterventionPrescriptionAssociation (AggregateId);
CREATE SEQUENCE edfi.EducationOrganizationNetworkAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.EducationOrganizationNetworkAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.EducationOrganizationNetworkAssociation_aggseq');
+ALTER TABLE edfi.EducationOrganizationNetworkAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.EducationOrganizationNetworkAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_EducationOrganizationNetworkAssociation_aggid ON edfi.EducationOrganizationNetworkAssociation (AggregateId);
CREATE SEQUENCE edfi.EducationOrganizationPeerAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.EducationOrganizationPeerAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.EducationOrganizationPeerAssociation_aggseq');
+ALTER TABLE edfi.EducationOrganizationPeerAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.EducationOrganizationPeerAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_EducationOrganizationPeerAssociation_aggid ON edfi.EducationOrganizationPeerAssociation (AggregateId);
CREATE SEQUENCE edfi.EvaluationRubricDimension_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.EvaluationRubricDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.EvaluationRubricDimension_aggseq');
+ALTER TABLE edfi.EvaluationRubricDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.EvaluationRubricDimension_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_EvaluationRubricDimension_aggid ON edfi.EvaluationRubricDimension (AggregateId);
CREATE SEQUENCE edfi.FeederSchoolAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.FeederSchoolAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.FeederSchoolAssociation_aggseq');
+ALTER TABLE edfi.FeederSchoolAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.FeederSchoolAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_FeederSchoolAssociation_aggid ON edfi.FeederSchoolAssociation (AggregateId);
CREATE SEQUENCE edfi.FunctionDimension_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.FunctionDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.FunctionDimension_aggseq');
+ALTER TABLE edfi.FunctionDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.FunctionDimension_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_FunctionDimension_aggid ON edfi.FunctionDimension (AggregateId);
CREATE SEQUENCE edfi.FundDimension_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.FundDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.FundDimension_aggseq');
+ALTER TABLE edfi.FundDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.FundDimension_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_FundDimension_aggid ON edfi.FundDimension (AggregateId);
CREATE SEQUENCE edfi.GeneralStudentProgramAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.GeneralStudentProgramAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.GeneralStudentProgramAssociation_aggseq');
+ALTER TABLE edfi.GeneralStudentProgramAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.GeneralStudentProgramAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_GeneralStudentProgramAssociation_aggid ON edfi.GeneralStudentProgramAssociation (AggregateId);
CREATE SEQUENCE edfi.Grade_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.Grade ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Grade_aggseq');
+ALTER TABLE edfi.Grade ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Grade_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_Grade_aggid ON edfi.Grade (AggregateId);
CREATE SEQUENCE edfi.GradebookEntry_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.GradebookEntry ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.GradebookEntry_aggseq');
+ALTER TABLE edfi.GradebookEntry ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.GradebookEntry_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_GradebookEntry_aggid ON edfi.GradebookEntry (AggregateId);
CREATE SEQUENCE edfi.GradingPeriod_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.GradingPeriod ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.GradingPeriod_aggseq');
+ALTER TABLE edfi.GradingPeriod ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.GradingPeriod_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_GradingPeriod_aggid ON edfi.GradingPeriod (AggregateId);
CREATE SEQUENCE edfi.GraduationPlan_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.GraduationPlan ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.GraduationPlan_aggseq');
+ALTER TABLE edfi.GraduationPlan ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.GraduationPlan_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_GraduationPlan_aggid ON edfi.GraduationPlan (AggregateId);
CREATE SEQUENCE edfi.Intervention_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.Intervention ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Intervention_aggseq');
+ALTER TABLE edfi.Intervention ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Intervention_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_Intervention_aggid ON edfi.Intervention (AggregateId);
CREATE SEQUENCE edfi.InterventionPrescription_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.InterventionPrescription ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.InterventionPrescription_aggseq');
+ALTER TABLE edfi.InterventionPrescription ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.InterventionPrescription_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_InterventionPrescription_aggid ON edfi.InterventionPrescription (AggregateId);
CREATE SEQUENCE edfi.InterventionStudy_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.InterventionStudy ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.InterventionStudy_aggseq');
+ALTER TABLE edfi.InterventionStudy ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.InterventionStudy_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_InterventionStudy_aggid ON edfi.InterventionStudy (AggregateId);
CREATE SEQUENCE edfi.LearningStandard_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.LearningStandard ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LearningStandard_aggseq');
+ALTER TABLE edfi.LearningStandard ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LearningStandard_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_LearningStandard_aggid ON edfi.LearningStandard (AggregateId);
CREATE SEQUENCE edfi.LearningStandardEquivalenceAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.LearningStandardEquivalenceAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LearningStandardEquivalenceAssociation_aggseq');
+ALTER TABLE edfi.LearningStandardEquivalenceAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LearningStandardEquivalenceAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_LearningStandardEquivalenceAssociation_aggid ON edfi.LearningStandardEquivalenceAssociation (AggregateId);
CREATE SEQUENCE edfi.LocalAccount_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.LocalAccount ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LocalAccount_aggseq');
+ALTER TABLE edfi.LocalAccount ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LocalAccount_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_LocalAccount_aggid ON edfi.LocalAccount (AggregateId);
CREATE SEQUENCE edfi.LocalActual_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.LocalActual ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LocalActual_aggseq');
+ALTER TABLE edfi.LocalActual ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LocalActual_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_LocalActual_aggid ON edfi.LocalActual (AggregateId);
CREATE SEQUENCE edfi.LocalBudget_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.LocalBudget ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LocalBudget_aggseq');
+ALTER TABLE edfi.LocalBudget ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LocalBudget_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_LocalBudget_aggid ON edfi.LocalBudget (AggregateId);
CREATE SEQUENCE edfi.LocalContractedStaff_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.LocalContractedStaff ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LocalContractedStaff_aggseq');
+ALTER TABLE edfi.LocalContractedStaff ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LocalContractedStaff_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_LocalContractedStaff_aggid ON edfi.LocalContractedStaff (AggregateId);
CREATE SEQUENCE edfi.LocalEncumbrance_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.LocalEncumbrance ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LocalEncumbrance_aggseq');
+ALTER TABLE edfi.LocalEncumbrance ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LocalEncumbrance_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_LocalEncumbrance_aggid ON edfi.LocalEncumbrance (AggregateId);
CREATE SEQUENCE edfi.LocalPayroll_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.LocalPayroll ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LocalPayroll_aggseq');
+ALTER TABLE edfi.LocalPayroll ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.LocalPayroll_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_LocalPayroll_aggid ON edfi.LocalPayroll (AggregateId);
CREATE SEQUENCE edfi.Location_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.Location ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Location_aggseq');
+ALTER TABLE edfi.Location ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Location_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_Location_aggid ON edfi.Location (AggregateId);
CREATE SEQUENCE edfi.ObjectDimension_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.ObjectDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ObjectDimension_aggseq');
+ALTER TABLE edfi.ObjectDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ObjectDimension_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_ObjectDimension_aggid ON edfi.ObjectDimension (AggregateId);
CREATE SEQUENCE edfi.ObjectiveAssessment_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.ObjectiveAssessment ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ObjectiveAssessment_aggseq');
+ALTER TABLE edfi.ObjectiveAssessment ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ObjectiveAssessment_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_ObjectiveAssessment_aggid ON edfi.ObjectiveAssessment (AggregateId);
CREATE SEQUENCE edfi.OpenStaffPosition_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.OpenStaffPosition ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.OpenStaffPosition_aggseq');
+ALTER TABLE edfi.OpenStaffPosition ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.OpenStaffPosition_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_OpenStaffPosition_aggid ON edfi.OpenStaffPosition (AggregateId);
CREATE SEQUENCE edfi.OperationalUnitDimension_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.OperationalUnitDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.OperationalUnitDimension_aggseq');
+ALTER TABLE edfi.OperationalUnitDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.OperationalUnitDimension_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_OperationalUnitDimension_aggid ON edfi.OperationalUnitDimension (AggregateId);
CREATE SEQUENCE edfi.Person_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.Person ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Person_aggseq');
+ALTER TABLE edfi.Person ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Person_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_Person_aggid ON edfi.Person (AggregateId);
CREATE SEQUENCE edfi.PostSecondaryEvent_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.PostSecondaryEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.PostSecondaryEvent_aggseq');
+ALTER TABLE edfi.PostSecondaryEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.PostSecondaryEvent_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_PostSecondaryEvent_aggid ON edfi.PostSecondaryEvent (AggregateId);
CREATE SEQUENCE edfi.Program_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.Program ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Program_aggseq');
+ALTER TABLE edfi.Program ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Program_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_Program_aggid ON edfi.Program (AggregateId);
CREATE SEQUENCE edfi.ProgramDimension_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.ProgramDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ProgramDimension_aggseq');
+ALTER TABLE edfi.ProgramDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ProgramDimension_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_ProgramDimension_aggid ON edfi.ProgramDimension (AggregateId);
CREATE SEQUENCE edfi.ProgramEvaluation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.ProgramEvaluation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ProgramEvaluation_aggseq');
+ALTER TABLE edfi.ProgramEvaluation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ProgramEvaluation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_ProgramEvaluation_aggid ON edfi.ProgramEvaluation (AggregateId);
CREATE SEQUENCE edfi.ProgramEvaluationElement_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.ProgramEvaluationElement ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ProgramEvaluationElement_aggseq');
+ALTER TABLE edfi.ProgramEvaluationElement ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ProgramEvaluationElement_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_ProgramEvaluationElement_aggid ON edfi.ProgramEvaluationElement (AggregateId);
CREATE SEQUENCE edfi.ProgramEvaluationObjective_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.ProgramEvaluationObjective ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ProgramEvaluationObjective_aggseq');
+ALTER TABLE edfi.ProgramEvaluationObjective ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ProgramEvaluationObjective_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_ProgramEvaluationObjective_aggid ON edfi.ProgramEvaluationObjective (AggregateId);
CREATE SEQUENCE edfi.ProjectDimension_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.ProjectDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ProjectDimension_aggseq');
+ALTER TABLE edfi.ProjectDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ProjectDimension_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_ProjectDimension_aggid ON edfi.ProjectDimension (AggregateId);
CREATE SEQUENCE edfi.ReportCard_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.ReportCard ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ReportCard_aggseq');
+ALTER TABLE edfi.ReportCard ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.ReportCard_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_ReportCard_aggid ON edfi.ReportCard (AggregateId);
CREATE SEQUENCE edfi.RestraintEvent_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.RestraintEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.RestraintEvent_aggseq');
+ALTER TABLE edfi.RestraintEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.RestraintEvent_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_RestraintEvent_aggid ON edfi.RestraintEvent (AggregateId);
CREATE SEQUENCE edfi.SchoolYearType_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.SchoolYearType ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SchoolYearType_aggseq');
+ALTER TABLE edfi.SchoolYearType ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SchoolYearType_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_SchoolYearType_aggid ON edfi.SchoolYearType (AggregateId);
CREATE SEQUENCE edfi.Section_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.Section ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Section_aggseq');
+ALTER TABLE edfi.Section ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Section_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_Section_aggid ON edfi.Section (AggregateId);
CREATE SEQUENCE edfi.SectionAttendanceTakenEvent_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.SectionAttendanceTakenEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SectionAttendanceTakenEvent_aggseq');
+ALTER TABLE edfi.SectionAttendanceTakenEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SectionAttendanceTakenEvent_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_SectionAttendanceTakenEvent_aggid ON edfi.SectionAttendanceTakenEvent (AggregateId);
CREATE SEQUENCE edfi.Session_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.Session ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Session_aggseq');
+ALTER TABLE edfi.Session ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Session_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_Session_aggid ON edfi.Session (AggregateId);
CREATE SEQUENCE edfi.SourceDimension_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.SourceDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SourceDimension_aggseq');
+ALTER TABLE edfi.SourceDimension ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SourceDimension_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_SourceDimension_aggid ON edfi.SourceDimension (AggregateId);
CREATE SEQUENCE edfi.Staff_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.Staff ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Staff_aggseq');
+ALTER TABLE edfi.Staff ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Staff_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_Staff_aggid ON edfi.Staff (AggregateId);
CREATE SEQUENCE edfi.StaffAbsenceEvent_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StaffAbsenceEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffAbsenceEvent_aggseq');
+ALTER TABLE edfi.StaffAbsenceEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffAbsenceEvent_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StaffAbsenceEvent_aggid ON edfi.StaffAbsenceEvent (AggregateId);
CREATE SEQUENCE edfi.StaffCohortAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StaffCohortAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffCohortAssociation_aggseq');
+ALTER TABLE edfi.StaffCohortAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffCohortAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StaffCohortAssociation_aggid ON edfi.StaffCohortAssociation (AggregateId);
CREATE SEQUENCE edfi.StaffDisciplineIncidentAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StaffDisciplineIncidentAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffDisciplineIncidentAssociation_aggseq');
+ALTER TABLE edfi.StaffDisciplineIncidentAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffDisciplineIncidentAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StaffDisciplineIncidentAssociation_aggid ON edfi.StaffDisciplineIncidentAssociation (AggregateId);
CREATE SEQUENCE edfi.StaffEducationOrganizationAssignmentAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StaffEducationOrganizationAssignmentAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffEducationOrganizationAssignmentAssociation_aggseq');
+ALTER TABLE edfi.StaffEducationOrganizationAssignmentAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffEducationOrganizationAssignmentAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StaffEducationOrganizationAssignmentAssociation_aggid ON edfi.StaffEducationOrganizationAssignmentAssociation (AggregateId);
CREATE SEQUENCE edfi.StaffEducationOrganizationContactAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StaffEducationOrganizationContactAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffEducationOrganizationContactAssociation_aggseq');
+ALTER TABLE edfi.StaffEducationOrganizationContactAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffEducationOrganizationContactAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StaffEducationOrganizationContactAssociation_aggid ON edfi.StaffEducationOrganizationContactAssociation (AggregateId);
CREATE SEQUENCE edfi.StaffEducationOrganizationEmploymentAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StaffEducationOrganizationEmploymentAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffEducationOrganizationEmploymentAssociation_aggseq');
+ALTER TABLE edfi.StaffEducationOrganizationEmploymentAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffEducationOrganizationEmploymentAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StaffEducationOrganizationEmploymentAssociation_aggid ON edfi.StaffEducationOrganizationEmploymentAssociation (AggregateId);
CREATE SEQUENCE edfi.StaffLeave_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StaffLeave ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffLeave_aggseq');
+ALTER TABLE edfi.StaffLeave ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffLeave_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StaffLeave_aggid ON edfi.StaffLeave (AggregateId);
CREATE SEQUENCE edfi.StaffProgramAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StaffProgramAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffProgramAssociation_aggseq');
+ALTER TABLE edfi.StaffProgramAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffProgramAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StaffProgramAssociation_aggid ON edfi.StaffProgramAssociation (AggregateId);
CREATE SEQUENCE edfi.StaffSchoolAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StaffSchoolAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffSchoolAssociation_aggseq');
+ALTER TABLE edfi.StaffSchoolAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffSchoolAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StaffSchoolAssociation_aggid ON edfi.StaffSchoolAssociation (AggregateId);
CREATE SEQUENCE edfi.StaffSectionAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StaffSectionAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffSectionAssociation_aggseq');
+ALTER TABLE edfi.StaffSectionAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StaffSectionAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StaffSectionAssociation_aggid ON edfi.StaffSectionAssociation (AggregateId);
CREATE SEQUENCE edfi.Student_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.Student ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Student_aggseq');
+ALTER TABLE edfi.Student ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Student_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_Student_aggid ON edfi.Student (AggregateId);
CREATE SEQUENCE edfi.StudentAcademicRecord_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StudentAcademicRecord ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentAcademicRecord_aggseq');
+ALTER TABLE edfi.StudentAcademicRecord ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentAcademicRecord_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StudentAcademicRecord_aggid ON edfi.StudentAcademicRecord (AggregateId);
CREATE SEQUENCE edfi.StudentAssessment_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StudentAssessment ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentAssessment_aggseq');
+ALTER TABLE edfi.StudentAssessment ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentAssessment_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StudentAssessment_aggid ON edfi.StudentAssessment (AggregateId);
CREATE SEQUENCE edfi.StudentAssessmentEducationOrganizationAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StudentAssessmentEducationOrganizationAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentAssessmentEducationOrganizationAssociation_aggseq');
+ALTER TABLE edfi.StudentAssessmentEducationOrganizationAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentAssessmentEducationOrganizationAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StudentAssessmentEducationOrganizationAssociation_aggid ON edfi.StudentAssessmentEducationOrganizationAssociation (AggregateId);
CREATE SEQUENCE edfi.StudentAssessmentRegistration_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StudentAssessmentRegistration ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentAssessmentRegistration_aggseq');
+ALTER TABLE edfi.StudentAssessmentRegistration ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentAssessmentRegistration_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StudentAssessmentRegistration_aggid ON edfi.StudentAssessmentRegistration (AggregateId);
CREATE SEQUENCE edfi.StudentAssessmentRegistrationBatteryPartAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StudentAssessmentRegistrationBatteryPartAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentAssessmentRegistrationBatteryPartAssociation_aggseq');
+ALTER TABLE edfi.StudentAssessmentRegistrationBatteryPartAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentAssessmentRegistrationBatteryPartAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StudentAssessmentRegistrationBatteryPartAssociation_aggid ON edfi.StudentAssessmentRegistrationBatteryPartAssociation (AggregateId);
CREATE SEQUENCE edfi.StudentCohortAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StudentCohortAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentCohortAssociation_aggseq');
+ALTER TABLE edfi.StudentCohortAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentCohortAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StudentCohortAssociation_aggid ON edfi.StudentCohortAssociation (AggregateId);
CREATE SEQUENCE edfi.StudentCompetencyObjective_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StudentCompetencyObjective ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentCompetencyObjective_aggseq');
+ALTER TABLE edfi.StudentCompetencyObjective ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentCompetencyObjective_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StudentCompetencyObjective_aggid ON edfi.StudentCompetencyObjective (AggregateId);
CREATE SEQUENCE edfi.StudentContactAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StudentContactAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentContactAssociation_aggseq');
+ALTER TABLE edfi.StudentContactAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentContactAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StudentContactAssociation_aggid ON edfi.StudentContactAssociation (AggregateId);
CREATE SEQUENCE edfi.StudentDisciplineIncidentBehaviorAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StudentDisciplineIncidentBehaviorAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentDisciplineIncidentBehaviorAssociation_aggseq');
+ALTER TABLE edfi.StudentDisciplineIncidentBehaviorAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentDisciplineIncidentBehaviorAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StudentDisciplineIncidentBehaviorAssociation_aggid ON edfi.StudentDisciplineIncidentBehaviorAssociation (AggregateId);
CREATE SEQUENCE edfi.StudentDisciplineIncidentNonOffenderAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StudentDisciplineIncidentNonOffenderAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentDisciplineIncidentNonOffenderAssociation_aggseq');
+ALTER TABLE edfi.StudentDisciplineIncidentNonOffenderAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentDisciplineIncidentNonOffenderAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StudentDisciplineIncidentNonOffenderAssociation_aggid ON edfi.StudentDisciplineIncidentNonOffenderAssociation (AggregateId);
CREATE SEQUENCE edfi.StudentEducationOrganizationAssessmentAccommodation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StudentEducationOrganizationAssessmentAccommodation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentEducationOrganizationAssessmentAccommodation_aggseq');
+ALTER TABLE edfi.StudentEducationOrganizationAssessmentAccommodation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentEducationOrganizationAssessmentAccommodation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StudentEducationOrganizationAssessmentAccommodation_aggid ON edfi.StudentEducationOrganizationAssessmentAccommodation (AggregateId);
CREATE SEQUENCE edfi.StudentEducationOrganizationAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StudentEducationOrganizationAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentEducationOrganizationAssociation_aggseq');
+ALTER TABLE edfi.StudentEducationOrganizationAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentEducationOrganizationAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StudentEducationOrganizationAssociation_aggid ON edfi.StudentEducationOrganizationAssociation (AggregateId);
CREATE SEQUENCE edfi.StudentEducationOrganizationResponsibilityAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StudentEducationOrganizationResponsibilityAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentEducationOrganizationResponsibilityAssociation_aggseq');
+ALTER TABLE edfi.StudentEducationOrganizationResponsibilityAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentEducationOrganizationResponsibilityAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StudentEducationOrganizationResponsibilityAssociation_aggid ON edfi.StudentEducationOrganizationResponsibilityAssociation (AggregateId);
CREATE SEQUENCE edfi.StudentGradebookEntry_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StudentGradebookEntry ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentGradebookEntry_aggseq');
+ALTER TABLE edfi.StudentGradebookEntry ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentGradebookEntry_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StudentGradebookEntry_aggid ON edfi.StudentGradebookEntry (AggregateId);
CREATE SEQUENCE edfi.StudentHealth_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StudentHealth ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentHealth_aggseq');
+ALTER TABLE edfi.StudentHealth ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentHealth_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StudentHealth_aggid ON edfi.StudentHealth (AggregateId);
CREATE SEQUENCE edfi.StudentInterventionAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StudentInterventionAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentInterventionAssociation_aggseq');
+ALTER TABLE edfi.StudentInterventionAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentInterventionAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StudentInterventionAssociation_aggid ON edfi.StudentInterventionAssociation (AggregateId);
CREATE SEQUENCE edfi.StudentInterventionAttendanceEvent_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StudentInterventionAttendanceEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentInterventionAttendanceEvent_aggseq');
+ALTER TABLE edfi.StudentInterventionAttendanceEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentInterventionAttendanceEvent_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StudentInterventionAttendanceEvent_aggid ON edfi.StudentInterventionAttendanceEvent (AggregateId);
CREATE SEQUENCE edfi.StudentProgramAttendanceEvent_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StudentProgramAttendanceEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentProgramAttendanceEvent_aggseq');
+ALTER TABLE edfi.StudentProgramAttendanceEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentProgramAttendanceEvent_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StudentProgramAttendanceEvent_aggid ON edfi.StudentProgramAttendanceEvent (AggregateId);
CREATE SEQUENCE edfi.StudentProgramEvaluation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StudentProgramEvaluation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentProgramEvaluation_aggseq');
+ALTER TABLE edfi.StudentProgramEvaluation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentProgramEvaluation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StudentProgramEvaluation_aggid ON edfi.StudentProgramEvaluation (AggregateId);
CREATE SEQUENCE edfi.StudentSchoolAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StudentSchoolAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentSchoolAssociation_aggseq');
+ALTER TABLE edfi.StudentSchoolAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentSchoolAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StudentSchoolAssociation_aggid ON edfi.StudentSchoolAssociation (AggregateId);
CREATE SEQUENCE edfi.StudentSchoolAttendanceEvent_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StudentSchoolAttendanceEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentSchoolAttendanceEvent_aggseq');
+ALTER TABLE edfi.StudentSchoolAttendanceEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentSchoolAttendanceEvent_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StudentSchoolAttendanceEvent_aggid ON edfi.StudentSchoolAttendanceEvent (AggregateId);
CREATE SEQUENCE edfi.StudentSectionAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StudentSectionAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentSectionAssociation_aggseq');
+ALTER TABLE edfi.StudentSectionAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentSectionAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StudentSectionAssociation_aggid ON edfi.StudentSectionAssociation (AggregateId);
CREATE SEQUENCE edfi.StudentSectionAttendanceEvent_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StudentSectionAttendanceEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentSectionAttendanceEvent_aggseq');
+ALTER TABLE edfi.StudentSectionAttendanceEvent ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentSectionAttendanceEvent_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StudentSectionAttendanceEvent_aggid ON edfi.StudentSectionAttendanceEvent (AggregateId);
CREATE SEQUENCE edfi.StudentSpecialEducationProgramEligibilityAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StudentSpecialEducationProgramEligibilityAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentSpecialEducationProgramEligibilityAssociation_aggseq');
+ALTER TABLE edfi.StudentSpecialEducationProgramEligibilityAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentSpecialEducationProgramEligibilityAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StudentSpecialEducationProgramEligibilityAssociation_aggid ON edfi.StudentSpecialEducationProgramEligibilityAssociation (AggregateId);
CREATE SEQUENCE edfi.StudentTransportation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.StudentTransportation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentTransportation_aggseq');
+ALTER TABLE edfi.StudentTransportation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.StudentTransportation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_StudentTransportation_aggid ON edfi.StudentTransportation (AggregateId);
CREATE SEQUENCE edfi.Survey_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.Survey ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Survey_aggseq');
+ALTER TABLE edfi.Survey ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.Survey_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_Survey_aggid ON edfi.Survey (AggregateId);
CREATE SEQUENCE edfi.SurveyCourseAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.SurveyCourseAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyCourseAssociation_aggseq');
+ALTER TABLE edfi.SurveyCourseAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyCourseAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_SurveyCourseAssociation_aggid ON edfi.SurveyCourseAssociation (AggregateId);
CREATE SEQUENCE edfi.SurveyProgramAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.SurveyProgramAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyProgramAssociation_aggseq');
+ALTER TABLE edfi.SurveyProgramAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyProgramAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_SurveyProgramAssociation_aggid ON edfi.SurveyProgramAssociation (AggregateId);
CREATE SEQUENCE edfi.SurveyQuestion_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.SurveyQuestion ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyQuestion_aggseq');
+ALTER TABLE edfi.SurveyQuestion ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyQuestion_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_SurveyQuestion_aggid ON edfi.SurveyQuestion (AggregateId);
CREATE SEQUENCE edfi.SurveyQuestionResponse_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.SurveyQuestionResponse ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyQuestionResponse_aggseq');
+ALTER TABLE edfi.SurveyQuestionResponse ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyQuestionResponse_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_SurveyQuestionResponse_aggid ON edfi.SurveyQuestionResponse (AggregateId);
CREATE SEQUENCE edfi.SurveyResponse_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.SurveyResponse ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyResponse_aggseq');
+ALTER TABLE edfi.SurveyResponse ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyResponse_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_SurveyResponse_aggid ON edfi.SurveyResponse (AggregateId);
CREATE SEQUENCE edfi.SurveyResponseEducationOrganizationTargetAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.SurveyResponseEducationOrganizationTargetAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyResponseEducationOrganizationTargetAssociation_aggseq');
+ALTER TABLE edfi.SurveyResponseEducationOrganizationTargetAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyResponseEducationOrganizationTargetAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_SurveyResponseEducationOrganizationTargetAssociation_aggid ON edfi.SurveyResponseEducationOrganizationTargetAssociation (AggregateId);
CREATE SEQUENCE edfi.SurveyResponseStaffTargetAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.SurveyResponseStaffTargetAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyResponseStaffTargetAssociation_aggseq');
+ALTER TABLE edfi.SurveyResponseStaffTargetAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveyResponseStaffTargetAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_SurveyResponseStaffTargetAssociation_aggid ON edfi.SurveyResponseStaffTargetAssociation (AggregateId);
CREATE SEQUENCE edfi.SurveySection_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.SurveySection ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveySection_aggseq');
+ALTER TABLE edfi.SurveySection ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveySection_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_SurveySection_aggid ON edfi.SurveySection (AggregateId);
CREATE SEQUENCE edfi.SurveySectionAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.SurveySectionAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveySectionAssociation_aggseq');
+ALTER TABLE edfi.SurveySectionAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveySectionAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_SurveySectionAssociation_aggid ON edfi.SurveySectionAssociation (AggregateId);
CREATE SEQUENCE edfi.SurveySectionResponse_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.SurveySectionResponse ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveySectionResponse_aggseq');
+ALTER TABLE edfi.SurveySectionResponse ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveySectionResponse_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_SurveySectionResponse_aggid ON edfi.SurveySectionResponse (AggregateId);
CREATE SEQUENCE edfi.SurveySectionResponseEducationOrganizationTarge_730be1_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.SurveySectionResponseEducationOrganizationTargetAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveySectionResponseEducationOrganizationTarge_730be1_aggseq');
+ALTER TABLE edfi.SurveySectionResponseEducationOrganizationTargetAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveySectionResponseEducationOrganizationTarge_730be1_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_SurveySectionResponseEducationOrganizationTarge_730be1_aggid ON edfi.SurveySectionResponseEducationOrganizationTargetAssociation (AggregateId);
CREATE SEQUENCE edfi.SurveySectionResponseStaffTargetAssociation_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
-ALTER TABLE edfi.SurveySectionResponseStaffTargetAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveySectionResponseStaffTargetAssociation_aggseq');
+ALTER TABLE edfi.SurveySectionResponseStaffTargetAssociation ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('edfi.SurveySectionResponseStaffTargetAssociation_aggseq'), ADD COLUMN AggregateData bytea;
CREATE INDEX ix_SurveySectionResponseStaffTargetAssociation_aggid ON edfi.SurveySectionResponseStaffTargetAssociation (AggregateId);
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/1465-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/1465-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql
new file mode 100644
index 0000000000..f9f19d8651
--- /dev/null
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/1465-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql
@@ -0,0 +1,380 @@
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
+
+
+DROP INDEX IF EXISTS IX_AcademicWeek_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_AcademicWeek_SchoolId ON edfi.AcademicWeek(SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_AccountabilityRating_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_AccountabilityRating_EducationOrganizationId ON edfi.AccountabilityRating(EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_Assessment_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_Assessment_EducationOrganizationId ON edfi.Assessment(EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_AssessmentAdministrationParticipation_AssigningEducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_AssessmentAdministrationParticipation_AssigningEducationOrganizationId ON edfi.AssessmentAdministrationParticipation(AssigningEducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_BellSchedule_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_BellSchedule_SchoolId ON edfi.BellSchedule(SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_Calendar_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_Calendar_SchoolId ON edfi.Calendar(SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_CalendarDate_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_CalendarDate_SchoolId ON edfi.CalendarDate(SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_ChartOfAccount_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_ChartOfAccount_EducationOrganizationId ON edfi.ChartOfAccount(EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_ClassPeriod_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_ClassPeriod_SchoolId ON edfi.ClassPeriod(SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_Cohort_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_Cohort_EducationOrganizationId ON edfi.Cohort(EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_CommunityProviderLicense_CommunityProviderId;
+CREATE INDEX IF NOT EXISTS IX_CommunityProviderLicense_CommunityProviderId ON edfi.CommunityProviderLicense(CommunityProviderId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_CompetencyObjective_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_CompetencyObjective_EducationOrganizationId ON edfi.CompetencyObjective(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_Contact_ContactUSI ON edfi.Contact(ContactUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_Course_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_Course_EducationOrganizationId ON edfi.Course(EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_CourseOffering_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_CourseOffering_SchoolId ON edfi.CourseOffering(SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_CourseOffering_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_CourseOffering_EducationOrganizationId ON edfi.CourseOffering(EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_CourseTranscript_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_CourseTranscript_EducationOrganizationId ON edfi.CourseTranscript(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_CourseTranscript_StudentUSI ON edfi.CourseTranscript(StudentUSI) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_CourseTranscript_ResponsibleTeacherStaffUSI ON edfi.CourseTranscript(ResponsibleTeacherStaffUSI) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_DisciplineAction_StudentUSI ON edfi.DisciplineAction(StudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_DisciplineIncident_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_DisciplineIncident_SchoolId ON edfi.DisciplineIncident(SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_EducationOrganization_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_EducationOrganization_EducationOrganizationId ON edfi.EducationOrganization(EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_EducationOrganizationInterventionPrescriptionAssociation_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_EducationOrganizationInterventionPrescriptionAssociation_EducationOrganizationId ON edfi.EducationOrganizationInterventionPrescriptionAssociation(EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_EducationOrganizationNetworkAssociation_EducationOrganizationNetworkId;
+CREATE INDEX IF NOT EXISTS IX_EducationOrganizationNetworkAssociation_EducationOrganizationNetworkId ON edfi.EducationOrganizationNetworkAssociation(EducationOrganizationNetworkId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_EducationOrganizationPeerAssociation_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_EducationOrganizationPeerAssociation_EducationOrganizationId ON edfi.EducationOrganizationPeerAssociation(EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_EvaluationRubricDimension_ProgramEducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_EvaluationRubricDimension_ProgramEducationOrganizationId ON edfi.EvaluationRubricDimension(ProgramEducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_FeederSchoolAssociation_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_FeederSchoolAssociation_SchoolId ON edfi.FeederSchoolAssociation(SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_GeneralStudentProgramAssociation_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_GeneralStudentProgramAssociation_EducationOrganizationId ON edfi.GeneralStudentProgramAssociation(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_GeneralStudentProgramAssociation_StudentUSI ON edfi.GeneralStudentProgramAssociation(StudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_Grade_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_Grade_SchoolId ON edfi.Grade(SchoolId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_Grade_StudentUSI ON edfi.Grade(StudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_GradebookEntry_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_GradebookEntry_SchoolId ON edfi.GradebookEntry(SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_GradingPeriod_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_GradingPeriod_SchoolId ON edfi.GradingPeriod(SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_GraduationPlan_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_GraduationPlan_EducationOrganizationId ON edfi.GraduationPlan(EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_Intervention_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_Intervention_EducationOrganizationId ON edfi.Intervention(EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_InterventionPrescription_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_InterventionPrescription_EducationOrganizationId ON edfi.InterventionPrescription(EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_InterventionStudy_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_InterventionStudy_EducationOrganizationId ON edfi.InterventionStudy(EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_LocalAccount_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_LocalAccount_EducationOrganizationId ON edfi.LocalAccount(EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_LocalActual_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_LocalActual_EducationOrganizationId ON edfi.LocalActual(EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_LocalBudget_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_LocalBudget_EducationOrganizationId ON edfi.LocalBudget(EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_LocalContractedStaff_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_LocalContractedStaff_EducationOrganizationId ON edfi.LocalContractedStaff(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_LocalContractedStaff_StaffUSI ON edfi.LocalContractedStaff(StaffUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_LocalEncumbrance_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_LocalEncumbrance_EducationOrganizationId ON edfi.LocalEncumbrance(EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_LocalPayroll_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_LocalPayroll_EducationOrganizationId ON edfi.LocalPayroll(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_LocalPayroll_StaffUSI ON edfi.LocalPayroll(StaffUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_Location_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_Location_SchoolId ON edfi.Location(SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_OpenStaffPosition_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_OpenStaffPosition_EducationOrganizationId ON edfi.OpenStaffPosition(EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_PostSecondaryEvent_PostSecondaryInstitutionId;
+CREATE INDEX IF NOT EXISTS IX_PostSecondaryEvent_PostSecondaryInstitutionId ON edfi.PostSecondaryEvent(PostSecondaryInstitutionId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_PostSecondaryEvent_StudentUSI ON edfi.PostSecondaryEvent(StudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_Program_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_Program_EducationOrganizationId ON edfi.Program(EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_ProgramEvaluationElement_ProgramEducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_ProgramEvaluationElement_ProgramEducationOrganizationId ON edfi.ProgramEvaluationElement(ProgramEducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_ProgramEvaluationObjective_ProgramEducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_ProgramEvaluationObjective_ProgramEducationOrganizationId ON edfi.ProgramEvaluationObjective(ProgramEducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_ReportCard_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_ReportCard_EducationOrganizationId ON edfi.ReportCard(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_ReportCard_StudentUSI ON edfi.ReportCard(StudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_RestraintEvent_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_RestraintEvent_SchoolId ON edfi.RestraintEvent(SchoolId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_RestraintEvent_StudentUSI ON edfi.RestraintEvent(StudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_Section_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_Section_SchoolId ON edfi.Section(SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_SectionAttendanceTakenEvent_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_SectionAttendanceTakenEvent_SchoolId ON edfi.SectionAttendanceTakenEvent(SchoolId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_SectionAttendanceTakenEvent_StaffUSI ON edfi.SectionAttendanceTakenEvent(StaffUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_Session_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_Session_SchoolId ON edfi.Session(SchoolId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_Staff_StaffUSI ON edfi.Staff(StaffUSI) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StaffAbsenceEvent_StaffUSI ON edfi.StaffAbsenceEvent(StaffUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StaffCohortAssociation_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_StaffCohortAssociation_EducationOrganizationId ON edfi.StaffCohortAssociation(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StaffCohortAssociation_StaffUSI ON edfi.StaffCohortAssociation(StaffUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StaffDisciplineIncidentAssociation_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_StaffDisciplineIncidentAssociation_SchoolId ON edfi.StaffDisciplineIncidentAssociation(SchoolId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StaffDisciplineIncidentAssociation_StaffUSI ON edfi.StaffDisciplineIncidentAssociation(StaffUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StaffEducationOrganizationAssignmentAssociation_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_StaffEducationOrganizationAssignmentAssociation_EducationOrganizationId ON edfi.StaffEducationOrganizationAssignmentAssociation(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StaffEducationOrganizationAssignmentAssociation_StaffUSI ON edfi.StaffEducationOrganizationAssignmentAssociation(StaffUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StaffEducationOrganizationContactAssociation_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_StaffEducationOrganizationContactAssociation_EducationOrganizationId ON edfi.StaffEducationOrganizationContactAssociation(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StaffEducationOrganizationContactAssociation_StaffUSI ON edfi.StaffEducationOrganizationContactAssociation(StaffUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StaffEducationOrganizationEmploymentAssociation_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_StaffEducationOrganizationEmploymentAssociation_EducationOrganizationId ON edfi.StaffEducationOrganizationEmploymentAssociation(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StaffEducationOrganizationEmploymentAssociation_StaffUSI ON edfi.StaffEducationOrganizationEmploymentAssociation(StaffUSI) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StaffLeave_StaffUSI ON edfi.StaffLeave(StaffUSI) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StaffProgramAssociation_StaffUSI ON edfi.StaffProgramAssociation(StaffUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StaffSchoolAssociation_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_StaffSchoolAssociation_SchoolId ON edfi.StaffSchoolAssociation(SchoolId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StaffSchoolAssociation_StaffUSI ON edfi.StaffSchoolAssociation(StaffUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StaffSectionAssociation_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_StaffSectionAssociation_SchoolId ON edfi.StaffSectionAssociation(SchoolId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StaffSectionAssociation_StaffUSI ON edfi.StaffSectionAssociation(StaffUSI) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_Student_StudentUSI ON edfi.Student(StudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentAcademicRecord_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_StudentAcademicRecord_EducationOrganizationId ON edfi.StudentAcademicRecord(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentAcademicRecord_StudentUSI ON edfi.StudentAcademicRecord(StudentUSI) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentAssessment_StudentUSI ON edfi.StudentAssessment(StudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentAssessmentEducationOrganizationAssociation_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_StudentAssessmentEducationOrganizationAssociation_EducationOrganizationId ON edfi.StudentAssessmentEducationOrganizationAssociation(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentAssessmentEducationOrganizationAssociation_StudentUSI ON edfi.StudentAssessmentEducationOrganizationAssociation(StudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentAssessmentRegistration_AssigningEducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_StudentAssessmentRegistration_AssigningEducationOrganizationId ON edfi.StudentAssessmentRegistration(AssigningEducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentAssessmentRegistration_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_StudentAssessmentRegistration_EducationOrganizationId ON edfi.StudentAssessmentRegistration(EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentAssessmentRegistration_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_StudentAssessmentRegistration_SchoolId ON edfi.StudentAssessmentRegistration(SchoolId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentAssessmentRegistration_StudentUSI ON edfi.StudentAssessmentRegistration(StudentUSI) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentAssessmentRegistration_ScheduledStudentUSI ON edfi.StudentAssessmentRegistration(ScheduledStudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentAssessmentRegistrationBatteryPartAssociation_AssigningEducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_StudentAssessmentRegistrationBatteryPartAssociation_AssigningEducationOrganizationId ON edfi.StudentAssessmentRegistrationBatteryPartAssociation(AssigningEducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentAssessmentRegistrationBatteryPartAssociation_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_StudentAssessmentRegistrationBatteryPartAssociation_EducationOrganizationId ON edfi.StudentAssessmentRegistrationBatteryPartAssociation(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentAssessmentRegistrationBatteryPartAssociation_StudentUSI ON edfi.StudentAssessmentRegistrationBatteryPartAssociation(StudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentCohortAssociation_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_StudentCohortAssociation_EducationOrganizationId ON edfi.StudentCohortAssociation(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentCohortAssociation_StudentUSI ON edfi.StudentCohortAssociation(StudentUSI) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentCompetencyObjective_StudentUSI ON edfi.StudentCompetencyObjective(StudentUSI) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentContactAssociation_ContactUSI ON edfi.StudentContactAssociation(ContactUSI) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentContactAssociation_StudentUSI ON edfi.StudentContactAssociation(StudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentDisciplineIncidentBehaviorAssociation_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_StudentDisciplineIncidentBehaviorAssociation_SchoolId ON edfi.StudentDisciplineIncidentBehaviorAssociation(SchoolId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentDisciplineIncidentBehaviorAssociation_StudentUSI ON edfi.StudentDisciplineIncidentBehaviorAssociation(StudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentDisciplineIncidentNonOffenderAssociation_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_StudentDisciplineIncidentNonOffenderAssociation_SchoolId ON edfi.StudentDisciplineIncidentNonOffenderAssociation(SchoolId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentDisciplineIncidentNonOffenderAssociation_StudentUSI ON edfi.StudentDisciplineIncidentNonOffenderAssociation(StudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentEducationOrganizationAssessmentAccommodation_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_StudentEducationOrganizationAssessmentAccommodation_EducationOrganizationId ON edfi.StudentEducationOrganizationAssessmentAccommodation(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentEducationOrganizationAssessmentAccommodation_StudentUSI ON edfi.StudentEducationOrganizationAssessmentAccommodation(StudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentEducationOrganizationAssociation_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_StudentEducationOrganizationAssociation_EducationOrganizationId ON edfi.StudentEducationOrganizationAssociation(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentEducationOrganizationAssociation_StudentUSI ON edfi.StudentEducationOrganizationAssociation(StudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentEducationOrganizationResponsibilityAssociation_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_StudentEducationOrganizationResponsibilityAssociation_EducationOrganizationId ON edfi.StudentEducationOrganizationResponsibilityAssociation(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentEducationOrganizationResponsibilityAssociation_StudentUSI ON edfi.StudentEducationOrganizationResponsibilityAssociation(StudentUSI) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentGradebookEntry_StudentUSI ON edfi.StudentGradebookEntry(StudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentHealth_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_StudentHealth_EducationOrganizationId ON edfi.StudentHealth(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentHealth_StudentUSI ON edfi.StudentHealth(StudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentInterventionAssociation_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_StudentInterventionAssociation_EducationOrganizationId ON edfi.StudentInterventionAssociation(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentInterventionAssociation_StudentUSI ON edfi.StudentInterventionAssociation(StudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentInterventionAttendanceEvent_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_StudentInterventionAttendanceEvent_EducationOrganizationId ON edfi.StudentInterventionAttendanceEvent(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentInterventionAttendanceEvent_StudentUSI ON edfi.StudentInterventionAttendanceEvent(StudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentProgramAttendanceEvent_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_StudentProgramAttendanceEvent_EducationOrganizationId ON edfi.StudentProgramAttendanceEvent(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentProgramAttendanceEvent_StudentUSI ON edfi.StudentProgramAttendanceEvent(StudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentProgramEvaluation_ProgramEducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_StudentProgramEvaluation_ProgramEducationOrganizationId ON edfi.StudentProgramEvaluation(ProgramEducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentProgramEvaluation_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_StudentProgramEvaluation_EducationOrganizationId ON edfi.StudentProgramEvaluation(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentProgramEvaluation_StudentUSI ON edfi.StudentProgramEvaluation(StudentUSI) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentProgramEvaluation_StaffEvaluatorStaffUSI ON edfi.StudentProgramEvaluation(StaffEvaluatorStaffUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentSchoolAssociation_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_StudentSchoolAssociation_SchoolId ON edfi.StudentSchoolAssociation(SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentSchoolAssociation_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_StudentSchoolAssociation_EducationOrganizationId ON edfi.StudentSchoolAssociation(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentSchoolAssociation_StudentUSI ON edfi.StudentSchoolAssociation(StudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentSchoolAttendanceEvent_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_StudentSchoolAttendanceEvent_SchoolId ON edfi.StudentSchoolAttendanceEvent(SchoolId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentSchoolAttendanceEvent_StudentUSI ON edfi.StudentSchoolAttendanceEvent(StudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentSectionAssociation_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_StudentSectionAssociation_SchoolId ON edfi.StudentSectionAssociation(SchoolId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentSectionAssociation_StudentUSI ON edfi.StudentSectionAssociation(StudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentSectionAttendanceEvent_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_StudentSectionAttendanceEvent_SchoolId ON edfi.StudentSectionAttendanceEvent(SchoolId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentSectionAttendanceEvent_StudentUSI ON edfi.StudentSectionAttendanceEvent(StudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_StudentSpecialEducationProgramEligibilityAssociation_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_StudentSpecialEducationProgramEligibilityAssociation_EducationOrganizationId ON edfi.StudentSpecialEducationProgramEligibilityAssociation(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentSpecialEducationProgramEligibilityAssociation_StudentUSI ON edfi.StudentSpecialEducationProgramEligibilityAssociation(StudentUSI) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_StudentTransportation_StudentUSI ON edfi.StudentTransportation(StudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_Survey_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_Survey_EducationOrganizationId ON edfi.Survey(EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_Survey_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_Survey_SchoolId ON edfi.Survey(SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_SurveyCourseAssociation_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_SurveyCourseAssociation_EducationOrganizationId ON edfi.SurveyCourseAssociation(EducationOrganizationId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_SurveyProgramAssociation_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_SurveyProgramAssociation_EducationOrganizationId ON edfi.SurveyProgramAssociation(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_SurveyResponse_ContactUSI ON edfi.SurveyResponse(ContactUSI) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_SurveyResponse_StaffUSI ON edfi.SurveyResponse(StaffUSI) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_SurveyResponse_StudentUSI ON edfi.SurveyResponse(StudentUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_SurveyResponseEducationOrganizationTargetAssociation_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_SurveyResponseEducationOrganizationTargetAssociation_EducationOrganizationId ON edfi.SurveyResponseEducationOrganizationTargetAssociation(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_SurveyResponseStaffTargetAssociation_StaffUSI ON edfi.SurveyResponseStaffTargetAssociation(StaffUSI) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_SurveySectionAssociation_SchoolId;
+CREATE INDEX IF NOT EXISTS IX_SurveySectionAssociation_SchoolId ON edfi.SurveySectionAssociation(SchoolId) INCLUDE (AggregateId);
+
+DROP INDEX IF EXISTS IX_SurveySectionResponseEducationOrganizationTargetAssociation_EducationOrganizationId;
+CREATE INDEX IF NOT EXISTS IX_SurveySectionResponseEducationOrganizationTargetAssociation_EducationOrganizationId ON edfi.SurveySectionResponseEducationOrganizationTargetAssociation(EducationOrganizationId) INCLUDE (AggregateId);
+
+CREATE INDEX IF NOT EXISTS IX_SurveySectionResponseStaffTargetAssociation_StaffUSI ON edfi.SurveySectionResponseStaffTargetAssociation(StaffUSI) INCLUDE (AggregateId);
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0030-AddColumnChangeVersionForTables.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0030-AddColumnChangeVersionForTables.sql
index 3b6c4dd15a..ec51bf21b2 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0030-AddColumnChangeVersionForTables.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0030-AddColumnChangeVersionForTables.sql
@@ -26,6 +26,11 @@ ALTER TABLE edfi.AssessmentAdministration ADD ChangeVersion BIGINT DEFAULT (0) N
ALTER TABLE edfi.AssessmentAdministration ALTER ChangeVersion SET DEFAULT nextval('changes.ChangeVersionSequence');
END IF;
+IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema='edfi' AND table_name='assessmentadministrationparticipation' AND column_name='changeversion') THEN
+ALTER TABLE edfi.AssessmentAdministrationParticipation ADD ChangeVersion BIGINT DEFAULT (0) NOT NULL;
+ALTER TABLE edfi.AssessmentAdministrationParticipation ALTER ChangeVersion SET DEFAULT nextval('changes.ChangeVersionSequence');
+END IF;
+
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema='edfi' AND table_name='assessmentbatterypart' AND column_name='changeversion') THEN
ALTER TABLE edfi.AssessmentBatteryPart ADD ChangeVersion BIGINT DEFAULT (0) NOT NULL;
ALTER TABLE edfi.AssessmentBatteryPart ALTER ChangeVersion SET DEFAULT nextval('changes.ChangeVersionSequence');
@@ -41,11 +46,6 @@ ALTER TABLE edfi.AssessmentScoreRangeLearningStandard ADD ChangeVersion BIGINT D
ALTER TABLE edfi.AssessmentScoreRangeLearningStandard ALTER ChangeVersion SET DEFAULT nextval('changes.ChangeVersionSequence');
END IF;
-IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema='edfi' AND table_name='assesssmentadministrationparticipation' AND column_name='changeversion') THEN
-ALTER TABLE edfi.AssesssmentAdministrationParticipation ADD ChangeVersion BIGINT DEFAULT (0) NOT NULL;
-ALTER TABLE edfi.AssesssmentAdministrationParticipation ALTER ChangeVersion SET DEFAULT nextval('changes.ChangeVersionSequence');
-END IF;
-
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema='edfi' AND table_name='balancesheetdimension' AND column_name='changeversion') THEN
ALTER TABLE edfi.BalanceSheetDimension ADD ChangeVersion BIGINT DEFAULT (0) NOT NULL;
ALTER TABLE edfi.BalanceSheetDimension ALTER ChangeVersion SET DEFAULT nextval('changes.ChangeVersionSequence');
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0070-AddIndexChangeVersionForTables.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0070-AddIndexChangeVersionForTables.sql
index 57d9cf0bb1..d6809ac94c 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0070-AddIndexChangeVersionForTables.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0070-AddIndexChangeVersionForTables.sql
@@ -11,14 +11,14 @@ CREATE INDEX IF NOT EXISTS UX_7808ee_ChangeVersion ON edfi.Assessment(ChangeVers
CREATE INDEX IF NOT EXISTS UX_c64558_ChangeVersion ON edfi.AssessmentAdministration(ChangeVersion);
+CREATE INDEX IF NOT EXISTS UX_77818e_ChangeVersion ON edfi.AssessmentAdministrationParticipation(ChangeVersion);
+
CREATE INDEX IF NOT EXISTS UX_6e22f2_ChangeVersion ON edfi.AssessmentBatteryPart(ChangeVersion);
CREATE INDEX IF NOT EXISTS UX_dc3dcf_ChangeVersion ON edfi.AssessmentItem(ChangeVersion);
CREATE INDEX IF NOT EXISTS UX_a20588_ChangeVersion ON edfi.AssessmentScoreRangeLearningStandard(ChangeVersion);
-CREATE INDEX IF NOT EXISTS UX_0b52ab_ChangeVersion ON edfi.AssesssmentAdministrationParticipation(ChangeVersion);
-
CREATE INDEX IF NOT EXISTS UX_e52c9c_ChangeVersion ON edfi.BalanceSheetDimension(ChangeVersion);
CREATE INDEX IF NOT EXISTS UX_9bbaf5_ChangeVersion ON edfi.BellSchedule(ChangeVersion);
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0200-CreateTrackedChangeTables.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0200-CreateTrackedChangeTables.sql
index 2dc5a0de01..8469a34732 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0200-CreateTrackedChangeTables.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0200-CreateTrackedChangeTables.sql
@@ -76,6 +76,27 @@ CREATE TABLE tracked_changes_edfi.assessmentadministration
);
END IF;
+IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_schema = 'tracked_changes_edfi' AND table_name = 'assessmentadministrationparticipation') THEN
+CREATE TABLE tracked_changes_edfi.assessmentadministrationparticipation
+(
+ oldadministrationidentifier VARCHAR(255) NOT NULL,
+ oldassessmentidentifier VARCHAR(60) NOT NULL,
+ oldassigningeducationorganizationid BIGINT NOT NULL,
+ oldnamespace VARCHAR(255) NOT NULL,
+ oldparticipatingeducationorganizationid BIGINT NOT NULL,
+ newadministrationidentifier VARCHAR(255) NULL,
+ newassessmentidentifier VARCHAR(60) NULL,
+ newassigningeducationorganizationid BIGINT NULL,
+ newnamespace VARCHAR(255) NULL,
+ newparticipatingeducationorganizationid BIGINT NULL,
+ id uuid NOT NULL,
+ changeversion bigint NOT NULL,
+ discriminator varchar(128) NULL,
+ createdate timestamp NOT NULL DEFAULT (now()),
+ CONSTRAINT assessmentadministrationparticipation_pk PRIMARY KEY (ChangeVersion)
+);
+END IF;
+
IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_schema = 'tracked_changes_edfi' AND table_name = 'assessmentbatterypart') THEN
CREATE TABLE tracked_changes_edfi.assessmentbatterypart
(
@@ -127,27 +148,6 @@ CREATE TABLE tracked_changes_edfi.assessmentscorerangelearningstandard
);
END IF;
-IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_schema = 'tracked_changes_edfi' AND table_name = 'assesssmentadministrationparticipation') THEN
-CREATE TABLE tracked_changes_edfi.assesssmentadministrationparticipation
-(
- oldadministrationidentifier VARCHAR(255) NOT NULL,
- oldassessmentidentifier VARCHAR(60) NOT NULL,
- oldassigningeducationorganizationid BIGINT NOT NULL,
- oldnamespace VARCHAR(255) NOT NULL,
- oldparticipatingeducationorganizationid BIGINT NOT NULL,
- newadministrationidentifier VARCHAR(255) NULL,
- newassessmentidentifier VARCHAR(60) NULL,
- newassigningeducationorganizationid BIGINT NULL,
- newnamespace VARCHAR(255) NULL,
- newparticipatingeducationorganizationid BIGINT NULL,
- id uuid NOT NULL,
- changeversion bigint NOT NULL,
- discriminator varchar(128) NULL,
- createdate timestamp NOT NULL DEFAULT (now()),
- CONSTRAINT assesssmentadministrationparticipation_pk PRIMARY KEY (ChangeVersion)
-);
-END IF;
-
IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_schema = 'tracked_changes_edfi' AND table_name = 'balancesheetdimension') THEN
CREATE TABLE tracked_changes_edfi.balancesheetdimension
(
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql
index 9715ac085c..0798b05072 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql
@@ -25,6 +25,11 @@ CREATE TRIGGER UpdateChangeVersion BEFORE UPDATE ON edfi.assessmentadministratio
FOR EACH ROW EXECUTE PROCEDURE changes.UpdateChangeVersion();
END IF;
+IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'updatechangeversion' AND event_object_schema = 'edfi' AND event_object_table = 'assessmentadministrationparticipation') THEN
+CREATE TRIGGER UpdateChangeVersion BEFORE UPDATE ON edfi.assessmentadministrationparticipation
+ FOR EACH ROW EXECUTE PROCEDURE changes.UpdateChangeVersion();
+END IF;
+
IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'updatechangeversion' AND event_object_schema = 'edfi' AND event_object_table = 'assessmentbatterypart') THEN
CREATE TRIGGER UpdateChangeVersion BEFORE UPDATE ON edfi.assessmentbatterypart
FOR EACH ROW EXECUTE PROCEDURE changes.UpdateChangeVersion();
@@ -40,11 +45,6 @@ CREATE TRIGGER UpdateChangeVersion BEFORE UPDATE ON edfi.assessmentscorerangelea
FOR EACH ROW EXECUTE PROCEDURE changes.UpdateChangeVersion();
END IF;
-IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'updatechangeversion' AND event_object_schema = 'edfi' AND event_object_table = 'assesssmentadministrationparticipation') THEN
-CREATE TRIGGER UpdateChangeVersion BEFORE UPDATE ON edfi.assesssmentadministrationparticipation
- FOR EACH ROW EXECUTE PROCEDURE changes.UpdateChangeVersion();
-END IF;
-
IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'updatechangeversion' AND event_object_schema = 'edfi' AND event_object_table = 'balancesheetdimension') THEN
CREATE TRIGGER UpdateChangeVersion BEFORE UPDATE ON edfi.balancesheetdimension
FOR EACH ROW EXECUTE PROCEDURE changes.UpdateChangeVersion();
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0220-CreateTriggersForDeleteTracking.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0220-CreateTriggersForDeleteTracking.sql
index 4697dc877b..35599091e7 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0220-CreateTriggersForDeleteTracking.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/Changes/0220-CreateTriggersForDeleteTracking.sql
@@ -272,6 +272,26 @@ CREATE TRIGGER TrackDeletes AFTER DELETE ON edfi.assessmentadministration
FOR EACH ROW EXECUTE PROCEDURE tracked_changes_edfi.assessmentadministration_deleted();
END IF;
+CREATE OR REPLACE FUNCTION tracked_changes_edfi.assessmentadministrationparticipation_deleted()
+ RETURNS trigger AS
+$BODY$
+BEGIN
+ INSERT INTO tracked_changes_edfi.assessmentadministrationparticipation(
+ oldadministrationidentifier, oldassessmentidentifier, oldassigningeducationorganizationid, oldnamespace, oldparticipatingeducationorganizationid,
+ id, discriminator, changeversion)
+ VALUES (
+ OLD.administrationidentifier, OLD.assessmentidentifier, OLD.assigningeducationorganizationid, OLD.namespace, OLD.participatingeducationorganizationid,
+ OLD.id, OLD.discriminator, nextval('changes.changeversionsequence'));
+
+ RETURN NULL;
+END;
+$BODY$ LANGUAGE plpgsql;
+
+IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'trackdeletes' AND event_object_schema = 'edfi' AND event_object_table = 'assessmentadministrationparticipation') THEN
+CREATE TRIGGER TrackDeletes AFTER DELETE ON edfi.assessmentadministrationparticipation
+ FOR EACH ROW EXECUTE PROCEDURE tracked_changes_edfi.assessmentadministrationparticipation_deleted();
+END IF;
+
CREATE OR REPLACE FUNCTION tracked_changes_edfi.assessmentbatterypart_deleted()
RETURNS trigger AS
$BODY$
@@ -434,26 +454,6 @@ CREATE TRIGGER TrackDeletes AFTER DELETE ON edfi.assessmentscorerangelearningsta
FOR EACH ROW EXECUTE PROCEDURE tracked_changes_edfi.assessmentscorerangelearningstandard_deleted();
END IF;
-CREATE OR REPLACE FUNCTION tracked_changes_edfi.assesssmentadministrationparticipation_deleted()
- RETURNS trigger AS
-$BODY$
-BEGIN
- INSERT INTO tracked_changes_edfi.assesssmentadministrationparticipation(
- oldadministrationidentifier, oldassessmentidentifier, oldassigningeducationorganizationid, oldnamespace, oldparticipatingeducationorganizationid,
- id, discriminator, changeversion)
- VALUES (
- OLD.administrationidentifier, OLD.assessmentidentifier, OLD.assigningeducationorganizationid, OLD.namespace, OLD.participatingeducationorganizationid,
- OLD.id, OLD.discriminator, nextval('changes.changeversionsequence'));
-
- RETURN NULL;
-END;
-$BODY$ LANGUAGE plpgsql;
-
-IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'trackdeletes' AND event_object_schema = 'edfi' AND event_object_table = 'assesssmentadministrationparticipation') THEN
-CREATE TRIGGER TrackDeletes AFTER DELETE ON edfi.assesssmentadministrationparticipation
- FOR EACH ROW EXECUTE PROCEDURE tracked_changes_edfi.assesssmentadministrationparticipation_deleted();
-END IF;
-
CREATE OR REPLACE FUNCTION tracked_changes_edfi.assignmentlatestatusdescriptor_deleted()
RETURNS trigger AS
$BODY$
@@ -1618,6 +1618,40 @@ CREATE TRIGGER TrackDeletes AFTER DELETE ON edfi.displacedstudentstatusdescripto
FOR EACH ROW EXECUTE PROCEDURE tracked_changes_edfi.displacedstudentstatusdescriptor_deleted();
END IF;
+CREATE OR REPLACE FUNCTION tracked_changes_edfi.dualcreditinstitutiondescriptor_deleted()
+ RETURNS trigger AS
+$BODY$
+BEGIN
+ INSERT INTO tracked_changes_edfi.descriptor(olddescriptorid, oldcodevalue, oldnamespace, id, discriminator, changeversion)
+ SELECT OLD.DualCreditInstitutionDescriptorId, b.codevalue, b.namespace, b.id, 'edfi.DualCreditInstitutionDescriptor', nextval('changes.ChangeVersionSequence')
+ FROM edfi.descriptor b WHERE old.DualCreditInstitutionDescriptorId = b.descriptorid ;
+
+ RETURN NULL;
+END;
+$BODY$ LANGUAGE plpgsql;
+
+IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'trackdeletes' AND event_object_schema = 'edfi' AND event_object_table = 'dualcreditinstitutiondescriptor') THEN
+CREATE TRIGGER TrackDeletes AFTER DELETE ON edfi.dualcreditinstitutiondescriptor
+ FOR EACH ROW EXECUTE PROCEDURE tracked_changes_edfi.dualcreditinstitutiondescriptor_deleted();
+END IF;
+
+CREATE OR REPLACE FUNCTION tracked_changes_edfi.dualcredittypedescriptor_deleted()
+ RETURNS trigger AS
+$BODY$
+BEGIN
+ INSERT INTO tracked_changes_edfi.descriptor(olddescriptorid, oldcodevalue, oldnamespace, id, discriminator, changeversion)
+ SELECT OLD.DualCreditTypeDescriptorId, b.codevalue, b.namespace, b.id, 'edfi.DualCreditTypeDescriptor', nextval('changes.ChangeVersionSequence')
+ FROM edfi.descriptor b WHERE old.DualCreditTypeDescriptorId = b.descriptorid ;
+
+ RETURN NULL;
+END;
+$BODY$ LANGUAGE plpgsql;
+
+IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'trackdeletes' AND event_object_schema = 'edfi' AND event_object_table = 'dualcredittypedescriptor') THEN
+CREATE TRIGGER TrackDeletes AFTER DELETE ON edfi.dualcredittypedescriptor
+ FOR EACH ROW EXECUTE PROCEDURE tracked_changes_edfi.dualcredittypedescriptor_deleted();
+END IF;
+
CREATE OR REPLACE FUNCTION tracked_changes_edfi.educationalenvironmentdescriptor_deleted()
RETURNS trigger AS
$BODY$
@@ -4407,21 +4441,21 @@ CREATE TRIGGER TrackDeletes AFTER DELETE ON edfi.schoolyeartype
FOR EACH ROW EXECUTE PROCEDURE tracked_changes_edfi.schoolyeartype_deleted();
END IF;
-CREATE OR REPLACE FUNCTION tracked_changes_edfi.section504disabilitytypedescriptor_deleted()
+CREATE OR REPLACE FUNCTION tracked_changes_edfi.section504disabilitydescriptor_deleted()
RETURNS trigger AS
$BODY$
BEGIN
INSERT INTO tracked_changes_edfi.descriptor(olddescriptorid, oldcodevalue, oldnamespace, id, discriminator, changeversion)
- SELECT OLD.Section504DisabilityTypeDescriptorId, b.codevalue, b.namespace, b.id, 'edfi.Section504DisabilityTypeDescriptor', nextval('changes.ChangeVersionSequence')
- FROM edfi.descriptor b WHERE old.Section504DisabilityTypeDescriptorId = b.descriptorid ;
+ SELECT OLD.Section504DisabilityDescriptorId, b.codevalue, b.namespace, b.id, 'edfi.Section504DisabilityDescriptor', nextval('changes.ChangeVersionSequence')
+ FROM edfi.descriptor b WHERE old.Section504DisabilityDescriptorId = b.descriptorid ;
RETURN NULL;
END;
$BODY$ LANGUAGE plpgsql;
-IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'trackdeletes' AND event_object_schema = 'edfi' AND event_object_table = 'section504disabilitytypedescriptor') THEN
-CREATE TRIGGER TrackDeletes AFTER DELETE ON edfi.section504disabilitytypedescriptor
- FOR EACH ROW EXECUTE PROCEDURE tracked_changes_edfi.section504disabilitytypedescriptor_deleted();
+IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'trackdeletes' AND event_object_schema = 'edfi' AND event_object_table = 'section504disabilitydescriptor') THEN
+CREATE TRIGGER TrackDeletes AFTER DELETE ON edfi.section504disabilitydescriptor
+ FOR EACH ROW EXECUTE PROCEDURE tracked_changes_edfi.section504disabilitydescriptor_deleted();
END IF;
CREATE OR REPLACE FUNCTION tracked_changes_edfi.section_deleted()
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/RecordOwnership/0010-AddColumnOwnershipTokenForTable.sql b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/RecordOwnership/0010-AddColumnOwnershipTokenForTable.sql
index ff6d05ac4c..a2f812aa04 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/RecordOwnership/0010-AddColumnOwnershipTokenForTable.sql
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/PgSql/Structure/Ods/RecordOwnership/0010-AddColumnOwnershipTokenForTable.sql
@@ -11,14 +11,14 @@ ALTER TABLE edfi.Assessment ADD CreatedByOwnershipTokenId SMALLINT NULL;
ALTER TABLE edfi.AssessmentAdministration ADD CreatedByOwnershipTokenId SMALLINT NULL;
+ALTER TABLE edfi.AssessmentAdministrationParticipation ADD CreatedByOwnershipTokenId SMALLINT NULL;
+
ALTER TABLE edfi.AssessmentBatteryPart ADD CreatedByOwnershipTokenId SMALLINT NULL;
ALTER TABLE edfi.AssessmentItem ADD CreatedByOwnershipTokenId SMALLINT NULL;
ALTER TABLE edfi.AssessmentScoreRangeLearningStandard ADD CreatedByOwnershipTokenId SMALLINT NULL;
-ALTER TABLE edfi.AssesssmentAdministrationParticipation ADD CreatedByOwnershipTokenId SMALLINT NULL;
-
ALTER TABLE edfi.BalanceSheetDimension ADD CreatedByOwnershipTokenId SMALLINT NULL;
ALTER TABLE edfi.BellSchedule ADD CreatedByOwnershipTokenId SMALLINT NULL;
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Ed-Fi-Core.xsd b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Ed-Fi-Core.xsd
index 74ed2a5922..c51ebf7be5 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Ed-Fi-Core.xsd
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Ed-Fi-Core.xsd
@@ -266,7 +266,7 @@
The title or name of the assessment in the context of its administration.
-
+
The anticipated dates for the assessment or administration window.
@@ -280,6 +280,35 @@
+
+
+ Identifies the point of contact for the administration of an assessment under the purview of an education organization.
+
+ Domain Entity
+
+
+
+
+
+
+
+ A reference to the assessment administration for which participation is being indicated.
+
+
+
+
+ A reference to the education organization for which participation is being indicated.
+
+
+
+
+ Pre-identified contacts for education organizations administering the assessment.
+
+
+
+
+
+
The parts organized for administering an assessessment which together provide a comprehensive assessment of the students.
@@ -428,35 +457,6 @@
-
-
- Identifies the point of contact for the administration of an assessment under the purview of an education organization.
-
- Domain Entity
-
-
-
-
-
-
-
- A reference to the assessment administration for which participation is being indicated.
-
-
-
-
- A reference to the education organization for which participation is being indicated.
-
-
-
-
- Pre-identified contacts for education organizations administering the assessment.
-
-
-
-
-
-
The NCES balance sheet accounting dimension, used to track financial transactions for each fund. These financial statements only report assets, deferred outflows of resources, liabilities, deferred inflows of resources, and equity accounts. The statements are considered snapshots of how these accounts stand as of a certain point in time.
@@ -4808,9 +4808,9 @@
A reference to the education organization which should receive the results of the assessment.
-
+
- A reference to the accommodations expected for administering the assessment.
+ A reference to the accommodations expected for administering the assessment. Student and education organization references must be consistent with StudentEducationOrganizationAssociation and StudentSchoolAssociation.
@@ -6340,6 +6340,28 @@
+
+
+ Custom descriptor of college institutions or categories of institutions participating in the dual credit program.
+
+ Descriptor
+
+
+
+
+
+
+
+
+ Indicates the type of the dual credit program.
+
+ Descriptor
+
+
+
+
+
+
The setting in which a child receives education and related services.
@@ -7550,7 +7572,7 @@
-
+
This descriptor defines the reason(s) why student qualifies for Section 504 consideration.
@@ -8843,6 +8865,14 @@
+
+
+ Identifies the type(s) of weapon used by the student during a discipline incident. The Federal Gun-Free Schools Act requires states to report the number of students expelled for bringing firearms to school by type of firearm.
+
+ WeaponDescriptor
+
+
+
@@ -9580,11 +9610,11 @@
Indicates whether student has a Section 504 accommodation plan.
-
+
Defines one or more disabilities student has that qualifies them for a Section 504 plan.
- Section504DisabilityTypeDescriptor
+ Section504DisabilityDescriptor
@@ -9663,6 +9693,11 @@
The program(s) that the student is participating in the context of the course.
+
+
+ The set of elements that capture relevant data regarding dual credit.
+
+
@@ -9705,6 +9740,16 @@
Indicate the total number of hours of instructional time per week for the school that the student attends.
+
+
+ Indicator that the student's IEP requires a shortened school day.
+
+
+
+
+ Records the number of hours reduced for the shortened school day for the IEP student as compared to peers in regular education.
+
+
Indicates whether the student receiving special education and related services has been designated as multiply disabled by the admission, review, and dismissal committee as aligned with federal requirements.
@@ -10277,6 +10322,45 @@
+
+
+ Identity of an AssessmentAdministrationParticipation.
+
+ Identity
+
+
+
+
+
+ A reference to the assessment administration for which participation is being indicated.
+
+
+
+
+ A reference to the education organization for which participation is being indicated.
+
+
+
+
+
+
+ Provides alternative references for an AssessmentAdministrationParticipation. Use XML IDREF to reference a record that is included in the interchange. Use the identity type to look up a record that was loaded previously.
+
+ Extended Reference
+
+
+
+
+
+
+
+ Identity of an AssessmentAdministrationParticipation.
+
+
+
+
+
+
Provides alternative references for an AssessmentAdministration. Use XML IDREF to reference a record that is included in the interchange. Use the identity type to look up a record that was loaded previously.
@@ -10465,45 +10549,6 @@
-
-
- Identity of an AssesssmentAdministrationParticipation.
-
- Identity
-
-
-
-
-
- A reference to the assessment administration for which participation is being indicated.
-
-
-
-
- A reference to the education organization for which participation is being indicated.
-
-
-
-
-
-
- Provides alternative references for an AssesssmentAdministrationParticipation. Use XML IDREF to reference a record that is included in the interchange. Use the identity type to look up a record that was loaded previously.
-
- Extended Reference
-
-
-
-
-
-
-
- Identity of an AssesssmentAdministrationParticipation.
-
-
-
-
-
-
Identity of a BalanceSheetDimension.
@@ -17159,6 +17204,24 @@
+
+
+ Custom descriptor of college institutions or categories of institutions participating in the dual credit program.
+
+ Extended Descriptor Reference
+
+
+
+
+
+
+ Indicates the type of the dual credit program.
+
+ Extended Descriptor Reference
+
+
+
+
The setting in which a child receives education and related services.
@@ -18149,7 +18212,7 @@
-
+
This descriptor defines the reason(s) why student qualifies for Section 504 consideration.
@@ -19532,6 +19595,47 @@
+
+
+ This common stores details about the dual credit type and information about the organization that delivers the educational service and award.
+
+ Common
+
+
+
+
+
+ Indicates whether the student assigned to the section is to receive dual credit upon successful completion.
+
+
+
+
+ For a student taking a dual credit course in a college or high school setting, indicates the type of dual credit program.
+
+ DualCreditTypeDescriptor
+
+
+
+
+
+ Indicates whether successful completion of the course will result in credits toward high school graduation.
+
+
+
+
+ The education organization reference that is awarding the postsecondary credit as part of the dual credit program. Use of this attribute requires that education organization, typically a postsecondary institution, is a defined education organization.
+
+
+
+
+ Descriptor for the postsecondary institution offering college credit. This descriptor may be used to select a postsecondary institution that is not defined as an education organization, and/or select a general type of postsecondary institution.
+
+ DualCreditInstitutionDescriptor
+
+
+
+
+
Published papers, reports, or other educational documents.
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Interchange-AssessmentRegistration.xsd b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Interchange-AssessmentRegistration.xsd
new file mode 100644
index 0000000000..6fbd6a6000
--- /dev/null
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Interchange-AssessmentRegistration.xsd
@@ -0,0 +1,22 @@
+
+
+
+
+ ===== Assessment Registration Interchange Model =====
+
+
+
+ This interchange defines the registration of students for assessments. It encompasses information related to the scheduled assessment administration, scheduled student participation, and the specific assessments to be taken by the students.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Interchange-Descriptors.xsd b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Interchange-Descriptors.xsd
index 4f6fce286a..f51632c319 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Interchange-Descriptors.xsd
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Interchange-Descriptors.xsd
@@ -74,6 +74,8 @@ The Descriptor interchange is used to describe metadata about the descriptors an
+
+
@@ -184,7 +186,7 @@ The Descriptor interchange is used to describe metadata about the descriptors an
-
+
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Interchange-StudentProgram.xsd b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Interchange-StudentProgram.xsd
index 7d1f3cdfd0..3fe698a42d 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Interchange-StudentProgram.xsd
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/Interchange-StudentProgram.xsd
@@ -20,6 +20,7 @@
+
diff --git a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/SchemaAnnotation.xsd b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/SchemaAnnotation.xsd
index 8bb4a33d45..29ed945eed 100644
--- a/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/SchemaAnnotation.xsd
+++ b/Application/EdFi.Ods.Standard/Standard/5.2.0/Artifacts/Schemas/SchemaAnnotation.xsd
@@ -78,6 +78,8 @@
+
+
@@ -188,7 +190,7 @@
-
+
diff --git a/Application/EdFi.Ods.Tests/_EmbeddedResources/Extensions.Sample-ApiModel-EXTENSION-For-Tests.json b/Application/EdFi.Ods.Tests/_EmbeddedResources/Extensions.Sample-ApiModel-EXTENSION-For-Tests.json
index f86c98ac2f..5eb4e28eb7 100644
--- a/Application/EdFi.Ods.Tests/_EmbeddedResources/Extensions.Sample-ApiModel-EXTENSION-For-Tests.json
+++ b/Application/EdFi.Ods.Tests/_EmbeddedResources/Extensions.Sample-ApiModel-EXTENSION-For-Tests.json
@@ -10,5 +10,5 @@
"aggregateExtensionDefinitions": [],
"entityDefinitions": [],
"associationDefinitions": [],
- "edFiVersion": "5.1.0"
+ "edFiVersion": "5.2.0"
}
\ No newline at end of file
diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/ApiMetadata/ApiModel-EXTENSION.json b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/ApiMetadata/ApiModel-EXTENSION.json
index 2ddf941aa7..bd28699c93 100644
--- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/ApiMetadata/ApiModel-EXTENSION.json
+++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/ApiMetadata/ApiModel-EXTENSION.json
@@ -322,7 +322,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program.",
+ "description": "The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -432,7 +432,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program.",
+ "description": "The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -555,7 +555,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program.",
+ "description": "The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -665,7 +665,7 @@
"scale": 0,
"isNullable": false
},
- "description": "The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program.",
+ "description": "The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.",
"isIdentifying": true,
"isServerAssigned": false,
"columnNames": {
@@ -769,5 +769,5 @@
"potentiallyLogical": false
}
],
- "edFiVersion": "5.1.0"
+ "edFiVersion": "5.2.0"
}
\ No newline at end of file
diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0010-EXTENSION-SampleAlternativeEducationProgram-Schemas.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0010-EXTENSION-SampleAlternativeEducationProgram-Schemas.sql
index 9be2f1889e..c0cdd16a55 100644
--- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0010-EXTENSION-SampleAlternativeEducationProgram-Schemas.sql
+++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0010-EXTENSION-SampleAlternativeEducationProgram-Schemas.sql
@@ -1,6 +1,6 @@
-// SPDX-License-Identifier: Apache-2.0
-// Licensed to the Ed-Fi Alliance under one or more agreements.
-// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
-// See the LICENSE and NOTICES files in the project root for more information.
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
CREATE SCHEMA samplealternativeeducationprogram AUTHORIZATION postgres;
diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0020-EXTENSION-SampleAlternativeEducationProgram-Tables.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0020-EXTENSION-SampleAlternativeEducationProgram-Tables.sql
index 9eefd510bb..f4c014d02f 100644
--- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0020-EXTENSION-SampleAlternativeEducationProgram-Tables.sql
+++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0020-EXTENSION-SampleAlternativeEducationProgram-Tables.sql
@@ -1,7 +1,7 @@
-// SPDX-License-Identifier: Apache-2.0
-// Licensed to the Ed-Fi Alliance under one or more agreements.
-// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
-// See the LICENSE and NOTICES files in the project root for more information.
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
-- Table samplealternativeeducationprogram.AlternativeEducationEligibilityReasonDescriptor --
CREATE TABLE samplealternativeeducationprogram.AlternativeEducationEligibilityReasonDescriptor (
@@ -35,3 +35,4 @@ CREATE TABLE samplealternativeeducationprogram.StudentAlternativeEducationProgra
CONSTRAINT StudentAlternativeEducationProgramAssociationMeetingTime_PK PRIMARY KEY (BeginDate, EducationOrganizationId, ProgramEducationOrganizationId, ProgramName, ProgramTypeDescriptorId, StudentUSI, EndTime, StartTime)
);
ALTER TABLE samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociationMeetingTime ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC';
+
diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0030-EXTENSION-SampleAlternativeEducationProgram-ForeignKeys.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0030-EXTENSION-SampleAlternativeEducationProgram-ForeignKeys.sql
index a1119f05f4..f8a89aebb7 100644
--- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0030-EXTENSION-SampleAlternativeEducationProgram-ForeignKeys.sql
+++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0030-EXTENSION-SampleAlternativeEducationProgram-ForeignKeys.sql
@@ -1,7 +1,7 @@
-// SPDX-License-Identifier: Apache-2.0
-// Licensed to the Ed-Fi Alliance under one or more agreements.
-// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
-// See the LICENSE and NOTICES files in the project root for more information.
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
ALTER TABLE samplealternativeeducationprogram.AlternativeEducationEligibilityReasonDescriptor ADD CONSTRAINT FK_683552_Descriptor FOREIGN KEY (AlternativeEducationEligibilityReasonDescriptorId)
REFERENCES edfi.Descriptor (DescriptorId)
@@ -24,3 +24,4 @@ ALTER TABLE samplealternativeeducationprogram.StudentAlternativeEducationProgram
REFERENCES samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociation (BeginDate, EducationOrganizationId, ProgramEducationOrganizationId, ProgramName, ProgramTypeDescriptorId, StudentUSI)
ON DELETE CASCADE
;
+
diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0050-EXTENSION-SampleAlternativeEducationProgram-ExtendedProperties.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0050-EXTENSION-SampleAlternativeEducationProgram-ExtendedProperties.sql
index f3a0275955..6f7345b9e5 100644
--- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0050-EXTENSION-SampleAlternativeEducationProgram-ExtendedProperties.sql
+++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/0050-EXTENSION-SampleAlternativeEducationProgram-ExtendedProperties.sql
@@ -1,7 +1,7 @@
-// SPDX-License-Identifier: Apache-2.0
-// Licensed to the Ed-Fi Alliance under one or more agreements.
-// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
-// See the LICENSE and NOTICES files in the project root for more information.
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
-- Extended Properties [samplealternativeeducationprogram].[AlternativeEducationEligibilityReasonDescriptor] --
COMMENT ON TABLE samplealternativeeducationprogram.AlternativeEducationEligibilityReasonDescriptor IS 'This descriptor describes the reason a student is eligible for an Alternative Education Program';
@@ -9,7 +9,7 @@ COMMENT ON COLUMN samplealternativeeducationprogram.AlternativeEducationEligibil
-- Extended Properties [samplealternativeeducationprogram].[StudentAlternativeEducationProgramAssociation] --
COMMENT ON TABLE samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociation IS 'This association represents Students in an Alternative Education Program.';
-COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociation.BeginDate IS 'The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program.';
+COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociation.BeginDate IS 'The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.';
COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociation.EducationOrganizationId IS 'The identifier assigned to an education organization.';
COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociation.ProgramEducationOrganizationId IS 'The identifier assigned to an education organization.';
COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociation.ProgramName IS 'The formal name of the program of instruction, training, services, or benefits available through federal, state, or local agencies.';
@@ -19,7 +19,7 @@ COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationP
-- Extended Properties [samplealternativeeducationprogram].[StudentAlternativeEducationProgramAssociationMeetingTime] --
COMMENT ON TABLE samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociationMeetingTime IS 'The times at which this Alternative Education Program is scheduled to meet.';
-COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociationMeetingTime.BeginDate IS 'The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program.';
+COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociationMeetingTime.BeginDate IS 'The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.';
COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociationMeetingTime.EducationOrganizationId IS 'The identifier assigned to an education organization.';
COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociationMeetingTime.ProgramEducationOrganizationId IS 'The identifier assigned to an education organization.';
COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociationMeetingTime.ProgramName IS 'The formal name of the program of instruction, training, services, or benefits available through federal, state, or local agencies.';
@@ -27,3 +27,4 @@ COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationP
COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociationMeetingTime.StudentUSI IS 'A unique alphanumeric code assigned to a student.';
COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociationMeetingTime.EndTime IS 'An indication of the time of day the meeting time ends.';
COMMENT ON COLUMN samplealternativeeducationprogram.StudentAlternativeEducationProgramAssociationMeetingTime.StartTime IS 'An indication of the time of day the meeting time begins.';
+
diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/1410-EXTENSION-SampleAlternativeEducationProgram-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/1410-EXTENSION-SampleAlternativeEducationProgram-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql
new file mode 100644
index 0000000000..9439e72f71
--- /dev/null
+++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/1410-EXTENSION-SampleAlternativeEducationProgram-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql
@@ -0,0 +1,5 @@
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
+
diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/1465-EXTENSION-SampleAlternativeEducationProgram-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/1465-EXTENSION-SampleAlternativeEducationProgram-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql
new file mode 100644
index 0000000000..9439e72f71
--- /dev/null
+++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/1465-EXTENSION-SampleAlternativeEducationProgram-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql
@@ -0,0 +1,5 @@
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
+
diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0010-CreateChangesSchema.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0010-CreateChangesSchema.sql
index 1d79f65f30..9db97ab9ca 100644
--- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0010-CreateChangesSchema.sql
+++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0010-CreateChangesSchema.sql
@@ -1,7 +1,7 @@
-// SPDX-License-Identifier: Apache-2.0
-// Licensed to the Ed-Fi Alliance under one or more agreements.
-// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
-// See the LICENSE and NOTICES files in the project root for more information.
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
DO $$
BEGIN
@@ -15,4 +15,4 @@ BEGIN
END IF;
END
-$$;
+$$;
\ No newline at end of file
diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0020-CreateChangeVersionSequence.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0020-CreateChangeVersionSequence.sql
index 4ad3a47ab5..ed492b3484 100644
--- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0020-CreateChangeVersionSequence.sql
+++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0020-CreateChangeVersionSequence.sql
@@ -1,7 +1,7 @@
-// SPDX-License-Identifier: Apache-2.0
-// Licensed to the Ed-Fi Alliance under one or more agreements.
-// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
-// See the LICENSE and NOTICES files in the project root for more information.
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
CREATE SEQUENCE IF NOT EXISTS changes.ChangeVersionSequence START WITH 1;
diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql
index dc5e755454..cc41a4e908 100644
--- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql
+++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql
@@ -1,7 +1,7 @@
-// SPDX-License-Identifier: Apache-2.0
-// Licensed to the Ed-Fi Alliance under one or more agreements.
-// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
-// See the LICENSE and NOTICES files in the project root for more information.
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
DO $$
BEGIN
diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql
index f9649e3e8e..43a6a1ade9 100644
--- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql
+++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/PostgreSQL/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql
@@ -1,7 +1,7 @@
-// SPDX-License-Identifier: Apache-2.0
-// Licensed to the Ed-Fi Alliance under one or more agreements.
-// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
-// See the LICENSE and NOTICES files in the project root for more information.
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
DO $$
BEGIN
diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0010-EXTENSION-SampleAlternativeEducationProgram-Schemas.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0010-EXTENSION-SampleAlternativeEducationProgram-Schemas.sql
index ea44619e8e..9a887a8c47 100644
--- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0010-EXTENSION-SampleAlternativeEducationProgram-Schemas.sql
+++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0010-EXTENSION-SampleAlternativeEducationProgram-Schemas.sql
@@ -1,7 +1,7 @@
-// SPDX-License-Identifier: Apache-2.0
-// Licensed to the Ed-Fi Alliance under one or more agreements.
-// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
-// See the LICENSE and NOTICES files in the project root for more information.
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = N'samplealternativeeducationprogram')
EXEC sys.sp_executesql N'CREATE SCHEMA [samplealternativeeducationprogram]'
diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0020-EXTENSION-SampleAlternativeEducationProgram-Tables.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0020-EXTENSION-SampleAlternativeEducationProgram-Tables.sql
index 89159241ca..e7a43b338a 100644
--- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0020-EXTENSION-SampleAlternativeEducationProgram-Tables.sql
+++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0020-EXTENSION-SampleAlternativeEducationProgram-Tables.sql
@@ -1,7 +1,7 @@
-// SPDX-License-Identifier: Apache-2.0
-// Licensed to the Ed-Fi Alliance under one or more agreements.
-// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
-// See the LICENSE and NOTICES files in the project root for more information.
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
-- Table [samplealternativeeducationprogram].[AlternativeEducationEligibilityReasonDescriptor] --
CREATE TABLE [samplealternativeeducationprogram].[AlternativeEducationEligibilityReasonDescriptor] (
@@ -57,3 +57,4 @@ CREATE TABLE [samplealternativeeducationprogram].[StudentAlternativeEducationPro
GO
ALTER TABLE [samplealternativeeducationprogram].[StudentAlternativeEducationProgramAssociationMeetingTime] ADD CONSTRAINT [StudentAlternativeEducationProgramAssociationMeetingTime_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate]
GO
+
diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0030-EXTENSION-SampleAlternativeEducationProgram-ForeignKeys.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0030-EXTENSION-SampleAlternativeEducationProgram-ForeignKeys.sql
index 899072a864..a4883c21b2 100644
--- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0030-EXTENSION-SampleAlternativeEducationProgram-ForeignKeys.sql
+++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0030-EXTENSION-SampleAlternativeEducationProgram-ForeignKeys.sql
@@ -1,7 +1,7 @@
-// SPDX-License-Identifier: Apache-2.0
-// Licensed to the Ed-Fi Alliance under one or more agreements.
-// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
-// See the LICENSE and NOTICES files in the project root for more information.
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
ALTER TABLE [samplealternativeeducationprogram].[AlternativeEducationEligibilityReasonDescriptor] WITH CHECK ADD CONSTRAINT [FK_AlternativeEducationEligibilityReasonDescriptor_Descriptor] FOREIGN KEY ([AlternativeEducationEligibilityReasonDescriptorId])
REFERENCES [edfi].[Descriptor] ([DescriptorId])
@@ -25,3 +25,4 @@ ALTER TABLE [samplealternativeeducationprogram].[StudentAlternativeEducationProg
REFERENCES [samplealternativeeducationprogram].[StudentAlternativeEducationProgramAssociation] ([BeginDate], [EducationOrganizationId], [ProgramEducationOrganizationId], [ProgramName], [ProgramTypeDescriptorId], [StudentUSI])
ON DELETE CASCADE
GO
+
diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0050-EXTENSION-SampleAlternativeEducationProgram-ExtendedProperties.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0050-EXTENSION-SampleAlternativeEducationProgram-ExtendedProperties.sql
index 326bf2fac4..a3f89a9090 100644
--- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0050-EXTENSION-SampleAlternativeEducationProgram-ExtendedProperties.sql
+++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/0050-EXTENSION-SampleAlternativeEducationProgram-ExtendedProperties.sql
@@ -1,7 +1,7 @@
-// SPDX-License-Identifier: Apache-2.0
-// Licensed to the Ed-Fi Alliance under one or more agreements.
-// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
-// See the LICENSE and NOTICES files in the project root for more information.
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
-- Extended Properties [samplealternativeeducationprogram].[AlternativeEducationEligibilityReasonDescriptor] --
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'This descriptor describes the reason a student is eligible for an Alternative Education Program', @level0type=N'SCHEMA', @level0name=N'samplealternativeeducationprogram', @level1type=N'TABLE', @level1name=N'AlternativeEducationEligibilityReasonDescriptor'
@@ -12,7 +12,7 @@ GO
-- Extended Properties [samplealternativeeducationprogram].[StudentAlternativeEducationProgramAssociation] --
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'This association represents Students in an Alternative Education Program.', @level0type=N'SCHEMA', @level0name=N'samplealternativeeducationprogram', @level1type=N'TABLE', @level1name=N'StudentAlternativeEducationProgramAssociation'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program.', @level0type=N'SCHEMA', @level0name=N'samplealternativeeducationprogram', @level1type=N'TABLE', @level1name=N'StudentAlternativeEducationProgramAssociation', @level2type=N'COLUMN', @level2name=N'BeginDate'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.', @level0type=N'SCHEMA', @level0name=N'samplealternativeeducationprogram', @level1type=N'TABLE', @level1name=N'StudentAlternativeEducationProgramAssociation', @level2type=N'COLUMN', @level2name=N'BeginDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'samplealternativeeducationprogram', @level1type=N'TABLE', @level1name=N'StudentAlternativeEducationProgramAssociation', @level2type=N'COLUMN', @level2name=N'EducationOrganizationId'
GO
@@ -30,7 +30,7 @@ GO
-- Extended Properties [samplealternativeeducationprogram].[StudentAlternativeEducationProgramAssociationMeetingTime] --
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The times at which this Alternative Education Program is scheduled to meet.', @level0type=N'SCHEMA', @level0name=N'samplealternativeeducationprogram', @level1type=N'TABLE', @level1name=N'StudentAlternativeEducationProgramAssociationMeetingTime'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program.', @level0type=N'SCHEMA', @level0name=N'samplealternativeeducationprogram', @level1type=N'TABLE', @level1name=N'StudentAlternativeEducationProgramAssociationMeetingTime', @level2type=N'COLUMN', @level2name=N'BeginDate'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.', @level0type=N'SCHEMA', @level0name=N'samplealternativeeducationprogram', @level1type=N'TABLE', @level1name=N'StudentAlternativeEducationProgramAssociationMeetingTime', @level2type=N'COLUMN', @level2name=N'BeginDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The identifier assigned to an education organization.', @level0type=N'SCHEMA', @level0name=N'samplealternativeeducationprogram', @level1type=N'TABLE', @level1name=N'StudentAlternativeEducationProgramAssociationMeetingTime', @level2type=N'COLUMN', @level2name=N'EducationOrganizationId'
GO
@@ -46,3 +46,4 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'An indication
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'An indication of the time of day the meeting time begins.', @level0type=N'SCHEMA', @level0name=N'samplealternativeeducationprogram', @level1type=N'TABLE', @level1name=N'StudentAlternativeEducationProgramAssociationMeetingTime', @level2type=N'COLUMN', @level2name=N'StartTime'
GO
+
diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/1410-EXTENSION-SampleAlternativeEducationProgram-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/1410-EXTENSION-SampleAlternativeEducationProgram-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql
new file mode 100644
index 0000000000..9439e72f71
--- /dev/null
+++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/1410-EXTENSION-SampleAlternativeEducationProgram-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql
@@ -0,0 +1,5 @@
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
+
diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/1465-EXTENSION-SampleAlternativeEducationProgram-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/1465-EXTENSION-SampleAlternativeEducationProgram-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql
new file mode 100644
index 0000000000..9439e72f71
--- /dev/null
+++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/1465-EXTENSION-SampleAlternativeEducationProgram-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql
@@ -0,0 +1,5 @@
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
+
diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0010-CreateChangesSchema.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0010-CreateChangesSchema.sql
index 12db7f76eb..ef9cc4b1d2 100644
--- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0010-CreateChangesSchema.sql
+++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0010-CreateChangesSchema.sql
@@ -1,7 +1,7 @@
-// SPDX-License-Identifier: Apache-2.0
-// Licensed to the Ed-Fi Alliance under one or more agreements.
-// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
-// See the LICENSE and NOTICES files in the project root for more information.
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = N'changes')
EXEC sys.sp_executesql N'CREATE SCHEMA [changes]'
diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0020-CreateChangeVersionSequence.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0020-CreateChangeVersionSequence.sql
index 3baff168a0..db090dba43 100644
--- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0020-CreateChangeVersionSequence.sql
+++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0020-CreateChangeVersionSequence.sql
@@ -1,7 +1,7 @@
-// SPDX-License-Identifier: Apache-2.0
-// Licensed to the Ed-Fi Alliance under one or more agreements.
-// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
-// See the LICENSE and NOTICES files in the project root for more information.
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
IF NOT EXISTS (SELECT * FROM sys.sequences WHERE object_id = OBJECT_ID(N'[changes].[ChangeVersionSequence]'))
BEGIN
diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql
index d9e7d058f0..8ab25c5738 100644
--- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql
+++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql
@@ -1,8 +1,9 @@
-// SPDX-License-Identifier: Apache-2.0
-// Licensed to the Ed-Fi Alliance under one or more agreements.
-// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
-// See the LICENSE and NOTICES files in the project root for more information.
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = N'tracked_changes_samplealternativeeducationprogram')
EXEC sys.sp_executesql N'CREATE SCHEMA [tracked_changes_samplealternativeeducationprogram]'
GO
+
diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql
index 558ea6bc6b..2c04cf3521 100644
--- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql
+++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Database/SQLServer/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql
@@ -1,7 +1,7 @@
-// SPDX-License-Identifier: Apache-2.0
-// Licensed to the Ed-Fi Alliance under one or more agreements.
-// The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
-// See the LICENSE and NOTICES files in the project root for more information.
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
DROP TRIGGER IF EXISTS [samplealternativeeducationprogram].[samplealternativeeducationprogram_AlternativeEducationEligibilityReasonDescriptor_TR_DeleteTracking]
GO
@@ -22,3 +22,5 @@ GO
ALTER TABLE [samplealternativeeducationprogram].[AlternativeEducationEligibilityReasonDescriptor] ENABLE TRIGGER [samplealternativeeducationprogram_AlternativeEducationEligibilityReasonDescriptor_TR_DeleteTracking]
GO
+
+
diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Interchange/EXTENSION-Interchange-Descriptors-Extension.xsd b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Interchange/EXTENSION-Interchange-Descriptors-Extension.xsd
index dc470ba528..5450d4ef9a 100644
--- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Interchange/EXTENSION-Interchange-Descriptors-Extension.xsd
+++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/Interchange/EXTENSION-Interchange-Descriptors-Extension.xsd
@@ -1,5 +1,5 @@
-
+
===== Descriptors Interchange Model =====
@@ -34,6 +34,7 @@ The Descriptor interchange is used to describe metadata about the descriptors an
+
@@ -61,7 +62,6 @@ The Descriptor interchange is used to describe metadata about the descriptors an
-
@@ -74,11 +74,13 @@ The Descriptor interchange is used to describe metadata about the descriptors an
-
+
+
+
@@ -90,10 +92,10 @@ The Descriptor interchange is used to describe metadata about the descriptors an
-
+
@@ -123,8 +125,8 @@ The Descriptor interchange is used to describe metadata about the descriptors an
-
+
@@ -144,9 +146,9 @@ The Descriptor interchange is used to describe metadata about the descriptors an
-
+
@@ -184,6 +186,7 @@ The Descriptor interchange is used to describe metadata about the descriptors an
+
@@ -200,7 +203,6 @@ The Descriptor interchange is used to describe metadata about the descriptors an
-
diff --git a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/XSD/EXTENSION-Ed-Fi-Extended-Core.xsd b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/XSD/EXTENSION-Ed-Fi-Extended-Core.xsd
index 69eec33b65..f7f0b19931 100644
--- a/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/XSD/EXTENSION-Ed-Fi-Extended-Core.xsd
+++ b/Samples/Extensions/AlternativeEducationProgram/AlternativeEducationProgramMetaEd/MetaEdOutput/SampleAlternativeEducationProgram/XSD/EXTENSION-Ed-Fi-Extended-Core.xsd
@@ -1,8 +1,8 @@
-
+
- ===== Ed-Fi 5.1.0 Extensions =====
+ ===== Ed-Fi 5.2.0 Extensions =====
===== Domain Entities =====
@@ -74,7 +74,7 @@
- The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program.
+ The earliest date the student is involved with the program. Typically, this is the date the student becomes eligible for the program. Note: Date interpretation may vary. Ed-Fi recommends inclusive dates, but states may define dates as inclusive or exclusive. For calculations, align with local guidelines.
diff --git a/Samples/Extensions/AlternativeEducationProgram/TestData/Descriptors.xml b/Samples/Extensions/AlternativeEducationProgram/TestData/Descriptors.xml
index 91feb7b7cd..386cce0845 100644
--- a/Samples/Extensions/AlternativeEducationProgram/TestData/Descriptors.xml
+++ b/Samples/Extensions/AlternativeEducationProgram/TestData/Descriptors.xml
@@ -1,5 +1,5 @@
-
+
Student intends to withdraw or has withdrawn before graduation
Student intends to withdraw or has withdrawn before graduation
diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/ApiMetadata/ApiModel-EXTENSION.json b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/ApiMetadata/ApiModel-EXTENSION.json
index c463986f69..1ef779f721 100644
--- a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/ApiMetadata/ApiModel-EXTENSION.json
+++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/ApiMetadata/ApiModel-EXTENSION.json
@@ -3,6 +3,7 @@
"schemaDefinition": {
"logicalName": "SampleStudentTranscript",
"physicalName": "samplestudenttranscript",
+ "description": "",
"version": "1.0.0"
},
"aggregateDefinitions": [
@@ -127,6 +128,7 @@
"propertyName": "AcceptanceIndicator",
"propertyType": {
"dbType": "Boolean",
+ "minLength": 0,
"maxLength": 0,
"precision": 0,
"scale": 0,
@@ -195,6 +197,7 @@
"propertyName": "NameOfInstitution",
"propertyType": {
"dbType": "String",
+ "minLength": 0,
"maxLength": 75,
"precision": 0,
"scale": 0,
@@ -760,7 +763,7 @@
{
"propertyName": "EducationOrganizationId",
"propertyType": {
- "dbType": "Int32",
+ "dbType": "Int64",
"maxLength": 0,
"precision": 10,
"scale": 0,
@@ -834,7 +837,7 @@
{
"propertyName": "EducationOrganizationId",
"propertyType": {
- "dbType": "Int32",
+ "dbType": "Int64",
"maxLength": 0,
"precision": 10,
"scale": 0,
@@ -923,6 +926,7 @@
"propertyName": "NameOfInstitution",
"propertyType": {
"dbType": "String",
+ "minLength": 0,
"maxLength": 75,
"precision": 0,
"scale": 0,
@@ -946,6 +950,7 @@
"propertyName": "NameOfInstitution",
"propertyType": {
"dbType": "String",
+ "minLength": 0,
"maxLength": 75,
"precision": 0,
"scale": 0,
@@ -982,7 +987,7 @@
{
"propertyName": "EducationOrganizationId",
"propertyType": {
- "dbType": "Int32",
+ "dbType": "Int64",
"maxLength": 0,
"precision": 10,
"scale": 0,
@@ -1056,7 +1061,7 @@
{
"propertyName": "EducationOrganizationId",
"propertyType": {
- "dbType": "Int32",
+ "dbType": "Int64",
"maxLength": 0,
"precision": 10,
"scale": 0,
@@ -1249,5 +1254,6 @@
},
"potentiallyLogical": false
}
- ]
+ ],
+ "edFiVersion": "5.2.0"
}
\ No newline at end of file
diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/0020-EXTENSION-SampleStudentTranscript-Tables.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/0020-EXTENSION-SampleStudentTranscript-Tables.sql
index 3e761bdc90..9d4974db5d 100644
--- a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/0020-EXTENSION-SampleStudentTranscript-Tables.sql
+++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/0020-EXTENSION-SampleStudentTranscript-Tables.sql
@@ -7,51 +7,51 @@
CREATE TABLE samplestudenttranscript.InstitutionControlDescriptor (
InstitutionControlDescriptorId INT NOT NULL,
CONSTRAINT InstitutionControlDescriptor_PK PRIMARY KEY (InstitutionControlDescriptorId)
-);
+);
-- Table samplestudenttranscript.InstitutionLevelDescriptor --
CREATE TABLE samplestudenttranscript.InstitutionLevelDescriptor (
InstitutionLevelDescriptorId INT NOT NULL,
CONSTRAINT InstitutionLevelDescriptor_PK PRIMARY KEY (InstitutionLevelDescriptorId)
-);
+);
-- Table samplestudenttranscript.PostSecondaryOrganization --
CREATE TABLE samplestudenttranscript.PostSecondaryOrganization (
NameOfInstitution VARCHAR(75) NOT NULL,
- InstitutionLevelDescriptorId INT NOT NULL,
- InstitutionControlDescriptorId INT NOT NULL,
AcceptanceIndicator BOOLEAN NOT NULL,
+ InstitutionControlDescriptorId INT NOT NULL,
+ InstitutionLevelDescriptorId INT NOT NULL,
Discriminator VARCHAR(128) NULL,
CreateDate TIMESTAMP NOT NULL,
LastModifiedDate TIMESTAMP NOT NULL,
Id UUID NOT NULL,
CONSTRAINT PostSecondaryOrganization_PK PRIMARY KEY (NameOfInstitution)
-);
-ALTER TABLE samplestudenttranscript.PostSecondaryOrganization ALTER COLUMN CreateDate SET DEFAULT current_timestamp;
+);
+ALTER TABLE samplestudenttranscript.PostSecondaryOrganization ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC';
ALTER TABLE samplestudenttranscript.PostSecondaryOrganization ALTER COLUMN Id SET DEFAULT gen_random_uuid();
-ALTER TABLE samplestudenttranscript.PostSecondaryOrganization ALTER COLUMN LastModifiedDate SET DEFAULT current_timestamp;
+ALTER TABLE samplestudenttranscript.PostSecondaryOrganization ALTER COLUMN LastModifiedDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC';
-- Table samplestudenttranscript.SpecialEducationGraduationStatusDescriptor --
CREATE TABLE samplestudenttranscript.SpecialEducationGraduationStatusDescriptor (
SpecialEducationGraduationStatusDescriptorId INT NOT NULL,
CONSTRAINT SpecialEducationGraduationStatusDescriptor_PK PRIMARY KEY (SpecialEducationGraduationStatusDescriptorId)
-);
+);
-- Table samplestudenttranscript.StudentAcademicRecordClassRankingExtension --
CREATE TABLE samplestudenttranscript.StudentAcademicRecordClassRankingExtension (
- EducationOrganizationId INT NOT NULL,
+ EducationOrganizationId BIGINT NOT NULL,
SchoolYear SMALLINT NOT NULL,
StudentUSI INT NOT NULL,
TermDescriptorId INT NOT NULL,
SpecialEducationGraduationStatusDescriptorId INT NOT NULL,
CreateDate TIMESTAMP NOT NULL,
CONSTRAINT StudentAcademicRecordClassRankingExtension_PK PRIMARY KEY (EducationOrganizationId, SchoolYear, StudentUSI, TermDescriptorId)
-);
-ALTER TABLE samplestudenttranscript.StudentAcademicRecordClassRankingExtension ALTER COLUMN CreateDate SET DEFAULT current_timestamp;
+);
+ALTER TABLE samplestudenttranscript.StudentAcademicRecordClassRankingExtension ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC';
-- Table samplestudenttranscript.StudentAcademicRecordExtension --
CREATE TABLE samplestudenttranscript.StudentAcademicRecordExtension (
- EducationOrganizationId INT NOT NULL,
+ EducationOrganizationId BIGINT NOT NULL,
SchoolYear SMALLINT NOT NULL,
StudentUSI INT NOT NULL,
TermDescriptorId INT NOT NULL,
@@ -59,12 +59,12 @@ CREATE TABLE samplestudenttranscript.StudentAcademicRecordExtension (
SubmissionCertificationDescriptorId INT NULL,
CreateDate TIMESTAMP NOT NULL,
CONSTRAINT StudentAcademicRecordExtension_PK PRIMARY KEY (EducationOrganizationId, SchoolYear, StudentUSI, TermDescriptorId)
-);
-ALTER TABLE samplestudenttranscript.StudentAcademicRecordExtension ALTER COLUMN CreateDate SET DEFAULT current_timestamp;
+);
+ALTER TABLE samplestudenttranscript.StudentAcademicRecordExtension ALTER COLUMN CreateDate SET DEFAULT current_timestamp AT TIME ZONE 'UTC';
-- Table samplestudenttranscript.SubmissionCertificationDescriptor --
CREATE TABLE samplestudenttranscript.SubmissionCertificationDescriptor (
SubmissionCertificationDescriptorId INT NOT NULL,
CONSTRAINT SubmissionCertificationDescriptor_PK PRIMARY KEY (SubmissionCertificationDescriptorId)
-);
+);
diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/0050-EXTENSION-SampleStudentTranscript-ExtendedProperties.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/0050-EXTENSION-SampleStudentTranscript-ExtendedProperties.sql
index b25467013f..8bf828cd39 100644
--- a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/0050-EXTENSION-SampleStudentTranscript-ExtendedProperties.sql
+++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/0050-EXTENSION-SampleStudentTranscript-ExtendedProperties.sql
@@ -14,9 +14,9 @@ COMMENT ON COLUMN samplestudenttranscript.InstitutionLevelDescriptor.Institution
-- Extended Properties [samplestudenttranscript].[PostSecondaryOrganization] --
COMMENT ON TABLE samplestudenttranscript.PostSecondaryOrganization IS 'PostSecondaryOrganization';
COMMENT ON COLUMN samplestudenttranscript.PostSecondaryOrganization.NameOfInstitution IS 'The name of the institution.';
-COMMENT ON COLUMN samplestudenttranscript.PostSecondaryOrganization.InstitutionLevelDescriptorId IS 'The level of the institution.';
-COMMENT ON COLUMN samplestudenttranscript.PostSecondaryOrganization.InstitutionControlDescriptorId IS 'The type of control of the institution (i.e., public or private).';
COMMENT ON COLUMN samplestudenttranscript.PostSecondaryOrganization.AcceptanceIndicator IS 'An indication of acceptance.';
+COMMENT ON COLUMN samplestudenttranscript.PostSecondaryOrganization.InstitutionControlDescriptorId IS 'The type of control of the institution (i.e., public or private).';
+COMMENT ON COLUMN samplestudenttranscript.PostSecondaryOrganization.InstitutionLevelDescriptorId IS 'The level of the institution.';
-- Extended Properties [samplestudenttranscript].[SpecialEducationGraduationStatusDescriptor] --
COMMENT ON TABLE samplestudenttranscript.SpecialEducationGraduationStatusDescriptor IS 'The graduation status for special education.';
diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/1410-EXTENSION-SampleStudentTranscript-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/1410-EXTENSION-SampleStudentTranscript-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql
new file mode 100644
index 0000000000..9439e72f71
--- /dev/null
+++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/1410-EXTENSION-SampleStudentTranscript-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql
@@ -0,0 +1,5 @@
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
+
diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/1460-EXTENSION-SampleStudentTranscript-AggregateIdColumns.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/1460-EXTENSION-SampleStudentTranscript-AggregateIdColumns.sql
new file mode 100644
index 0000000000..70bc230a58
--- /dev/null
+++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/1460-EXTENSION-SampleStudentTranscript-AggregateIdColumns.sql
@@ -0,0 +1,10 @@
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
+
+
+CREATE SEQUENCE samplestudenttranscript.PostSecondaryOrganization_aggseq START WITH -2147483648 INCREMENT BY 1 MINVALUE -2147483648;
+ALTER TABLE samplestudenttranscript.PostSecondaryOrganization ADD COLUMN AggregateId int NOT NULL DEFAULT nextval('samplestudenttranscript.PostSecondaryOrganization_aggseq'), ADD COLUMN AggregateData bytea;
+CREATE INDEX ix_PostSecondaryOrganization_aggid ON samplestudenttranscript.PostSecondaryOrganization (AggregateId);
+
diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/1465-EXTENSION-SampleStudentTranscript-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/1465-EXTENSION-SampleStudentTranscript-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql
new file mode 100644
index 0000000000..9439e72f71
--- /dev/null
+++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/1465-EXTENSION-SampleStudentTranscript-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql
@@ -0,0 +1,5 @@
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
+
diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/Changes/0030-AddColumnChangeVersionForTables.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/Changes/0030-AddColumnChangeVersionForTables.sql
index be31943499..035a1b0d46 100644
--- a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/Changes/0030-AddColumnChangeVersionForTables.sql
+++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/Changes/0030-AddColumnChangeVersionForTables.sql
@@ -3,6 +3,13 @@
-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
-- See the LICENSE and NOTICES files in the project root for more information.
-ALTER TABLE samplestudenttranscript.PostSecondaryOrganization
-ADD ChangeVersion BIGINT DEFAULT nextval('changes.ChangeVersionSequence') NOT NULL;
+-- For performance reasons on existing data sets, all existing records will start with ChangeVersion of 0.
+DO $$
+BEGIN
+IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_schema='samplestudenttranscript' AND table_name='postsecondaryorganization' AND column_name='changeversion') THEN
+ALTER TABLE samplestudenttranscript.PostSecondaryOrganization ADD ChangeVersion BIGINT DEFAULT (0) NOT NULL;
+ALTER TABLE samplestudenttranscript.PostSecondaryOrganization ALTER ChangeVersion SET DEFAULT nextval('changes.ChangeVersionSequence');
+END IF;
+END
+$$;
diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql
new file mode 100644
index 0000000000..2c52e308a3
--- /dev/null
+++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql
@@ -0,0 +1,27 @@
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
+
+DO $$
+BEGIN
+
+IF NOT EXISTS (SELECT 1 FROM information_schema.schemata WHERE schema_name = 'tracked_changes_samplestudenttranscript') THEN
+CREATE SCHEMA tracked_changes_samplestudenttranscript;
+END IF;
+
+IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_schema = 'tracked_changes_samplestudenttranscript' AND table_name = 'postsecondaryorganization') THEN
+CREATE TABLE tracked_changes_samplestudenttranscript.postsecondaryorganization
+(
+ oldnameofinstitution VARCHAR(75) NOT NULL,
+ newnameofinstitution VARCHAR(75) NULL,
+ id uuid NOT NULL,
+ changeversion bigint NOT NULL,
+ discriminator varchar(128) NULL,
+ createdate timestamp NOT NULL DEFAULT (now()),
+ CONSTRAINT postsecondaryorganization_pk PRIMARY KEY (ChangeVersion)
+);
+END IF;
+
+END
+$$;
diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql
new file mode 100644
index 0000000000..2c61851095
--- /dev/null
+++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql
@@ -0,0 +1,14 @@
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
+
+DO $$
+BEGIN
+IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'updatechangeversion' AND event_object_schema = 'samplestudenttranscript' AND event_object_table = 'postsecondaryorganization') THEN
+CREATE TRIGGER UpdateChangeVersion BEFORE UPDATE ON samplestudenttranscript.postsecondaryorganization
+ FOR EACH ROW EXECUTE PROCEDURE changes.UpdateChangeVersion();
+END IF;
+
+END
+$$;
diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql
new file mode 100644
index 0000000000..c4aa22817c
--- /dev/null
+++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/PostgreSQL/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql
@@ -0,0 +1,97 @@
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
+
+DO $$
+BEGIN
+CREATE OR REPLACE FUNCTION tracked_changes_samplestudenttranscript.institutioncontroldescriptor_deleted()
+ RETURNS trigger AS
+$BODY$
+BEGIN
+ INSERT INTO tracked_changes_edfi.descriptor(olddescriptorid, oldcodevalue, oldnamespace, id, discriminator, changeversion)
+ SELECT OLD.InstitutionControlDescriptorId, b.codevalue, b.namespace, b.id, 'samplestudenttranscript.InstitutionControlDescriptor', nextval('changes.ChangeVersionSequence')
+ FROM edfi.descriptor b WHERE old.InstitutionControlDescriptorId = b.descriptorid ;
+
+ RETURN NULL;
+END;
+$BODY$ LANGUAGE plpgsql;
+
+IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'trackdeletes' AND event_object_schema = 'samplestudenttranscript' AND event_object_table = 'institutioncontroldescriptor') THEN
+CREATE TRIGGER TrackDeletes AFTER DELETE ON samplestudenttranscript.institutioncontroldescriptor
+ FOR EACH ROW EXECUTE PROCEDURE tracked_changes_samplestudenttranscript.institutioncontroldescriptor_deleted();
+END IF;
+
+CREATE OR REPLACE FUNCTION tracked_changes_samplestudenttranscript.institutionleveldescriptor_deleted()
+ RETURNS trigger AS
+$BODY$
+BEGIN
+ INSERT INTO tracked_changes_edfi.descriptor(olddescriptorid, oldcodevalue, oldnamespace, id, discriminator, changeversion)
+ SELECT OLD.InstitutionLevelDescriptorId, b.codevalue, b.namespace, b.id, 'samplestudenttranscript.InstitutionLevelDescriptor', nextval('changes.ChangeVersionSequence')
+ FROM edfi.descriptor b WHERE old.InstitutionLevelDescriptorId = b.descriptorid ;
+
+ RETURN NULL;
+END;
+$BODY$ LANGUAGE plpgsql;
+
+IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'trackdeletes' AND event_object_schema = 'samplestudenttranscript' AND event_object_table = 'institutionleveldescriptor') THEN
+CREATE TRIGGER TrackDeletes AFTER DELETE ON samplestudenttranscript.institutionleveldescriptor
+ FOR EACH ROW EXECUTE PROCEDURE tracked_changes_samplestudenttranscript.institutionleveldescriptor_deleted();
+END IF;
+
+CREATE OR REPLACE FUNCTION tracked_changes_samplestudenttranscript.postsecondaryorganization_deleted()
+ RETURNS trigger AS
+$BODY$
+BEGIN
+ INSERT INTO tracked_changes_samplestudenttranscript.postsecondaryorganization(
+ oldnameofinstitution,
+ id, discriminator, changeversion)
+ VALUES (
+ OLD.nameofinstitution,
+ OLD.id, OLD.discriminator, nextval('changes.changeversionsequence'));
+
+ RETURN NULL;
+END;
+$BODY$ LANGUAGE plpgsql;
+
+IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'trackdeletes' AND event_object_schema = 'samplestudenttranscript' AND event_object_table = 'postsecondaryorganization') THEN
+CREATE TRIGGER TrackDeletes AFTER DELETE ON samplestudenttranscript.postsecondaryorganization
+ FOR EACH ROW EXECUTE PROCEDURE tracked_changes_samplestudenttranscript.postsecondaryorganization_deleted();
+END IF;
+
+CREATE OR REPLACE FUNCTION tracked_changes_samplestudenttranscript.specialeducationgraduationstatusdescriptor_deleted()
+ RETURNS trigger AS
+$BODY$
+BEGIN
+ INSERT INTO tracked_changes_edfi.descriptor(olddescriptorid, oldcodevalue, oldnamespace, id, discriminator, changeversion)
+ SELECT OLD.SpecialEducationGraduationStatusDescriptorId, b.codevalue, b.namespace, b.id, 'samplestudenttranscript.SpecialEducationGraduationStatusDescriptor', nextval('changes.ChangeVersionSequence')
+ FROM edfi.descriptor b WHERE old.SpecialEducationGraduationStatusDescriptorId = b.descriptorid ;
+
+ RETURN NULL;
+END;
+$BODY$ LANGUAGE plpgsql;
+
+IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'trackdeletes' AND event_object_schema = 'samplestudenttranscript' AND event_object_table = 'specialeducationgraduationstatusdescriptor') THEN
+CREATE TRIGGER TrackDeletes AFTER DELETE ON samplestudenttranscript.specialeducationgraduationstatusdescriptor
+ FOR EACH ROW EXECUTE PROCEDURE tracked_changes_samplestudenttranscript.specialeducationgraduationstatusdescriptor_deleted();
+END IF;
+
+CREATE OR REPLACE FUNCTION tracked_changes_samplestudenttranscript.submissioncertificationdescriptor_deleted()
+ RETURNS trigger AS
+$BODY$
+BEGIN
+ INSERT INTO tracked_changes_edfi.descriptor(olddescriptorid, oldcodevalue, oldnamespace, id, discriminator, changeversion)
+ SELECT OLD.SubmissionCertificationDescriptorId, b.codevalue, b.namespace, b.id, 'samplestudenttranscript.SubmissionCertificationDescriptor', nextval('changes.ChangeVersionSequence')
+ FROM edfi.descriptor b WHERE old.SubmissionCertificationDescriptorId = b.descriptorid ;
+
+ RETURN NULL;
+END;
+$BODY$ LANGUAGE plpgsql;
+
+IF NOT EXISTS(SELECT 1 FROM information_schema.triggers WHERE trigger_name = 'trackdeletes' AND event_object_schema = 'samplestudenttranscript' AND event_object_table = 'submissioncertificationdescriptor') THEN
+CREATE TRIGGER TrackDeletes AFTER DELETE ON samplestudenttranscript.submissioncertificationdescriptor
+ FOR EACH ROW EXECUTE PROCEDURE tracked_changes_samplestudenttranscript.submissioncertificationdescriptor_deleted();
+END IF;
+
+END
+$$;
diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/0020-EXTENSION-samplestudenttranscript-Tables.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/0020-EXTENSION-samplestudenttranscript-Tables.sql
index b12695830b..5852404222 100644
--- a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/0020-EXTENSION-samplestudenttranscript-Tables.sql
+++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/0020-EXTENSION-samplestudenttranscript-Tables.sql
@@ -24,9 +24,9 @@ GO
-- Table [samplestudenttranscript].[PostSecondaryOrganization] --
CREATE TABLE [samplestudenttranscript].[PostSecondaryOrganization] (
[NameOfInstitution] [NVARCHAR](75) NOT NULL,
- [InstitutionLevelDescriptorId] [INT] NOT NULL,
- [InstitutionControlDescriptorId] [INT] NOT NULL,
[AcceptanceIndicator] [BIT] NOT NULL,
+ [InstitutionControlDescriptorId] [INT] NOT NULL,
+ [InstitutionLevelDescriptorId] [INT] NOT NULL,
[Discriminator] [NVARCHAR](128) NULL,
[CreateDate] [DATETIME2] NOT NULL,
[LastModifiedDate] [DATETIME2] NOT NULL,
@@ -36,11 +36,11 @@ CREATE TABLE [samplestudenttranscript].[PostSecondaryOrganization] (
) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
-ALTER TABLE [samplestudenttranscript].[PostSecondaryOrganization] ADD CONSTRAINT [PostSecondaryOrganization_DF_CreateDate] DEFAULT (getdate()) FOR [CreateDate]
+ALTER TABLE [samplestudenttranscript].[PostSecondaryOrganization] ADD CONSTRAINT [PostSecondaryOrganization_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate]
GO
ALTER TABLE [samplestudenttranscript].[PostSecondaryOrganization] ADD CONSTRAINT [PostSecondaryOrganization_DF_Id] DEFAULT (newid()) FOR [Id]
GO
-ALTER TABLE [samplestudenttranscript].[PostSecondaryOrganization] ADD CONSTRAINT [PostSecondaryOrganization_DF_LastModifiedDate] DEFAULT (getdate()) FOR [LastModifiedDate]
+ALTER TABLE [samplestudenttranscript].[PostSecondaryOrganization] ADD CONSTRAINT [PostSecondaryOrganization_DF_LastModifiedDate] DEFAULT (getutcdate()) FOR [LastModifiedDate]
GO
-- Table [samplestudenttranscript].[SpecialEducationGraduationStatusDescriptor] --
@@ -54,7 +54,7 @@ GO
-- Table [samplestudenttranscript].[StudentAcademicRecordClassRankingExtension] --
CREATE TABLE [samplestudenttranscript].[StudentAcademicRecordClassRankingExtension] (
- [EducationOrganizationId] [INT] NOT NULL,
+ [EducationOrganizationId] [BIGINT] NOT NULL,
[SchoolYear] [SMALLINT] NOT NULL,
[StudentUSI] [INT] NOT NULL,
[TermDescriptorId] [INT] NOT NULL,
@@ -68,12 +68,12 @@ CREATE TABLE [samplestudenttranscript].[StudentAcademicRecordClassRankingExtensi
) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
-ALTER TABLE [samplestudenttranscript].[StudentAcademicRecordClassRankingExtension] ADD CONSTRAINT [StudentAcademicRecordClassRankingExtension_DF_CreateDate] DEFAULT (getdate()) FOR [CreateDate]
+ALTER TABLE [samplestudenttranscript].[StudentAcademicRecordClassRankingExtension] ADD CONSTRAINT [StudentAcademicRecordClassRankingExtension_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate]
GO
-- Table [samplestudenttranscript].[StudentAcademicRecordExtension] --
CREATE TABLE [samplestudenttranscript].[StudentAcademicRecordExtension] (
- [EducationOrganizationId] [INT] NOT NULL,
+ [EducationOrganizationId] [BIGINT] NOT NULL,
[SchoolYear] [SMALLINT] NOT NULL,
[StudentUSI] [INT] NOT NULL,
[TermDescriptorId] [INT] NOT NULL,
@@ -88,7 +88,7 @@ CREATE TABLE [samplestudenttranscript].[StudentAcademicRecordExtension] (
) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
-ALTER TABLE [samplestudenttranscript].[StudentAcademicRecordExtension] ADD CONSTRAINT [StudentAcademicRecordExtension_DF_CreateDate] DEFAULT (getdate()) FOR [CreateDate]
+ALTER TABLE [samplestudenttranscript].[StudentAcademicRecordExtension] ADD CONSTRAINT [StudentAcademicRecordExtension_DF_CreateDate] DEFAULT (getutcdate()) FOR [CreateDate]
GO
-- Table [samplestudenttranscript].[SubmissionCertificationDescriptor] --
diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/0050-EXTENSION-samplestudenttranscript-ExtendedProperties.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/0050-EXTENSION-samplestudenttranscript-ExtendedProperties.sql
index 6d4d68381d..c6883bf9b1 100644
--- a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/0050-EXTENSION-samplestudenttranscript-ExtendedProperties.sql
+++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/0050-EXTENSION-samplestudenttranscript-ExtendedProperties.sql
@@ -20,11 +20,11 @@ EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'PostSecondaryO
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The name of the institution.', @level0type=N'SCHEMA', @level0name=N'samplestudenttranscript', @level1type=N'TABLE', @level1name=N'PostSecondaryOrganization', @level2type=N'COLUMN', @level2name=N'NameOfInstitution'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The level of the institution.', @level0type=N'SCHEMA', @level0name=N'samplestudenttranscript', @level1type=N'TABLE', @level1name=N'PostSecondaryOrganization', @level2type=N'COLUMN', @level2name=N'InstitutionLevelDescriptorId'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'An indication of acceptance.', @level0type=N'SCHEMA', @level0name=N'samplestudenttranscript', @level1type=N'TABLE', @level1name=N'PostSecondaryOrganization', @level2type=N'COLUMN', @level2name=N'AcceptanceIndicator'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The type of control of the institution (i.e., public or private).', @level0type=N'SCHEMA', @level0name=N'samplestudenttranscript', @level1type=N'TABLE', @level1name=N'PostSecondaryOrganization', @level2type=N'COLUMN', @level2name=N'InstitutionControlDescriptorId'
GO
-EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'An indication of acceptance.', @level0type=N'SCHEMA', @level0name=N'samplestudenttranscript', @level1type=N'TABLE', @level1name=N'PostSecondaryOrganization', @level2type=N'COLUMN', @level2name=N'AcceptanceIndicator'
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'The level of the institution.', @level0type=N'SCHEMA', @level0name=N'samplestudenttranscript', @level1type=N'TABLE', @level1name=N'PostSecondaryOrganization', @level2type=N'COLUMN', @level2name=N'InstitutionLevelDescriptorId'
GO
-- Extended Properties [samplestudenttranscript].[SpecialEducationGraduationStatusDescriptor] --
diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/1410-EXTENSION-SampleStudentTranscript-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/1410-EXTENSION-SampleStudentTranscript-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql
new file mode 100644
index 0000000000..9439e72f71
--- /dev/null
+++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/1410-EXTENSION-SampleStudentTranscript-CreateIndex-EdOrgIdsRelationship-AuthPerformance.sql
@@ -0,0 +1,5 @@
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
+
diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/1460-EXTENSION-SampleStudentTranscript-AggregateIdColumns.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/1460-EXTENSION-SampleStudentTranscript-AggregateIdColumns.sql
new file mode 100644
index 0000000000..3ed75199ba
--- /dev/null
+++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/1460-EXTENSION-SampleStudentTranscript-AggregateIdColumns.sql
@@ -0,0 +1,9 @@
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
+
+CREATE SEQUENCE [samplestudenttranscript].[PostSecondaryOrganization_AggSeq] START WITH -2147483648 INCREMENT BY 1;
+ALTER TABLE [samplestudenttranscript].[PostSecondaryOrganization] ADD AggregateId int NOT NULL DEFAULT NEXT VALUE FOR [samplestudenttranscript].[PostSecondaryOrganization_AggSeq], AggregateData varbinary(8000);
+CREATE INDEX [IX_PostSecondaryOrganization_AggregateId] ON [samplestudenttranscript].[PostSecondaryOrganization] (AggregateId);
+
diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/1465-EXTENSION-SampleStudentTranscript-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/1465-EXTENSION-SampleStudentTranscript-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql
new file mode 100644
index 0000000000..9439e72f71
--- /dev/null
+++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/1465-EXTENSION-SampleStudentTranscript-UpdateIndex-EdOrgIdsRelationship-AuthPerformance.sql
@@ -0,0 +1,5 @@
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
+
diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0020-CreateChangeVersionSequence.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0020-CreateChangeVersionSequence.sql
index 16d98b28cb..db090dba43 100644
--- a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0020-CreateChangeVersionSequence.sql
+++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0020-CreateChangeVersionSequence.sql
@@ -5,6 +5,6 @@
IF NOT EXISTS (SELECT * FROM sys.sequences WHERE object_id = OBJECT_ID(N'[changes].[ChangeVersionSequence]'))
BEGIN
-CREATE SEQUENCE [changes].[ChangeVersionSequence] START WITH 0
+CREATE SEQUENCE [changes].[ChangeVersionSequence] START WITH 1
END
GO
diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0030-AddColumnChangeVersionForTables.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0030-AddColumnChangeVersionForTables.sql
index faf64144fd..b0168551db 100644
--- a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0030-AddColumnChangeVersionForTables.sql
+++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0030-AddColumnChangeVersionForTables.sql
@@ -3,5 +3,13 @@
-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
-- See the LICENSE and NOTICES files in the project root for more information.
-ALTER TABLE [samplestudenttranscript].[PostSecondaryOrganization] ADD [ChangeVersion] [BIGINT] DEFAULT (NEXT VALUE FOR [changes].[ChangeVersionSequence]) NOT NULL;
+
+-- For performance reasons on existing data sets, all existing records will start with ChangeVersion of 0.
+IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'[samplestudenttranscript].[PostSecondaryOrganization]') AND name = 'ChangeVersion')
+BEGIN
+ALTER TABLE [samplestudenttranscript].[PostSecondaryOrganization] ADD [ChangeVersion] [BIGINT] CONSTRAINT PostSecondaryOrganization_DF_ChangeVersion DEFAULT (0) NOT NULL;
+ALTER TABLE [samplestudenttranscript].[PostSecondaryOrganization] DROP CONSTRAINT PostSecondaryOrganization_DF_ChangeVersion;
+ALTER TABLE [samplestudenttranscript].[PostSecondaryOrganization] ADD CONSTRAINT PostSecondaryOrganization_DF_ChangeVersion DEFAULT (NEXT VALUE FOR [changes].[ChangeVersionSequence]) For [ChangeVersion];
+END
+
diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql
new file mode 100644
index 0000000000..61bac999ac
--- /dev/null
+++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0200-CreateTrackedChangeTables.sql
@@ -0,0 +1,20 @@
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
+
+IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = N'tracked_changes_samplestudenttranscript')
+EXEC sys.sp_executesql N'CREATE SCHEMA [tracked_changes_samplestudenttranscript]'
+GO
+
+IF NOT EXISTS (SELECT * FROM sys.tables WHERE object_id = OBJECT_ID(N'[tracked_changes_samplestudenttranscript].[PostSecondaryOrganization]'))
+CREATE TABLE [tracked_changes_samplestudenttranscript].[PostSecondaryOrganization]
+(
+ OldNameOfInstitution [NVARCHAR](75) NOT NULL,
+ NewNameOfInstitution [NVARCHAR](75) NULL,
+ Id uniqueidentifier NOT NULL,
+ ChangeVersion bigint NOT NULL,
+ Discriminator [NVARCHAR](128) NULL,
+ CreateDate DateTime2 NOT NULL DEFAULT (getutcdate()),
+ CONSTRAINT PK_PostSecondaryOrganization PRIMARY KEY CLUSTERED (ChangeVersion)
+)
diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql
new file mode 100644
index 0000000000..f29f07b627
--- /dev/null
+++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0210-CreateTriggersForChangeVersionAndKeyChanges.sql
@@ -0,0 +1,18 @@
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
+
+DROP TRIGGER IF EXISTS [samplestudenttranscript].[samplestudenttranscript_PostSecondaryOrganization_TR_UpdateChangeVersion]
+GO
+
+CREATE TRIGGER [samplestudenttranscript].[samplestudenttranscript_PostSecondaryOrganization_TR_UpdateChangeVersion] ON [samplestudenttranscript].[PostSecondaryOrganization] AFTER UPDATE AS
+BEGIN
+ SET NOCOUNT ON;
+ UPDATE [samplestudenttranscript].[PostSecondaryOrganization]
+ SET ChangeVersion = (NEXT VALUE FOR [changes].[ChangeVersionSequence])
+ FROM [samplestudenttranscript].[PostSecondaryOrganization] u
+ WHERE EXISTS (SELECT 1 FROM inserted i WHERE i.id = u.id);
+END
+GO
+
diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql
new file mode 100644
index 0000000000..fa307c00b9
--- /dev/null
+++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Database/SQLServer/ODS/Structure/Changes/0220-CreateTriggersForDeleteTracking.sql
@@ -0,0 +1,109 @@
+-- SPDX-License-Identifier: Apache-2.0
+-- Licensed to the Ed-Fi Alliance under one or more agreements.
+-- The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+-- See the LICENSE and NOTICES files in the project root for more information.
+
+DROP TRIGGER IF EXISTS [samplestudenttranscript].[samplestudenttranscript_InstitutionControlDescriptor_TR_DeleteTracking]
+GO
+
+CREATE TRIGGER [samplestudenttranscript].[samplestudenttranscript_InstitutionControlDescriptor_TR_DeleteTracking] ON [samplestudenttranscript].[InstitutionControlDescriptor] AFTER DELETE AS
+BEGIN
+ IF @@rowcount = 0
+ RETURN
+
+ SET NOCOUNT ON
+
+ INSERT INTO [tracked_changes_edfi].[Descriptor](OldDescriptorId, OldCodeValue, OldNamespace, Id, Discriminator, ChangeVersion)
+ SELECT d.InstitutionControlDescriptorId, b.CodeValue, b.Namespace, b.Id, 'samplestudenttranscript.InstitutionControlDescriptor', (NEXT VALUE FOR [changes].[ChangeVersionSequence])
+ FROM deleted d
+ INNER JOIN edfi.Descriptor b ON d.InstitutionControlDescriptorId = b.DescriptorId
+END
+GO
+
+ALTER TABLE [samplestudenttranscript].[InstitutionControlDescriptor] ENABLE TRIGGER [samplestudenttranscript_InstitutionControlDescriptor_TR_DeleteTracking]
+GO
+
+
+DROP TRIGGER IF EXISTS [samplestudenttranscript].[samplestudenttranscript_InstitutionLevelDescriptor_TR_DeleteTracking]
+GO
+
+CREATE TRIGGER [samplestudenttranscript].[samplestudenttranscript_InstitutionLevelDescriptor_TR_DeleteTracking] ON [samplestudenttranscript].[InstitutionLevelDescriptor] AFTER DELETE AS
+BEGIN
+ IF @@rowcount = 0
+ RETURN
+
+ SET NOCOUNT ON
+
+ INSERT INTO [tracked_changes_edfi].[Descriptor](OldDescriptorId, OldCodeValue, OldNamespace, Id, Discriminator, ChangeVersion)
+ SELECT d.InstitutionLevelDescriptorId, b.CodeValue, b.Namespace, b.Id, 'samplestudenttranscript.InstitutionLevelDescriptor', (NEXT VALUE FOR [changes].[ChangeVersionSequence])
+ FROM deleted d
+ INNER JOIN edfi.Descriptor b ON d.InstitutionLevelDescriptorId = b.DescriptorId
+END
+GO
+
+ALTER TABLE [samplestudenttranscript].[InstitutionLevelDescriptor] ENABLE TRIGGER [samplestudenttranscript_InstitutionLevelDescriptor_TR_DeleteTracking]
+GO
+
+
+DROP TRIGGER IF EXISTS [samplestudenttranscript].[samplestudenttranscript_PostSecondaryOrganization_TR_DeleteTracking]
+GO
+
+CREATE TRIGGER [samplestudenttranscript].[samplestudenttranscript_PostSecondaryOrganization_TR_DeleteTracking] ON [samplestudenttranscript].[PostSecondaryOrganization] AFTER DELETE AS
+BEGIN
+ IF @@rowcount = 0
+ RETURN
+
+ SET NOCOUNT ON
+
+ INSERT INTO [tracked_changes_samplestudenttranscript].[PostSecondaryOrganization](OldNameOfInstitution, Id, Discriminator, ChangeVersion)
+ SELECT d.NameOfInstitution, d.Id, d.Discriminator, (NEXT VALUE FOR [changes].[ChangeVersionSequence])
+ FROM deleted d
+END
+GO
+
+ALTER TABLE [samplestudenttranscript].[PostSecondaryOrganization] ENABLE TRIGGER [samplestudenttranscript_PostSecondaryOrganization_TR_DeleteTracking]
+GO
+
+
+DROP TRIGGER IF EXISTS [samplestudenttranscript].[samplestudenttranscript_SpecialEducationGraduationStatusDescriptor_TR_DeleteTracking]
+GO
+
+CREATE TRIGGER [samplestudenttranscript].[samplestudenttranscript_SpecialEducationGraduationStatusDescriptor_TR_DeleteTracking] ON [samplestudenttranscript].[SpecialEducationGraduationStatusDescriptor] AFTER DELETE AS
+BEGIN
+ IF @@rowcount = 0
+ RETURN
+
+ SET NOCOUNT ON
+
+ INSERT INTO [tracked_changes_edfi].[Descriptor](OldDescriptorId, OldCodeValue, OldNamespace, Id, Discriminator, ChangeVersion)
+ SELECT d.SpecialEducationGraduationStatusDescriptorId, b.CodeValue, b.Namespace, b.Id, 'samplestudenttranscript.SpecialEducationGraduationStatusDescriptor', (NEXT VALUE FOR [changes].[ChangeVersionSequence])
+ FROM deleted d
+ INNER JOIN edfi.Descriptor b ON d.SpecialEducationGraduationStatusDescriptorId = b.DescriptorId
+END
+GO
+
+ALTER TABLE [samplestudenttranscript].[SpecialEducationGraduationStatusDescriptor] ENABLE TRIGGER [samplestudenttranscript_SpecialEducationGraduationStatusDescriptor_TR_DeleteTracking]
+GO
+
+
+DROP TRIGGER IF EXISTS [samplestudenttranscript].[samplestudenttranscript_SubmissionCertificationDescriptor_TR_DeleteTracking]
+GO
+
+CREATE TRIGGER [samplestudenttranscript].[samplestudenttranscript_SubmissionCertificationDescriptor_TR_DeleteTracking] ON [samplestudenttranscript].[SubmissionCertificationDescriptor] AFTER DELETE AS
+BEGIN
+ IF @@rowcount = 0
+ RETURN
+
+ SET NOCOUNT ON
+
+ INSERT INTO [tracked_changes_edfi].[Descriptor](OldDescriptorId, OldCodeValue, OldNamespace, Id, Discriminator, ChangeVersion)
+ SELECT d.SubmissionCertificationDescriptorId, b.CodeValue, b.Namespace, b.Id, 'samplestudenttranscript.SubmissionCertificationDescriptor', (NEXT VALUE FOR [changes].[ChangeVersionSequence])
+ FROM deleted d
+ INNER JOIN edfi.Descriptor b ON d.SubmissionCertificationDescriptorId = b.DescriptorId
+END
+GO
+
+ALTER TABLE [samplestudenttranscript].[SubmissionCertificationDescriptor] ENABLE TRIGGER [samplestudenttranscript_SubmissionCertificationDescriptor_TR_DeleteTracking]
+GO
+
+
diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Interchange/EXTENSION-Interchange-Descriptors-Extension.xsd b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Interchange/EXTENSION-Interchange-Descriptors-Extension.xsd
index 95495f2dee..2e304cdb53 100644
--- a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Interchange/EXTENSION-Interchange-Descriptors-Extension.xsd
+++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Interchange/EXTENSION-Interchange-Descriptors-Extension.xsd
@@ -1,5 +1,5 @@
-
+
===== Descriptors Interchange Model =====
@@ -15,7 +15,7 @@ The Descriptor interchange is used to describe metadata about the descriptors an
-
+
@@ -28,9 +28,13 @@ The Descriptor interchange is used to describe metadata about the descriptors an
+
+
+
+
@@ -57,7 +61,7 @@ The Descriptor interchange is used to describe metadata about the descriptors an
-
+
@@ -69,26 +73,37 @@ The Descriptor interchange is used to describe metadata about the descriptors an
-
+
+
+
+
+
+
+
+
+
-
+
+
+
+
@@ -96,6 +111,8 @@ The Descriptor interchange is used to describe metadata about the descriptors an
+
+
@@ -108,17 +125,18 @@ The Descriptor interchange is used to describe metadata about the descriptors an
-
+
+
-
+
@@ -128,12 +146,17 @@ The Descriptor interchange is used to describe metadata about the descriptors an
-
+
+
+
+
+
+
@@ -144,12 +167,14 @@ The Descriptor interchange is used to describe metadata about the descriptors an
+
+
@@ -157,15 +182,19 @@ The Descriptor interchange is used to describe metadata about the descriptors an
+
+
+
+
@@ -174,7 +203,8 @@ The Descriptor interchange is used to describe metadata about the descriptors an
-
+
+
@@ -185,6 +215,10 @@ The Descriptor interchange is used to describe metadata about the descriptors an
+
+
+
+
diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Interchange/EXTENSION-Interchange-StudentTranscript-Extension.xsd b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Interchange/EXTENSION-Interchange-StudentTranscript-Extension.xsd
index 90fc057c15..de38171624 100644
--- a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Interchange/EXTENSION-Interchange-StudentTranscript-Extension.xsd
+++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/Interchange/EXTENSION-Interchange-StudentTranscript-Extension.xsd
@@ -1,5 +1,5 @@
-
+
===== Student Transcript Interchange Model =====
diff --git a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/XSD/EXTENSION-Ed-Fi-Extended-Core.xsd b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/XSD/EXTENSION-Ed-Fi-Extended-Core.xsd
index c6eef09503..33c8896605 100644
--- a/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/XSD/EXTENSION-Ed-Fi-Extended-Core.xsd
+++ b/Samples/Extensions/StudentTranscript/StudentTranscriptMetaEd/MetaEdOutput/SampleStudentTranscript/XSD/EXTENSION-Ed-Fi-Extended-Core.xsd
@@ -1,8 +1,8 @@
-
+
- ===== Ed-Fi 3.3.1-b Extensions =====
+ ===== Ed-Fi 5.2.0 Extensions =====
===== Domain Entities =====
@@ -93,22 +93,7 @@
- The cumulative number of credits an individual attempts to earn by taking courses during his or her enrollment in the current school as well as those credits transferred from schools in which the individual had been previously enrolled.
-
-
-
-
- The cumulative number of grade points an individual earns by successfully completing courses or examinations during his or her enrollment in the current school as well as those transferred from schools in which the individual had been previously enrolled.
-
-
-
-
- A measure of average performance in all courses taken by an individual during his or her school career as determined for record-keeping purposes. This is obtained by dividing the total grade points received by the total number of credits attempted. This usually includes grade points received and credits attempted in his or her current school as well as those transferred from schools in which the individual was previously enrolled.
-
-
-
-
- The scale of equivalents, if applicable, for grades awarded as indicators of performance in schoolwork. For example, numerical equivalents for letter grades used in determining a student's Grade Point Average (A=4, B=3, C=2, D=1 in a four-point system) or letter equivalents for percentage grades (90-100%=A, 80-90%=B, etc.)
+ The total number of credits a student has earned plus the total number of credits the student has attempted but not earned from distinct courses. This includes credits attempted and earned from all schools the student has been enrolled.
@@ -136,16 +121,6 @@
The number of credits an individual attempted to earn in this session.
-
-
- The number of grade points an individual earned for this session.
-
-
-
-
- The grade point average for an individual computed as the grade points earned during the session divided by the number of credits attempted.
-
-
The grade point average for an individual computed as the grade points earned divided by the number of credits attempted.
@@ -158,7 +133,7 @@
- Identifies the student who is associated with the StudentAcademicRecord.
+ Identifies the student who is associated with the student academic record.
diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Controllers_Controllers.generated.approved.cs b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Controllers_Controllers.generated.approved.cs
index 41cba909a6..b764c743c4 100644
--- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Controllers_Controllers.generated.approved.cs
+++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Controllers_Controllers.generated.approved.cs
@@ -576,6 +576,41 @@ protected override void MapAll(Api.Common.Models.Requests.AssessmentAdministrati
}
}
+namespace EdFi.Ods.Api.Services.Controllers.AssessmentAdministrationParticipations.EdFi
+{
+ [ApiExplorerSettings(IgnoreApi = true)]
+ [ExcludeFromCodeCoverage]
+ [ApiController]
+ [Authorize]
+ [ApplyOdsRouteRootTemplate, Route($"{RouteConstants.DataManagementRoutePrefix}/ed-fi/assessmentAdministrationParticipations")]
+ public partial class AssessmentAdministrationParticipationsController : DataManagementControllerBase<
+ Api.Common.Models.Resources.AssessmentAdministrationParticipation.EdFi.AssessmentAdministrationParticipation,
+ Entities.Common.EdFi.IAssessmentAdministrationParticipation,
+ Entities.NHibernate.AssessmentAdministrationParticipationAggregate.EdFi.AssessmentAdministrationParticipation,
+ Api.Common.Models.Requests.AssessmentAdministrationParticipations.EdFi.AssessmentAdministrationParticipationPut,
+ Api.Common.Models.Requests.AssessmentAdministrationParticipations.EdFi.AssessmentAdministrationParticipationPost,
+ Api.Common.Models.Requests.AssessmentAdministrationParticipations.EdFi.AssessmentAdministrationParticipationDelete,
+ Api.Common.Models.Requests.AssessmentAdministrationParticipations.EdFi.AssessmentAdministrationParticipationGetByExample>
+ {
+ public AssessmentAdministrationParticipationsController(IPipelineFactory pipelineFactory, IEdFiProblemDetailsProvider problemDetailsProvider, IDefaultPageSizeLimitProvider defaultPageSizeLimitProvider, ApiSettings apiSettings, IContextProvider profileContentTypeContextProvider, IContextProvider dataManagementResourceContextProvider, ILogContextAccessor logContextAccessor)
+ : base(pipelineFactory, problemDetailsProvider, defaultPageSizeLimitProvider, apiSettings, profileContentTypeContextProvider, dataManagementResourceContextProvider, logContextAccessor)
+ {
+ }
+
+ protected override void MapAll(Api.Common.Models.Requests.AssessmentAdministrationParticipations.EdFi.AssessmentAdministrationParticipationGetByExample request, Entities.Common.EdFi.IAssessmentAdministrationParticipation specification)
+ {
+ // Copy all existing values
+ specification.SuspendReferenceAssignmentCheck();
+ specification.AdministrationIdentifier = request.AdministrationIdentifier;
+ specification.AssessmentIdentifier = request.AssessmentIdentifier;
+ specification.AssigningEducationOrganizationId = request.AssigningEducationOrganizationId;
+ specification.Id = request.Id;
+ specification.Namespace = request.Namespace;
+ specification.ParticipatingEducationOrganizationId = request.ParticipatingEducationOrganizationId;
+ }
+ }
+}
+
namespace EdFi.Ods.Api.Services.Controllers.AssessmentBatteryParts.EdFi
{
[ApiExplorerSettings(IgnoreApi = true)]
@@ -907,41 +942,6 @@ protected override void MapAll(Api.Common.Models.Requests.AssessmentScoreRangeLe
}
}
-namespace EdFi.Ods.Api.Services.Controllers.AssesssmentAdministrationParticipations.EdFi
-{
- [ApiExplorerSettings(IgnoreApi = true)]
- [ExcludeFromCodeCoverage]
- [ApiController]
- [Authorize]
- [ApplyOdsRouteRootTemplate, Route($"{RouteConstants.DataManagementRoutePrefix}/ed-fi/assesssmentAdministrationParticipations")]
- public partial class AssesssmentAdministrationParticipationsController : DataManagementControllerBase<
- Api.Common.Models.Resources.AssesssmentAdministrationParticipation.EdFi.AssesssmentAdministrationParticipation,
- Entities.Common.EdFi.IAssesssmentAdministrationParticipation,
- Entities.NHibernate.AssesssmentAdministrationParticipationAggregate.EdFi.AssesssmentAdministrationParticipation,
- Api.Common.Models.Requests.AssesssmentAdministrationParticipations.EdFi.AssesssmentAdministrationParticipationPut,
- Api.Common.Models.Requests.AssesssmentAdministrationParticipations.EdFi.AssesssmentAdministrationParticipationPost,
- Api.Common.Models.Requests.AssesssmentAdministrationParticipations.EdFi.AssesssmentAdministrationParticipationDelete,
- Api.Common.Models.Requests.AssesssmentAdministrationParticipations.EdFi.AssesssmentAdministrationParticipationGetByExample>
- {
- public AssesssmentAdministrationParticipationsController(IPipelineFactory pipelineFactory, IEdFiProblemDetailsProvider problemDetailsProvider, IDefaultPageSizeLimitProvider defaultPageSizeLimitProvider, ApiSettings apiSettings, IContextProvider profileContentTypeContextProvider, IContextProvider dataManagementResourceContextProvider, ILogContextAccessor logContextAccessor)
- : base(pipelineFactory, problemDetailsProvider, defaultPageSizeLimitProvider, apiSettings, profileContentTypeContextProvider, dataManagementResourceContextProvider, logContextAccessor)
- {
- }
-
- protected override void MapAll(Api.Common.Models.Requests.AssesssmentAdministrationParticipations.EdFi.AssesssmentAdministrationParticipationGetByExample request, Entities.Common.EdFi.IAssesssmentAdministrationParticipation specification)
- {
- // Copy all existing values
- specification.SuspendReferenceAssignmentCheck();
- specification.AdministrationIdentifier = request.AdministrationIdentifier;
- specification.AssessmentIdentifier = request.AssessmentIdentifier;
- specification.AssigningEducationOrganizationId = request.AssigningEducationOrganizationId;
- specification.Id = request.Id;
- specification.Namespace = request.Namespace;
- specification.ParticipatingEducationOrganizationId = request.ParticipatingEducationOrganizationId;
- }
- }
-}
-
namespace EdFi.Ods.Api.Services.Controllers.AssignmentLateStatusDescriptors.EdFi
{
[ApiExplorerSettings(IgnoreApi = true)]
@@ -3422,6 +3422,80 @@ protected override void MapAll(Api.Common.Models.Requests.DisplacedStudentStatus
}
}
+namespace EdFi.Ods.Api.Services.Controllers.DualCreditInstitutionDescriptors.EdFi
+{
+ [ApiExplorerSettings(IgnoreApi = true)]
+ [ExcludeFromCodeCoverage]
+ [ApiController]
+ [Authorize]
+ [ApplyOdsRouteRootTemplate, Route($"{RouteConstants.DataManagementRoutePrefix}/ed-fi/dualCreditInstitutionDescriptors")]
+ public partial class DualCreditInstitutionDescriptorsController : DataManagementControllerBase<
+ Api.Common.Models.Resources.DualCreditInstitutionDescriptor.EdFi.DualCreditInstitutionDescriptor,
+ Entities.Common.EdFi.IDualCreditInstitutionDescriptor,
+ Entities.NHibernate.DualCreditInstitutionDescriptorAggregate.EdFi.DualCreditInstitutionDescriptor,
+ Api.Common.Models.Requests.DualCreditInstitutionDescriptors.EdFi.DualCreditInstitutionDescriptorPut,
+ Api.Common.Models.Requests.DualCreditInstitutionDescriptors.EdFi.DualCreditInstitutionDescriptorPost,
+ Api.Common.Models.Requests.DualCreditInstitutionDescriptors.EdFi.DualCreditInstitutionDescriptorDelete,
+ Api.Common.Models.Requests.DualCreditInstitutionDescriptors.EdFi.DualCreditInstitutionDescriptorGetByExample>
+ {
+ public DualCreditInstitutionDescriptorsController(IPipelineFactory pipelineFactory, IEdFiProblemDetailsProvider problemDetailsProvider, IDefaultPageSizeLimitProvider defaultPageSizeLimitProvider, ApiSettings apiSettings, IContextProvider profileContentTypeContextProvider, IContextProvider dataManagementResourceContextProvider, ILogContextAccessor logContextAccessor)
+ : base(pipelineFactory, problemDetailsProvider, defaultPageSizeLimitProvider, apiSettings, profileContentTypeContextProvider, dataManagementResourceContextProvider, logContextAccessor)
+ {
+ }
+
+ protected override void MapAll(Api.Common.Models.Requests.DualCreditInstitutionDescriptors.EdFi.DualCreditInstitutionDescriptorGetByExample request, Entities.Common.EdFi.IDualCreditInstitutionDescriptor specification)
+ {
+ // Copy all existing values
+ specification.SuspendReferenceAssignmentCheck();
+ specification.CodeValue = request.CodeValue;
+ specification.Description = request.Description;
+ specification.DualCreditInstitutionDescriptorId = request.DualCreditInstitutionDescriptorId;
+ specification.EffectiveBeginDate = request.EffectiveBeginDate;
+ specification.EffectiveEndDate = request.EffectiveEndDate;
+ specification.Id = request.Id;
+ specification.Namespace = request.Namespace;
+ specification.ShortDescription = request.ShortDescription;
+ }
+ }
+}
+
+namespace EdFi.Ods.Api.Services.Controllers.DualCreditTypeDescriptors.EdFi
+{
+ [ApiExplorerSettings(IgnoreApi = true)]
+ [ExcludeFromCodeCoverage]
+ [ApiController]
+ [Authorize]
+ [ApplyOdsRouteRootTemplate, Route($"{RouteConstants.DataManagementRoutePrefix}/ed-fi/dualCreditTypeDescriptors")]
+ public partial class DualCreditTypeDescriptorsController : DataManagementControllerBase<
+ Api.Common.Models.Resources.DualCreditTypeDescriptor.EdFi.DualCreditTypeDescriptor,
+ Entities.Common.EdFi.IDualCreditTypeDescriptor,
+ Entities.NHibernate.DualCreditTypeDescriptorAggregate.EdFi.DualCreditTypeDescriptor,
+ Api.Common.Models.Requests.DualCreditTypeDescriptors.EdFi.DualCreditTypeDescriptorPut,
+ Api.Common.Models.Requests.DualCreditTypeDescriptors.EdFi.DualCreditTypeDescriptorPost,
+ Api.Common.Models.Requests.DualCreditTypeDescriptors.EdFi.DualCreditTypeDescriptorDelete,
+ Api.Common.Models.Requests.DualCreditTypeDescriptors.EdFi.DualCreditTypeDescriptorGetByExample>
+ {
+ public DualCreditTypeDescriptorsController(IPipelineFactory pipelineFactory, IEdFiProblemDetailsProvider problemDetailsProvider, IDefaultPageSizeLimitProvider defaultPageSizeLimitProvider, ApiSettings apiSettings, IContextProvider profileContentTypeContextProvider, IContextProvider dataManagementResourceContextProvider, ILogContextAccessor logContextAccessor)
+ : base(pipelineFactory, problemDetailsProvider, defaultPageSizeLimitProvider, apiSettings, profileContentTypeContextProvider, dataManagementResourceContextProvider, logContextAccessor)
+ {
+ }
+
+ protected override void MapAll(Api.Common.Models.Requests.DualCreditTypeDescriptors.EdFi.DualCreditTypeDescriptorGetByExample request, Entities.Common.EdFi.IDualCreditTypeDescriptor specification)
+ {
+ // Copy all existing values
+ specification.SuspendReferenceAssignmentCheck();
+ specification.CodeValue = request.CodeValue;
+ specification.Description = request.Description;
+ specification.DualCreditTypeDescriptorId = request.DualCreditTypeDescriptorId;
+ specification.EffectiveBeginDate = request.EffectiveBeginDate;
+ specification.EffectiveEndDate = request.EffectiveEndDate;
+ specification.Id = request.Id;
+ specification.Namespace = request.Namespace;
+ specification.ShortDescription = request.ShortDescription;
+ }
+ }
+}
+
namespace EdFi.Ods.Api.Services.Controllers.EducationalEnvironmentDescriptors.EdFi
{
[ApiExplorerSettings(IgnoreApi = true)]
@@ -9211,28 +9285,28 @@ protected override void MapAll(Api.Common.Models.Requests.Sections.EdFi.SectionG
}
}
-namespace EdFi.Ods.Api.Services.Controllers.Section504DisabilityTypeDescriptors.EdFi
+namespace EdFi.Ods.Api.Services.Controllers.Section504DisabilityDescriptors.EdFi
{
[ApiExplorerSettings(IgnoreApi = true)]
[ExcludeFromCodeCoverage]
[ApiController]
[Authorize]
- [ApplyOdsRouteRootTemplate, Route($"{RouteConstants.DataManagementRoutePrefix}/ed-fi/section504DisabilityTypeDescriptors")]
- public partial class Section504DisabilityTypeDescriptorsController : DataManagementControllerBase<
- Api.Common.Models.Resources.Section504DisabilityTypeDescriptor.EdFi.Section504DisabilityTypeDescriptor,
- Entities.Common.EdFi.ISection504DisabilityTypeDescriptor,
- Entities.NHibernate.Section504DisabilityTypeDescriptorAggregate.EdFi.Section504DisabilityTypeDescriptor,
- Api.Common.Models.Requests.Section504DisabilityTypeDescriptors.EdFi.Section504DisabilityTypeDescriptorPut,
- Api.Common.Models.Requests.Section504DisabilityTypeDescriptors.EdFi.Section504DisabilityTypeDescriptorPost,
- Api.Common.Models.Requests.Section504DisabilityTypeDescriptors.EdFi.Section504DisabilityTypeDescriptorDelete,
- Api.Common.Models.Requests.Section504DisabilityTypeDescriptors.EdFi.Section504DisabilityTypeDescriptorGetByExample>
+ [ApplyOdsRouteRootTemplate, Route($"{RouteConstants.DataManagementRoutePrefix}/ed-fi/section504DisabilityDescriptors")]
+ public partial class Section504DisabilityDescriptorsController : DataManagementControllerBase<
+ Api.Common.Models.Resources.Section504DisabilityDescriptor.EdFi.Section504DisabilityDescriptor,
+ Entities.Common.EdFi.ISection504DisabilityDescriptor,
+ Entities.NHibernate.Section504DisabilityDescriptorAggregate.EdFi.Section504DisabilityDescriptor,
+ Api.Common.Models.Requests.Section504DisabilityDescriptors.EdFi.Section504DisabilityDescriptorPut,
+ Api.Common.Models.Requests.Section504DisabilityDescriptors.EdFi.Section504DisabilityDescriptorPost,
+ Api.Common.Models.Requests.Section504DisabilityDescriptors.EdFi.Section504DisabilityDescriptorDelete,
+ Api.Common.Models.Requests.Section504DisabilityDescriptors.EdFi.Section504DisabilityDescriptorGetByExample>
{
- public Section504DisabilityTypeDescriptorsController(IPipelineFactory pipelineFactory, IEdFiProblemDetailsProvider problemDetailsProvider, IDefaultPageSizeLimitProvider defaultPageSizeLimitProvider, ApiSettings apiSettings, IContextProvider profileContentTypeContextProvider, IContextProvider dataManagementResourceContextProvider, ILogContextAccessor logContextAccessor)
+ public Section504DisabilityDescriptorsController(IPipelineFactory pipelineFactory, IEdFiProblemDetailsProvider problemDetailsProvider, IDefaultPageSizeLimitProvider defaultPageSizeLimitProvider, ApiSettings apiSettings, IContextProvider profileContentTypeContextProvider, IContextProvider dataManagementResourceContextProvider, ILogContextAccessor logContextAccessor)
: base(pipelineFactory, problemDetailsProvider, defaultPageSizeLimitProvider, apiSettings, profileContentTypeContextProvider, dataManagementResourceContextProvider, logContextAccessor)
{
}
- protected override void MapAll(Api.Common.Models.Requests.Section504DisabilityTypeDescriptors.EdFi.Section504DisabilityTypeDescriptorGetByExample request, Entities.Common.EdFi.ISection504DisabilityTypeDescriptor specification)
+ protected override void MapAll(Api.Common.Models.Requests.Section504DisabilityDescriptors.EdFi.Section504DisabilityDescriptorGetByExample request, Entities.Common.EdFi.ISection504DisabilityDescriptor specification)
{
// Copy all existing values
specification.SuspendReferenceAssignmentCheck();
@@ -9242,7 +9316,7 @@ protected override void MapAll(Api.Common.Models.Requests.Section504DisabilityTy
specification.EffectiveEndDate = request.EffectiveEndDate;
specification.Id = request.Id;
specification.Namespace = request.Namespace;
- specification.Section504DisabilityTypeDescriptorId = request.Section504DisabilityTypeDescriptorId;
+ specification.Section504DisabilityDescriptorId = request.Section504DisabilityDescriptorId;
specification.ShortDescription = request.ShortDescription;
}
}
@@ -10555,6 +10629,8 @@ protected override void MapAll(Api.Common.Models.Requests.StudentAssessmentRegis
specification.Namespace = request.Namespace;
specification.PlatformTypeDescriptor = request.PlatformTypeDescriptor;
specification.ReportingEducationOrganizationId = request.ReportingEducationOrganizationId;
+ specification.ScheduledEducationOrganizationId = request.ScheduledEducationOrganizationId;
+ specification.ScheduledStudentUniqueId = request.ScheduledStudentUniqueId;
specification.SchoolId = request.SchoolId;
specification.StudentUniqueId = request.StudentUniqueId;
specification.TestingEducationOrganizationId = request.TestingEducationOrganizationId;
@@ -11632,7 +11708,7 @@ protected override void MapAll(Api.Common.Models.Requests.StudentSection504Progr
specification.ProgramName = request.ProgramName;
specification.ProgramTypeDescriptor = request.ProgramTypeDescriptor;
specification.ReasonExitedDescriptor = request.ReasonExitedDescriptor;
- specification.Section504DisabilityTypeDescriptor = request.Section504DisabilityTypeDescriptor;
+ specification.Section504DisabilityDescriptor = request.Section504DisabilityDescriptor;
specification.Section504Eligibility = request.Section504Eligibility;
specification.Section504EligibilityDecisionDate = request.Section504EligibilityDecisionDate;
specification.Section504MeetingDate = request.Section504MeetingDate;
@@ -11669,6 +11745,11 @@ protected override void MapAll(Api.Common.Models.Requests.StudentSectionAssociat
specification.SuspendReferenceAssignmentCheck();
specification.AttemptStatusDescriptor = request.AttemptStatusDescriptor;
specification.BeginDate = request.BeginDate;
+ specification.DualCreditEducationOrganizationId = request.DualCreditEducationOrganizationId;
+ specification.DualCreditIndicator = request.DualCreditIndicator;
+ specification.DualCreditInstitutionDescriptor = request.DualCreditInstitutionDescriptor;
+ specification.DualCreditTypeDescriptor = request.DualCreditTypeDescriptor;
+ specification.DualHighSchoolCreditIndicator = request.DualHighSchoolCreditIndicator;
specification.EndDate = request.EndDate;
specification.HomeroomIndicator = request.HomeroomIndicator;
specification.Id = request.Id;
@@ -11768,8 +11849,10 @@ protected override void MapAll(Api.Common.Models.Requests.StudentSpecialEducatio
specification.ProgramName = request.ProgramName;
specification.ProgramTypeDescriptor = request.ProgramTypeDescriptor;
specification.ReasonExitedDescriptor = request.ReasonExitedDescriptor;
+ specification.ReductionInHoursPerWeekComparedToPeers = request.ReductionInHoursPerWeekComparedToPeers;
specification.SchoolHoursPerWeek = request.SchoolHoursPerWeek;
specification.ServedOutsideOfRegularSession = request.ServedOutsideOfRegularSession;
+ specification.ShortenedSchoolDayIndicator = request.ShortenedSchoolDayIndicator;
specification.SpecialEducationExitDate = request.SpecialEducationExitDate;
specification.SpecialEducationExitExplained = request.SpecialEducationExitExplained;
specification.SpecialEducationExitReasonDescriptor = request.SpecialEducationExitReasonDescriptor;
diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_MsSql_EntityOrmMappings.generated.hbm.approved.xml b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_MsSql_EntityOrmMappings.generated.hbm.approved.xml
index 00b721ba95..194ef52d66 100644
--- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_MsSql_EntityOrmMappings.generated.hbm.approved.xml
+++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_MsSql_EntityOrmMappings.generated.hbm.approved.xml
@@ -657,24 +657,24 @@
-
+
-
+
-
+
-
+
@@ -682,10 +682,10 @@
-
+
-
+
@@ -698,9 +698,13 @@
-
+
+
+
+
+
@@ -710,10 +714,10 @@
-
+
-
+
@@ -726,13 +730,115 @@
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1061,112 +1167,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -4484,6 +4484,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -6244,14 +6276,14 @@
-
-
+
+
-
+
-
+
@@ -8953,7 +8985,7 @@
-
+
@@ -8990,7 +9022,9 @@
+
+
@@ -16485,6 +16519,8 @@
+
+
@@ -16498,9 +16534,9 @@
-
-
-
+
+
+
@@ -17164,6 +17200,16 @@
+
+
+
+
+
+
+
+
+
+
@@ -17194,6 +17240,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -19428,12 +19501,20 @@
+
+
+
+
+
+
+
+
diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_MsSql_EntityOrmMappingsForQueries.generated.hbm.approved.xml b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_MsSql_EntityOrmMappingsForQueries.generated.hbm.approved.xml
index 9423fcdaad..2109ebb4c7 100644
--- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_MsSql_EntityOrmMappingsForQueries.generated.hbm.approved.xml
+++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_MsSql_EntityOrmMappingsForQueries.generated.hbm.approved.xml
@@ -707,34 +707,34 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -752,10 +752,10 @@
-
+
-
+
@@ -768,11 +768,15 @@
-
+
+
+
+
+
@@ -780,10 +784,10 @@
-
+
-
+
@@ -796,15 +800,103 @@
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1138,98 +1230,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -5760,6 +5760,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -9011,14 +9057,14 @@
-
-
+
+
-
+
-
+
@@ -9027,7 +9073,7 @@
-
+
@@ -9991,6 +10037,13 @@
+
+
+
+
+
+
+
@@ -10800,6 +10853,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -10821,20 +10888,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -11101,6 +11154,13 @@
+
+
+
+
+
+
+
@@ -12734,7 +12794,7 @@
-
+
@@ -12742,8 +12802,8 @@
-
-
+
+
@@ -12776,7 +12836,9 @@
+
+
@@ -21341,6 +21403,8 @@
+
+
@@ -21362,9 +21426,9 @@
-
-
-
+
+
+
@@ -22010,6 +22074,16 @@
+
+
+
+
+
+
+
+
+
+
@@ -22044,6 +22118,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -22162,8 +22266,8 @@
-
-
+
+
@@ -24337,6 +24441,11 @@
+
+
+
+
+
@@ -24348,6 +24457,15 @@
+
+
+
+
+
+
+
+
+
diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_PgSql_EntityOrmMappings.generated.hbm.approved.xml b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_PgSql_EntityOrmMappings.generated.hbm.approved.xml
index d622b29cd7..a47d391897 100644
--- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_PgSql_EntityOrmMappings.generated.hbm.approved.xml
+++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_PgSql_EntityOrmMappings.generated.hbm.approved.xml
@@ -657,24 +657,24 @@
-
+
-
+
-
+
-
+
@@ -682,10 +682,10 @@
-
+
-
+
@@ -698,9 +698,13 @@
-
+
+
+
+
+
@@ -710,10 +714,10 @@
-
+
-
+
@@ -726,13 +730,115 @@
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1061,112 +1167,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -4484,6 +4484,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -6244,14 +6276,14 @@
-
-
+
+
-
+
-
+
@@ -8953,7 +8985,7 @@
-
+
@@ -8990,7 +9022,9 @@
+
+
@@ -16485,6 +16519,8 @@
+
+
@@ -16498,9 +16534,9 @@
-
-
-
+
+
+
@@ -17164,6 +17200,16 @@
+
+
+
+
+
+
+
+
+
+
@@ -17194,6 +17240,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -19428,12 +19501,20 @@
+
+
+
+
+
+
+
+
diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_PgSql_EntityOrmMappingsForQueries.generated.hbm.approved.xml b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_PgSql_EntityOrmMappingsForQueries.generated.hbm.approved.xml
index e3f9640f3d..70a35fe67d 100644
--- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_PgSql_EntityOrmMappingsForQueries.generated.hbm.approved.xml
+++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_EntityOrmMappings_PgSql_EntityOrmMappingsForQueries.generated.hbm.approved.xml
@@ -707,34 +707,34 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -752,10 +752,10 @@
-
+
-
+
@@ -768,11 +768,15 @@
-
+
+
+
+
+
@@ -780,10 +784,10 @@
-
+
-
+
@@ -796,15 +800,103 @@
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1138,98 +1230,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -5760,6 +5760,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -9011,14 +9057,14 @@
-
-
+
+
-
+
-
+
@@ -9027,7 +9073,7 @@
-
+
@@ -9991,6 +10037,13 @@
+
+
+
+
+
+
+
@@ -10800,6 +10853,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -10821,20 +10888,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -11101,6 +11154,13 @@
+
+
+
+
+
+
+
@@ -12734,7 +12794,7 @@
-
+
@@ -12742,8 +12802,8 @@
-
-
+
+
@@ -12776,7 +12836,9 @@
+
+
@@ -21341,6 +21403,8 @@
+
+
@@ -21362,9 +21426,9 @@
-
-
-
+
+
+
@@ -22010,6 +22074,16 @@
+
+
+
+
+
+
+
+
+
+
@@ -22044,6 +22118,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -22162,8 +22266,8 @@
-
-
+
+
@@ -24337,6 +24441,11 @@
+
+
+
+
+
@@ -24348,6 +24457,15 @@
+
+
+
+
+
+
+
+
+
diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_ExceptionHandling_DatabaseMetadata.generated.approved.cs b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_ExceptionHandling_DatabaseMetadata.generated.approved.cs
index ed5526474b..43b59f3fc6 100644
--- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_ExceptionHandling_DatabaseMetadata.generated.approved.cs
+++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_ExceptionHandling_DatabaseMetadata.generated.approved.cs
@@ -48,11 +48,18 @@ public IndexDetails GetIndexDetails(string indexName)
{ "FK_AssessmentAdministration_Assessment", new IndexDetails { IndexName = "FK_AssessmentAdministration_Assessment", TableName = "AssessmentAdministration", ColumnNames = new List { "AssessmentIdentifier", "Namespace" } } },
{ "FK_AssessmentAdministration_EducationOrganization", new IndexDetails { IndexName = "FK_AssessmentAdministration_EducationOrganization", TableName = "AssessmentAdministration", ColumnNames = new List { "AssigningEducationOrganizationId" } } },
{ "UX_AssessmentAdministration_Id", new IndexDetails { IndexName = "UX_AssessmentAdministration_Id", TableName = "AssessmentAdministration", ColumnNames = new List { "Id" } } },
- { "AssessmentAdministrationAssessmentAdminstrationPeriod_PK", new IndexDetails { IndexName = "AssessmentAdministrationAssessmentAdminstrationPeriod_PK", TableName = "AssessmentAdministrationAssessmentAdminstrationPeriod", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace", "BeginDate" } } },
- { "FK_AssessmentAdministrationAssessmentAdminstrationPeriod_AssessmentAdministration", new IndexDetails { IndexName = "FK_AssessmentAdministrationAssessmentAdminstrationPeriod_AssessmentAdministration", TableName = "AssessmentAdministrationAssessmentAdminstrationPeriod", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace" } } },
{ "AssessmentAdministrationAssessmentBatteryPart_PK", new IndexDetails { IndexName = "AssessmentAdministrationAssessmentBatteryPart_PK", TableName = "AssessmentAdministrationAssessmentBatteryPart", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace", "AssessmentBatteryPartName" } } },
{ "FK_AssessmentAdministrationAssessmentBatteryPart_AssessmentAdministration", new IndexDetails { IndexName = "FK_AssessmentAdministrationAssessmentBatteryPart_AssessmentAdministration", TableName = "AssessmentAdministrationAssessmentBatteryPart", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace" } } },
{ "FK_AssessmentAdministrationAssessmentBatteryPart_AssessmentBatteryPart", new IndexDetails { IndexName = "FK_AssessmentAdministrationAssessmentBatteryPart_AssessmentBatteryPart", TableName = "AssessmentAdministrationAssessmentBatteryPart", ColumnNames = new List { "AssessmentBatteryPartName", "AssessmentIdentifier", "Namespace" } } },
+ { "AssessmentAdministrationParticipation_PK", new IndexDetails { IndexName = "AssessmentAdministrationParticipation_PK", TableName = "AssessmentAdministrationParticipation", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace", "ParticipatingEducationOrganizationId" } } },
+ { "FK_AssessmentAdministrationParticipation_AssessmentAdministration", new IndexDetails { IndexName = "FK_AssessmentAdministrationParticipation_AssessmentAdministration", TableName = "AssessmentAdministrationParticipation", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace" } } },
+ { "FK_AssessmentAdministrationParticipation_EducationOrganization", new IndexDetails { IndexName = "FK_AssessmentAdministrationParticipation_EducationOrganization", TableName = "AssessmentAdministrationParticipation", ColumnNames = new List { "ParticipatingEducationOrganizationId" } } },
+ { "UX_AssessmentAdministrationParticipation_Id", new IndexDetails { IndexName = "UX_AssessmentAdministrationParticipation_Id", TableName = "AssessmentAdministrationParticipation", ColumnNames = new List { "Id" } } },
+ { "AssessmentAdministrationParticipationAdministrationPointOfContact_PK", new IndexDetails { IndexName = "AssessmentAdministrationParticipationAdministrationPointOfContact_PK", TableName = "AssessmentAdministrationParticipationAdministrationPointOfContact", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace", "ParticipatingEducationOrganizationId", "EducationOrganizationId", "ElectronicMailAddress" } } },
+ { "FK_AssessmentAdministrationParticipationAdministrationPointOfContact_AssessmentAdministrationParticipation", new IndexDetails { IndexName = "FK_AssessmentAdministrationParticipationAdministrationPointOfContact_AssessmentAdministrationParticipation", TableName = "AssessmentAdministrationParticipationAdministrationPointOfContact", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace", "ParticipatingEducationOrganizationId" } } },
+ { "FK_AssessmentAdministrationParticipationAdministrationPointOfContact_EducationOrganization", new IndexDetails { IndexName = "FK_AssessmentAdministrationParticipationAdministrationPointOfContact_EducationOrganization", TableName = "AssessmentAdministrationParticipationAdministrationPointOfContact", ColumnNames = new List { "EducationOrganizationId" } } },
+ { "AssessmentAdministrationPeriod_PK", new IndexDetails { IndexName = "AssessmentAdministrationPeriod_PK", TableName = "AssessmentAdministrationPeriod", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace", "BeginDate" } } },
+ { "FK_AssessmentAdministrationPeriod_AssessmentAdministration", new IndexDetails { IndexName = "FK_AssessmentAdministrationPeriod_AssessmentAdministration", TableName = "AssessmentAdministrationPeriod", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace" } } },
{ "AssessmentAssessedGradeLevel_PK", new IndexDetails { IndexName = "AssessmentAssessedGradeLevel_PK", TableName = "AssessmentAssessedGradeLevel", ColumnNames = new List { "AssessmentIdentifier", "Namespace", "GradeLevelDescriptorId" } } },
{ "FK_AssessmentAssessedGradeLevel_Assessment", new IndexDetails { IndexName = "FK_AssessmentAssessedGradeLevel_Assessment", TableName = "AssessmentAssessedGradeLevel", ColumnNames = new List { "AssessmentIdentifier", "Namespace" } } },
{ "FK_AssessmentAssessedGradeLevel_GradeLevelDescriptor", new IndexDetails { IndexName = "FK_AssessmentAssessedGradeLevel_GradeLevelDescriptor", TableName = "AssessmentAssessedGradeLevel", ColumnNames = new List { "GradeLevelDescriptorId" } } },
@@ -117,13 +124,6 @@ public IndexDetails GetIndexDetails(string indexName)
{ "AssessmentSection_PK", new IndexDetails { IndexName = "AssessmentSection_PK", TableName = "AssessmentSection", ColumnNames = new List { "AssessmentIdentifier", "Namespace", "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName" } } },
{ "FK_AssessmentSection_Assessment", new IndexDetails { IndexName = "FK_AssessmentSection_Assessment", TableName = "AssessmentSection", ColumnNames = new List { "AssessmentIdentifier", "Namespace" } } },
{ "FK_AssessmentSection_Section", new IndexDetails { IndexName = "FK_AssessmentSection_Section", TableName = "AssessmentSection", ColumnNames = new List { "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName" } } },
- { "AssesssmentAdministrationParticipation_PK", new IndexDetails { IndexName = "AssesssmentAdministrationParticipation_PK", TableName = "AssesssmentAdministrationParticipation", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace", "ParticipatingEducationOrganizationId" } } },
- { "FK_AssesssmentAdministrationParticipation_AssessmentAdministration", new IndexDetails { IndexName = "FK_AssesssmentAdministrationParticipation_AssessmentAdministration", TableName = "AssesssmentAdministrationParticipation", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace" } } },
- { "FK_AssesssmentAdministrationParticipation_EducationOrganization", new IndexDetails { IndexName = "FK_AssesssmentAdministrationParticipation_EducationOrganization", TableName = "AssesssmentAdministrationParticipation", ColumnNames = new List { "ParticipatingEducationOrganizationId" } } },
- { "UX_AssesssmentAdministrationParticipation_Id", new IndexDetails { IndexName = "UX_AssesssmentAdministrationParticipation_Id", TableName = "AssesssmentAdministrationParticipation", ColumnNames = new List { "Id" } } },
- { "AssesssmentAdministrationParticipationAdministrationPointOfContact_PK", new IndexDetails { IndexName = "AssesssmentAdministrationParticipationAdministrationPointOfContact_PK", TableName = "AssesssmentAdministrationParticipationAdministrationPointOfContact", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace", "ParticipatingEducationOrganizationId", "EducationOrganizationId", "ElectronicMailAddress" } } },
- { "FK_AssesssmentAdministrationParticipationAdministrationPointOfContact_AssesssmentAdministrationParticipation", new IndexDetails { IndexName = "FK_AssesssmentAdministrationParticipationAdministrationPointOfContact_AssesssmentAdministrationParticipation", TableName = "AssesssmentAdministrationParticipationAdministrationPointOfContact", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "Namespace", "ParticipatingEducationOrganizationId" } } },
- { "FK_AssesssmentAdministrationParticipationAdministrationPointOfContact_EducationOrganization", new IndexDetails { IndexName = "FK_AssesssmentAdministrationParticipationAdministrationPointOfContact_EducationOrganization", TableName = "AssesssmentAdministrationParticipationAdministrationPointOfContact", ColumnNames = new List { "EducationOrganizationId" } } },
{ "AssignmentLateStatusDescriptor_PK", new IndexDetails { IndexName = "AssignmentLateStatusDescriptor_PK", TableName = "AssignmentLateStatusDescriptor", ColumnNames = new List { "AssignmentLateStatusDescriptorId" } } },
{ "AttemptStatusDescriptor_PK", new IndexDetails { IndexName = "AttemptStatusDescriptor_PK", TableName = "AttemptStatusDescriptor", ColumnNames = new List { "AttemptStatusDescriptorId" } } },
{ "AttendanceEventCategoryDescriptor_PK", new IndexDetails { IndexName = "AttendanceEventCategoryDescriptor_PK", TableName = "AttendanceEventCategoryDescriptor", ColumnNames = new List { "AttendanceEventCategoryDescriptorId" } } },
@@ -409,6 +409,8 @@ public IndexDetails GetIndexDetails(string indexName)
{ "FK_DisciplineIncidentWeapon_DisciplineIncident", new IndexDetails { IndexName = "FK_DisciplineIncidentWeapon_DisciplineIncident", TableName = "DisciplineIncidentWeapon", ColumnNames = new List { "IncidentIdentifier", "SchoolId" } } },
{ "FK_DisciplineIncidentWeapon_WeaponDescriptor", new IndexDetails { IndexName = "FK_DisciplineIncidentWeapon_WeaponDescriptor", TableName = "DisciplineIncidentWeapon", ColumnNames = new List { "WeaponDescriptorId" } } },
{ "DisplacedStudentStatusDescriptor_PK", new IndexDetails { IndexName = "DisplacedStudentStatusDescriptor_PK", TableName = "DisplacedStudentStatusDescriptor", ColumnNames = new List { "DisplacedStudentStatusDescriptorId" } } },
+ { "DualCreditInstitutionDescriptor_PK", new IndexDetails { IndexName = "DualCreditInstitutionDescriptor_PK", TableName = "DualCreditInstitutionDescriptor", ColumnNames = new List { "DualCreditInstitutionDescriptorId" } } },
+ { "DualCreditTypeDescriptor_PK", new IndexDetails { IndexName = "DualCreditTypeDescriptor_PK", TableName = "DualCreditTypeDescriptor", ColumnNames = new List { "DualCreditTypeDescriptorId" } } },
{ "EducationalEnvironmentDescriptor_PK", new IndexDetails { IndexName = "EducationalEnvironmentDescriptor_PK", TableName = "EducationalEnvironmentDescriptor", ColumnNames = new List { "EducationalEnvironmentDescriptorId" } } },
{ "EducationContent_PK", new IndexDetails { IndexName = "EducationContent_PK", TableName = "EducationContent", ColumnNames = new List { "ContentIdentifier" } } },
{ "FK_EducationContent_ContentClassDescriptor", new IndexDetails { IndexName = "FK_EducationContent_ContentClassDescriptor", TableName = "EducationContent", ColumnNames = new List { "ContentClassDescriptorId" } } },
@@ -985,7 +987,7 @@ public IndexDetails GetIndexDetails(string indexName)
{ "FK_Section_SectionTypeDescriptor", new IndexDetails { IndexName = "FK_Section_SectionTypeDescriptor", TableName = "Section", ColumnNames = new List { "SectionTypeDescriptorId" } } },
{ "Section_PK", new IndexDetails { IndexName = "Section_PK", TableName = "Section", ColumnNames = new List { "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName" } } },
{ "UX_Section_Id", new IndexDetails { IndexName = "UX_Section_Id", TableName = "Section", ColumnNames = new List { "Id" } } },
- { "Section504DisabilityTypeDescriptor_PK", new IndexDetails { IndexName = "Section504DisabilityTypeDescriptor_PK", TableName = "Section504DisabilityTypeDescriptor", ColumnNames = new List { "Section504DisabilityTypeDescriptorId" } } },
+ { "Section504DisabilityDescriptor_PK", new IndexDetails { IndexName = "Section504DisabilityDescriptor_PK", TableName = "Section504DisabilityDescriptor", ColumnNames = new List { "Section504DisabilityDescriptorId" } } },
{ "FK_SectionAttendanceTakenEvent_CalendarDate", new IndexDetails { IndexName = "FK_SectionAttendanceTakenEvent_CalendarDate", TableName = "SectionAttendanceTakenEvent", ColumnNames = new List { "CalendarCode", "Date", "SchoolId", "SchoolYear" } } },
{ "FK_SectionAttendanceTakenEvent_Section", new IndexDetails { IndexName = "FK_SectionAttendanceTakenEvent_Section", TableName = "SectionAttendanceTakenEvent", ColumnNames = new List { "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName" } } },
{ "FK_SectionAttendanceTakenEvent_Staff", new IndexDetails { IndexName = "FK_SectionAttendanceTakenEvent_Staff", TableName = "SectionAttendanceTakenEvent", ColumnNames = new List { "StaffUSI" } } },
@@ -1253,7 +1255,7 @@ public IndexDetails GetIndexDetails(string indexName)
{ "FK_StudentAssessmentRegistration_EducationOrganization1", new IndexDetails { IndexName = "FK_StudentAssessmentRegistration_EducationOrganization1", TableName = "StudentAssessmentRegistration", ColumnNames = new List { "TestingEducationOrganizationId" } } },
{ "FK_StudentAssessmentRegistration_GradeLevelDescriptor", new IndexDetails { IndexName = "FK_StudentAssessmentRegistration_GradeLevelDescriptor", TableName = "StudentAssessmentRegistration", ColumnNames = new List { "AssessmentGradeLevelDescriptorId" } } },
{ "FK_StudentAssessmentRegistration_PlatformTypeDescriptor", new IndexDetails { IndexName = "FK_StudentAssessmentRegistration_PlatformTypeDescriptor", TableName = "StudentAssessmentRegistration", ColumnNames = new List { "PlatformTypeDescriptorId" } } },
- { "FK_StudentAssessmentRegistration_StudentEducationOrganizationAssessmentAccommodation", new IndexDetails { IndexName = "FK_StudentAssessmentRegistration_StudentEducationOrganizationAssessmentAccommodation", TableName = "StudentAssessmentRegistration", ColumnNames = new List { "EducationOrganizationId", "StudentUSI" } } },
+ { "FK_StudentAssessmentRegistration_StudentEducationOrganizationAssessmentAccommodation", new IndexDetails { IndexName = "FK_StudentAssessmentRegistration_StudentEducationOrganizationAssessmentAccommodation", TableName = "StudentAssessmentRegistration", ColumnNames = new List { "ScheduledEducationOrganizationId", "ScheduledStudentUSI" } } },
{ "FK_StudentAssessmentRegistration_StudentEducationOrganizationAssociation", new IndexDetails { IndexName = "FK_StudentAssessmentRegistration_StudentEducationOrganizationAssociation", TableName = "StudentAssessmentRegistration", ColumnNames = new List { "EducationOrganizationId", "StudentUSI" } } },
{ "FK_StudentAssessmentRegistration_StudentSchoolAssociation", new IndexDetails { IndexName = "FK_StudentAssessmentRegistration_StudentSchoolAssociation", TableName = "StudentAssessmentRegistration", ColumnNames = new List { "EntryDate", "SchoolId", "StudentUSI" } } },
{ "StudentAssessmentRegistration_PK", new IndexDetails { IndexName = "StudentAssessmentRegistration_PK", TableName = "StudentAssessmentRegistration", ColumnNames = new List { "AdministrationIdentifier", "AssessmentIdentifier", "AssigningEducationOrganizationId", "EducationOrganizationId", "Namespace", "StudentUSI" } } },
@@ -1323,6 +1325,9 @@ public IndexDetails GetIndexDetails(string indexName)
{ "FK_StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_DisciplineIncidentParticipationCodeDescriptor", new IndexDetails { IndexName = "FK_StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_DisciplineIncidentParticipationCodeDescriptor", TableName = "StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode", ColumnNames = new List { "DisciplineIncidentParticipationCodeDescriptorId" } } },
{ "FK_StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_StudentDisciplineIncidentBehaviorAssociation", new IndexDetails { IndexName = "FK_StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_StudentDisciplineIncidentBehaviorAssociation", TableName = "StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode", ColumnNames = new List { "BehaviorDescriptorId", "IncidentIdentifier", "SchoolId", "StudentUSI" } } },
{ "StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_PK", new IndexDetails { IndexName = "StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode_PK", TableName = "StudentDisciplineIncidentBehaviorAssociationDisciplineIncidentParticipationCode", ColumnNames = new List { "BehaviorDescriptorId", "IncidentIdentifier", "SchoolId", "StudentUSI", "DisciplineIncidentParticipationCodeDescriptorId" } } },
+ { "FK_StudentDisciplineIncidentBehaviorAssociationWeapon_StudentDisciplineIncidentBehaviorAssociation", new IndexDetails { IndexName = "FK_StudentDisciplineIncidentBehaviorAssociationWeapon_StudentDisciplineIncidentBehaviorAssociation", TableName = "StudentDisciplineIncidentBehaviorAssociationWeapon", ColumnNames = new List { "BehaviorDescriptorId", "IncidentIdentifier", "SchoolId", "StudentUSI" } } },
+ { "FK_StudentDisciplineIncidentBehaviorAssociationWeapon_WeaponDescriptor", new IndexDetails { IndexName = "FK_StudentDisciplineIncidentBehaviorAssociationWeapon_WeaponDescriptor", TableName = "StudentDisciplineIncidentBehaviorAssociationWeapon", ColumnNames = new List { "WeaponDescriptorId" } } },
+ { "StudentDisciplineIncidentBehaviorAssociationWeapon_PK", new IndexDetails { IndexName = "StudentDisciplineIncidentBehaviorAssociationWeapon_PK", TableName = "StudentDisciplineIncidentBehaviorAssociationWeapon", ColumnNames = new List { "BehaviorDescriptorId", "IncidentIdentifier", "SchoolId", "StudentUSI", "WeaponDescriptorId" } } },
{ "FK_StudentDisciplineIncidentNonOffenderAssociation_DisciplineIncident", new IndexDetails { IndexName = "FK_StudentDisciplineIncidentNonOffenderAssociation_DisciplineIncident", TableName = "StudentDisciplineIncidentNonOffenderAssociation", ColumnNames = new List { "IncidentIdentifier", "SchoolId" } } },
{ "FK_StudentDisciplineIncidentNonOffenderAssociation_Student", new IndexDetails { IndexName = "FK_StudentDisciplineIncidentNonOffenderAssociation_Student", TableName = "StudentDisciplineIncidentNonOffenderAssociation", ColumnNames = new List { "StudentUSI" } } },
{ "StudentDisciplineIncidentNonOffenderAssociation_PK", new IndexDetails { IndexName = "StudentDisciplineIncidentNonOffenderAssociation_PK", TableName = "StudentDisciplineIncidentNonOffenderAssociation", ColumnNames = new List { "IncidentIdentifier", "SchoolId", "StudentUSI" } } },
@@ -1557,9 +1562,12 @@ public IndexDetails GetIndexDetails(string indexName)
{ "FK_StudentSchoolFoodServiceProgramAssociationSchoolFoodServiceProgramService_SchoolFoodServiceProgramServiceDescriptor", new IndexDetails { IndexName = "FK_StudentSchoolFoodServiceProgramAssociationSchoolFoodServiceProgramService_SchoolFoodServiceProgramServiceDescriptor", TableName = "StudentSchoolFoodServiceProgramAssociationSchoolFoodServiceProgramService", ColumnNames = new List { "SchoolFoodServiceProgramServiceDescriptorId" } } },
{ "FK_StudentSchoolFoodServiceProgramAssociationSchoolFoodServiceProgramService_StudentSchoolFoodServiceProgramAssociation", new IndexDetails { IndexName = "FK_StudentSchoolFoodServiceProgramAssociationSchoolFoodServiceProgramService_StudentSchoolFoodServiceProgramAssociation", TableName = "StudentSchoolFoodServiceProgramAssociationSchoolFoodServiceProgramService", ColumnNames = new List { "BeginDate", "EducationOrganizationId", "ProgramEducationOrganizationId", "ProgramName", "ProgramTypeDescriptorId", "StudentUSI" } } },
{ "StudentSchoolFoodServiceProgramAssociationSchoolFoodServiceProgramService_PK", new IndexDetails { IndexName = "StudentSchoolFoodServiceProgramAssociationSchoolFoodServiceProgramService_PK", TableName = "StudentSchoolFoodServiceProgramAssociationSchoolFoodServiceProgramService", ColumnNames = new List { "BeginDate", "EducationOrganizationId", "ProgramEducationOrganizationId", "ProgramName", "ProgramTypeDescriptorId", "StudentUSI", "SchoolFoodServiceProgramServiceDescriptorId" } } },
- { "FK_StudentSection504ProgramAssociation_Section504DisabilityTypeDescriptor", new IndexDetails { IndexName = "FK_StudentSection504ProgramAssociation_Section504DisabilityTypeDescriptor", TableName = "StudentSection504ProgramAssociation", ColumnNames = new List { "Section504DisabilityTypeDescriptorId" } } },
+ { "FK_StudentSection504ProgramAssociation_Section504DisabilityDescriptor", new IndexDetails { IndexName = "FK_StudentSection504ProgramAssociation_Section504DisabilityDescriptor", TableName = "StudentSection504ProgramAssociation", ColumnNames = new List { "Section504DisabilityDescriptorId" } } },
{ "StudentSection504ProgramAssociation_PK", new IndexDetails { IndexName = "StudentSection504ProgramAssociation_PK", TableName = "StudentSection504ProgramAssociation", ColumnNames = new List { "BeginDate", "EducationOrganizationId", "ProgramEducationOrganizationId", "ProgramName", "ProgramTypeDescriptorId", "StudentUSI" } } },
{ "FK_StudentSectionAssociation_AttemptStatusDescriptor", new IndexDetails { IndexName = "FK_StudentSectionAssociation_AttemptStatusDescriptor", TableName = "StudentSectionAssociation", ColumnNames = new List { "AttemptStatusDescriptorId" } } },
+ { "FK_StudentSectionAssociation_DualCreditInstitutionDescriptor", new IndexDetails { IndexName = "FK_StudentSectionAssociation_DualCreditInstitutionDescriptor", TableName = "StudentSectionAssociation", ColumnNames = new List { "DualCreditInstitutionDescriptorId" } } },
+ { "FK_StudentSectionAssociation_DualCreditTypeDescriptor", new IndexDetails { IndexName = "FK_StudentSectionAssociation_DualCreditTypeDescriptor", TableName = "StudentSectionAssociation", ColumnNames = new List { "DualCreditTypeDescriptorId" } } },
+ { "FK_StudentSectionAssociation_EducationOrganization", new IndexDetails { IndexName = "FK_StudentSectionAssociation_EducationOrganization", TableName = "StudentSectionAssociation", ColumnNames = new List { "DualCreditEducationOrganizationId" } } },
{ "FK_StudentSectionAssociation_RepeatIdentifierDescriptor", new IndexDetails { IndexName = "FK_StudentSectionAssociation_RepeatIdentifierDescriptor", TableName = "StudentSectionAssociation", ColumnNames = new List { "RepeatIdentifierDescriptorId" } } },
{ "FK_StudentSectionAssociation_Section", new IndexDetails { IndexName = "FK_StudentSectionAssociation_Section", TableName = "StudentSectionAssociation", ColumnNames = new List { "LocalCourseCode", "SchoolId", "SchoolYear", "SectionIdentifier", "SessionName" } } },
{ "FK_StudentSectionAssociation_Student", new IndexDetails { IndexName = "FK_StudentSectionAssociation_Student", TableName = "StudentSectionAssociation", ColumnNames = new List { "StudentUSI" } } },
diff --git a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Models_Entities_Entities.generated.approved.cs b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Models_Entities_Entities.generated.approved.cs
index 09c601b23b..ab9f231a69 100644
--- a/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Models_Entities_Entities.generated.approved.cs
+++ b/Utilities/CodeGeneration/EdFi.Ods.CodeGen.Tests/Approval/5.2.0/DataStandard_520_ApprovalTests.Verify.Standard_Std_5.2.0_Models_Entities_Entities.generated.approved.cs
@@ -6545,8 +6545,8 @@ public virtual void SuspendReferenceAssignmentCheck() { }
public AssessmentAdministration()
{
- AssessmentAdministrationAssessmentAdminstrationPeriods = new HashSet();
AssessmentAdministrationAssessmentBatteryParts = new HashSet();
+ AssessmentAdministrationPeriods = new HashSet();
Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this));
AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions());
}
@@ -6664,9 +6664,9 @@ string Entities.Common.EdFi.IAssessmentAdministration.AssigningEducationOrganiza
// Collections
// -------------------------------------------------------------
- private ICollection _assessmentAdministrationAssessmentAdminstrationPeriods;
- private ICollection _assessmentAdministrationAssessmentAdminstrationPeriodsCovariant;
- public virtual ICollection AssessmentAdministrationAssessmentAdminstrationPeriods
+ private ICollection _assessmentAdministrationAssessmentBatteryParts;
+ private ICollection _assessmentAdministrationAssessmentBatteryPartsCovariant;
+ public virtual ICollection AssessmentAdministrationAssessmentBatteryParts
{
get
{
@@ -6675,45 +6675,45 @@ public virtual ICollection(value);
+ _assessmentAdministrationAssessmentBatteryParts = value;
+ _assessmentAdministrationAssessmentBatteryPartsCovariant = new CovariantCollectionAdapter(value);
}
}
// Covariant version, visible only on the interface
- ICollection Entities.Common.EdFi.IAssessmentAdministration.AssessmentAdministrationAssessmentAdminstrationPeriods
+ ICollection Entities.Common.EdFi.IAssessmentAdministration.AssessmentAdministrationAssessmentBatteryParts
{
get
{
// -------------------------------------------------------------
// Back-reference is required by NHibernate for persistence.
// -------------------------------------------------------------
- foreach (var item in _assessmentAdministrationAssessmentAdminstrationPeriods)
+ foreach (var item in _assessmentAdministrationAssessmentBatteryParts)
if (item.AssessmentAdministration == null)
item.AssessmentAdministration = this;
// -------------------------------------------------------------
- return _assessmentAdministrationAssessmentAdminstrationPeriodsCovariant;
+ return _assessmentAdministrationAssessmentBatteryPartsCovariant;
}
set
{
- AssessmentAdministrationAssessmentAdminstrationPeriods = new HashSet(value.Cast());
+ AssessmentAdministrationAssessmentBatteryParts = new HashSet(value.Cast());
}
}
- private ICollection _assessmentAdministrationAssessmentBatteryParts;
- private ICollection _assessmentAdministrationAssessmentBatteryPartsCovariant;
- public virtual ICollection AssessmentAdministrationAssessmentBatteryParts
+ private ICollection _assessmentAdministrationPeriods;
+ private ICollection _assessmentAdministrationPeriodsCovariant;
+ public virtual ICollection AssessmentAdministrationPeriods
{
get
{
@@ -6722,38 +6722,38 @@ public virtual ICollection(value);
+ _assessmentAdministrationPeriods = value;
+ _assessmentAdministrationPeriodsCovariant = new CovariantCollectionAdapter(value);
}
}
// Covariant version, visible only on the interface
- ICollection Entities.Common.EdFi.IAssessmentAdministration.AssessmentAdministrationAssessmentBatteryParts
+ ICollection Entities.Common.EdFi.IAssessmentAdministration.AssessmentAdministrationPeriods
{
get
{
// -------------------------------------------------------------
// Back-reference is required by NHibernate for persistence.
// -------------------------------------------------------------
- foreach (var item in _assessmentAdministrationAssessmentBatteryParts)
+ foreach (var item in _assessmentAdministrationPeriods)
if (item.AssessmentAdministration == null)
item.AssessmentAdministration = this;
// -------------------------------------------------------------
- return _assessmentAdministrationAssessmentBatteryPartsCovariant;
+ return _assessmentAdministrationPeriodsCovariant;
}
set
{
- AssessmentAdministrationAssessmentBatteryParts = new HashSet(value.Cast());
+ AssessmentAdministrationPeriods = new HashSet(value.Cast());
}
}
@@ -6856,19 +6856,19 @@ void IMappable.Map(object target)
#pragma warning disable 612, 618
///
- /// A class which represents the edfi.AssessmentAdministrationAssessmentAdminstrationPeriod table of the AssessmentAdministration aggregate in the ODS database.
+ /// A class which represents the edfi.AssessmentAdministrationAssessmentBatteryPart table of the AssessmentAdministration aggregate in the ODS database.
///
[Schema("edfi")]
[ExcludeFromCodeCoverage]
- public class AssessmentAdministrationAssessmentAdminstrationPeriod : EntityWithCompositeKey, IChildEntity,
- Entities.Common.EdFi.IAssessmentAdministrationAssessmentAdminstrationPeriod, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions
+ public class AssessmentAdministrationAssessmentBatteryPart : EntityWithCompositeKey, IChildEntity,
+ Entities.Common.EdFi.IAssessmentAdministrationAssessmentBatteryPart, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions
{
public virtual void SuspendReferenceAssignmentCheck() { }
- public AssessmentAdministrationAssessmentAdminstrationPeriod()
+ public AssessmentAdministrationAssessmentBatteryPart()
{
- Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this));
- AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions());
+ Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this));
+ AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions());
}
// restore warnings for inheritance from classes marked Obsolete
#pragma warning restore 612, 618
@@ -6879,22 +6879,14 @@ public AssessmentAdministrationAssessmentAdminstrationPeriod()
[DomainSignature, JsonIgnore]
public virtual AssessmentAdministration AssessmentAdministration { get; set; }
- Entities.Common.EdFi.IAssessmentAdministration IAssessmentAdministrationAssessmentAdminstrationPeriod.AssessmentAdministration
+ Entities.Common.EdFi.IAssessmentAdministration IAssessmentAdministrationAssessmentBatteryPart.AssessmentAdministration
{
get { return AssessmentAdministration; }
set { AssessmentAdministration = (AssessmentAdministration) value; }
}
[DomainSignature]
- public virtual DateTime BeginDate
- {
- get { return _beginDate; }
- //This is only stored as a Date in the DB and NHibernate will retrieve it using the default (local) DateTime.Kind. We must ensure it is set consistently for any equality/change evaluation.
- set { _beginDate = new DateTime(value.Year, value.Month, value.Day); }
- }
-
- private DateTime _beginDate;
-
+ public virtual string AssessmentBatteryPartName { get; set; }
// -------------------------------------------------------------
// =============================================================
@@ -6905,25 +6897,6 @@ public virtual DateTime BeginDate
// =============================================================
// Properties
// -------------------------------------------------------------
- public virtual DateTime? EndDate
- {
- get { return _endDate; }
- set
- {
- //This is only stored as a Date in the DB and NHibernate will retrieve it using the default (local) DateTime.Kind. We must ensure it is set consistently for any equality/change evaluation.
- if(value == null)
- {
- _endDate = null;
- } else
- {
- var given = (DateTime) value;
- _endDate = new DateTime(given.Year, given.Month, given.Day);
- }
- }
- }
-
- private DateTime? _endDate;
-
// -------------------------------------------------------------
// =============================================================
@@ -6968,6 +6941,26 @@ public IDictionary Extensions
// =============================================================
// Reference Data
// -------------------------------------------------------------
+ public virtual NHibernate.AssessmentBatteryPartAggregate.EdFi.AssessmentBatteryPartReferenceData AssessmentBatteryPartReferenceData { get; set; }
+
+ ///
+ /// Read-only property that allows the AssessmentBatteryPart discriminator value to be mapped to the resource reference.
+ ///
+ string Entities.Common.EdFi.IAssessmentAdministrationAssessmentBatteryPart.AssessmentBatteryPartDiscriminator
+ {
+ get { return AssessmentBatteryPartReferenceData?.Discriminator; }
+ set { }
+ }
+
+ ///
+ /// Read-only property that allows the AssessmentBatteryPart resource identifier value to be mapped to the resource reference.
+ ///
+ Guid? Entities.Common.EdFi.IAssessmentAdministrationAssessmentBatteryPart.AssessmentBatteryPartResourceId
+ {
+ get { return AssessmentBatteryPartReferenceData?.Id; }
+ set { }
+ }
+
// -------------------------------------------------------------
//=============================================================
@@ -6992,7 +6985,7 @@ OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues()
var keyValues = (AssessmentAdministration as IHasPrimaryKeyValues).GetPrimaryKeyValues();
// Add current key values
- keyValues.Add("BeginDate", BeginDate);
+ keyValues.Add("AssessmentBatteryPartName", AssessmentBatteryPartName);
return keyValues;
}
@@ -7056,12 +7049,12 @@ public override int GetHashCode()
#endregion
bool ISynchronizable.Synchronize(object target)
{
- return this.SynchronizeTo((Entities.Common.EdFi.IAssessmentAdministrationAssessmentAdminstrationPeriod)target);
+ return this.SynchronizeTo((Entities.Common.EdFi.IAssessmentAdministrationAssessmentBatteryPart)target);
}
void IMappable.Map(object target)
{
- this.MapTo((Entities.Common.EdFi.IAssessmentAdministrationAssessmentAdminstrationPeriod) target, null);
+ this.MapTo((Entities.Common.EdFi.IAssessmentAdministrationAssessmentBatteryPart) target, null);
}
void IChildEntity.SetParent(object value)
@@ -7073,19 +7066,19 @@ void IChildEntity.SetParent(object value)
#pragma warning disable 612, 618
///
- /// A class which represents the edfi.AssessmentAdministrationAssessmentBatteryPart table of the AssessmentAdministration aggregate in the ODS database.
+ /// A class which represents the edfi.AssessmentAdministrationPeriod table of the AssessmentAdministration aggregate in the ODS database.
///
[Schema("edfi")]
[ExcludeFromCodeCoverage]
- public class AssessmentAdministrationAssessmentBatteryPart : EntityWithCompositeKey, IChildEntity,
- Entities.Common.EdFi.IAssessmentAdministrationAssessmentBatteryPart, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions
+ public class AssessmentAdministrationPeriod : EntityWithCompositeKey, IChildEntity,
+ Entities.Common.EdFi.IAssessmentAdministrationPeriod, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions
{
public virtual void SuspendReferenceAssignmentCheck() { }
- public AssessmentAdministrationAssessmentBatteryPart()
+ public AssessmentAdministrationPeriod()
{
- Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this));
- AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions());
+ Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this));
+ AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions());
}
// restore warnings for inheritance from classes marked Obsolete
#pragma warning restore 612, 618
@@ -7096,14 +7089,22 @@ public AssessmentAdministrationAssessmentBatteryPart()
[DomainSignature, JsonIgnore]
public virtual AssessmentAdministration AssessmentAdministration { get; set; }
- Entities.Common.EdFi.IAssessmentAdministration IAssessmentAdministrationAssessmentBatteryPart.AssessmentAdministration
+ Entities.Common.EdFi.IAssessmentAdministration IAssessmentAdministrationPeriod.AssessmentAdministration
{
get { return AssessmentAdministration; }
set { AssessmentAdministration = (AssessmentAdministration) value; }
}
[DomainSignature]
- public virtual string AssessmentBatteryPartName { get; set; }
+ public virtual DateTime BeginDate
+ {
+ get { return _beginDate; }
+ //This is only stored as a Date in the DB and NHibernate will retrieve it using the default (local) DateTime.Kind. We must ensure it is set consistently for any equality/change evaluation.
+ set { _beginDate = new DateTime(value.Year, value.Month, value.Day); }
+ }
+
+ private DateTime _beginDate;
+
// -------------------------------------------------------------
// =============================================================
@@ -7114,6 +7115,25 @@ Entities.Common.EdFi.IAssessmentAdministration IAssessmentAdministrationAssessme
// =============================================================
// Properties
// -------------------------------------------------------------
+ public virtual DateTime? EndDate
+ {
+ get { return _endDate; }
+ set
+ {
+ //This is only stored as a Date in the DB and NHibernate will retrieve it using the default (local) DateTime.Kind. We must ensure it is set consistently for any equality/change evaluation.
+ if(value == null)
+ {
+ _endDate = null;
+ } else
+ {
+ var given = (DateTime) value;
+ _endDate = new DateTime(given.Year, given.Month, given.Day);
+ }
+ }
+ }
+
+ private DateTime? _endDate;
+
// -------------------------------------------------------------
// =============================================================
@@ -7158,26 +7178,6 @@ public IDictionary Extensions
// =============================================================
// Reference Data
// -------------------------------------------------------------
- public virtual NHibernate.AssessmentBatteryPartAggregate.EdFi.AssessmentBatteryPartReferenceData AssessmentBatteryPartReferenceData { get; set; }
-
- ///
- /// Read-only property that allows the AssessmentBatteryPart discriminator value to be mapped to the resource reference.
- ///
- string Entities.Common.EdFi.IAssessmentAdministrationAssessmentBatteryPart.AssessmentBatteryPartDiscriminator
- {
- get { return AssessmentBatteryPartReferenceData?.Discriminator; }
- set { }
- }
-
- ///
- /// Read-only property that allows the AssessmentBatteryPart resource identifier value to be mapped to the resource reference.
- ///
- Guid? Entities.Common.EdFi.IAssessmentAdministrationAssessmentBatteryPart.AssessmentBatteryPartResourceId
- {
- get { return AssessmentBatteryPartReferenceData?.Id; }
- set { }
- }
-
// -------------------------------------------------------------
//=============================================================
@@ -7202,7 +7202,7 @@ OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues()
var keyValues = (AssessmentAdministration as IHasPrimaryKeyValues).GetPrimaryKeyValues();
// Add current key values
- keyValues.Add("AssessmentBatteryPartName", AssessmentBatteryPartName);
+ keyValues.Add("BeginDate", BeginDate);
return keyValues;
}
@@ -7266,12 +7266,12 @@ public override int GetHashCode()
#endregion
bool ISynchronizable.Synchronize(object target)
{
- return this.SynchronizeTo((Entities.Common.EdFi.IAssessmentAdministrationAssessmentBatteryPart)target);
+ return this.SynchronizeTo((Entities.Common.EdFi.IAssessmentAdministrationPeriod)target);
}
void IMappable.Map(object target)
{
- this.MapTo((Entities.Common.EdFi.IAssessmentAdministrationAssessmentBatteryPart) target, null);
+ this.MapTo((Entities.Common.EdFi.IAssessmentAdministrationPeriod) target, null);
}
void IChildEntity.SetParent(object value)
@@ -7280,21 +7280,23 @@ void IChildEntity.SetParent(object value)
}
}
}
-// Aggregate: AssessmentBatteryPart
+// Aggregate: AssessmentAdministrationParticipation
-namespace EdFi.Ods.Entities.NHibernate.AssessmentBatteryPartAggregate.EdFi
+namespace EdFi.Ods.Entities.NHibernate.AssessmentAdministrationParticipationAggregate.EdFi
{
///
- /// Represents a read-only reference to the entity.
+ /// Represents a read-only reference to the entity.
///
- public class AssessmentBatteryPartReferenceData : IHasPrimaryKeyValues
+ public class AssessmentAdministrationParticipationReferenceData : IHasPrimaryKeyValues
{
// =============================================================
// Primary Key
// -------------------------------------------------------------
- public virtual string AssessmentBatteryPartName { get; set; }
+ public virtual string AdministrationIdentifier { get; set; }
public virtual string AssessmentIdentifier { get; set; }
+ public virtual long AssigningEducationOrganizationId { get; set; }
public virtual string Namespace { get; set; }
+ public virtual long ParticipatingEducationOrganizationId { get; set; }
// -------------------------------------------------------------
///
@@ -7315,9 +7317,11 @@ OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues()
var keyValues = new OrderedDictionary();
// Add current key values
- keyValues.Add("AssessmentBatteryPartName", AssessmentBatteryPartName);
+ keyValues.Add("AdministrationIdentifier", AdministrationIdentifier);
keyValues.Add("AssessmentIdentifier", AssessmentIdentifier);
+ keyValues.Add("AssigningEducationOrganizationId", AssigningEducationOrganizationId);
keyValues.Add("Namespace", Namespace);
+ keyValues.Add("ParticipatingEducationOrganizationId", ParticipatingEducationOrganizationId);
return keyValues;
}
@@ -7368,20 +7372,20 @@ public override int GetHashCode()
#pragma warning disable 612, 618
///
- /// A class which represents the edfi.AssessmentBatteryPart table of the AssessmentBatteryPart aggregate in the ODS database.
+ /// A class which represents the edfi.AssessmentAdministrationParticipation table of the AssessmentAdministrationParticipation aggregate in the ODS database.
///
[Schema("edfi")]
[ExcludeFromCodeCoverage]
- public class AssessmentBatteryPart : AggregateRootWithCompositeKey,
- Entities.Common.EdFi.IAssessmentBatteryPart, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions
+ public class AssessmentAdministrationParticipation : AggregateRootWithCompositeKey,
+ Entities.Common.EdFi.IAssessmentAdministrationParticipation, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions
{
public virtual void SuspendReferenceAssignmentCheck() { }
- public AssessmentBatteryPart()
+ public AssessmentAdministrationParticipation()
{
- AssessmentBatteryPartObjectiveAssessments = new HashSet();
- Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this));
- AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions());
+ AssessmentAdministrationParticipationAdministrationPointOfContacts = new HashSet();
+ Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this));
+ AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions());
}
// restore warnings for inheritance from classes marked Obsolete
#pragma warning restore 612, 618
@@ -7390,11 +7394,15 @@ public AssessmentBatteryPart()
// Primary Key
// -------------------------------------------------------------
[DomainSignature]
- public virtual string AssessmentBatteryPartName { get; set; }
+ public virtual string AdministrationIdentifier { get; set; }
[DomainSignature]
public virtual string AssessmentIdentifier { get; set; }
[DomainSignature]
+ public virtual long AssigningEducationOrganizationId { get; set; }
+ [DomainSignature]
public virtual string Namespace { get; set; }
+ [DomainSignature]
+ public virtual long ParticipatingEducationOrganizationId { get; set; }
// -------------------------------------------------------------
// =============================================================
@@ -7449,23 +7457,43 @@ public IDictionary Extensions
// =============================================================
// Reference Data
// -------------------------------------------------------------
- public virtual NHibernate.AssessmentAggregate.EdFi.AssessmentReferenceData AssessmentReferenceData { get; set; }
+ public virtual NHibernate.AssessmentAdministrationAggregate.EdFi.AssessmentAdministrationReferenceData AssessmentAdministrationReferenceData { get; set; }
///
- /// Read-only property that allows the Assessment discriminator value to be mapped to the resource reference.
+ /// Read-only property that allows the AssessmentAdministration discriminator value to be mapped to the resource reference.
///
- string Entities.Common.EdFi.IAssessmentBatteryPart.AssessmentDiscriminator
+ string Entities.Common.EdFi.IAssessmentAdministrationParticipation.AssessmentAdministrationDiscriminator
{
- get { return AssessmentReferenceData?.Discriminator; }
+ get { return AssessmentAdministrationReferenceData?.Discriminator; }
set { }
}
///
- /// Read-only property that allows the Assessment resource identifier value to be mapped to the resource reference.
+ /// Read-only property that allows the AssessmentAdministration resource identifier value to be mapped to the resource reference.
///
- Guid? Entities.Common.EdFi.IAssessmentBatteryPart.AssessmentResourceId
+ Guid? Entities.Common.EdFi.IAssessmentAdministrationParticipation.AssessmentAdministrationResourceId
{
- get { return AssessmentReferenceData?.Id; }
+ get { return AssessmentAdministrationReferenceData?.Id; }
+ set { }
+ }
+
+ public virtual NHibernate.EducationOrganizationAggregate.EdFi.EducationOrganizationReferenceData ParticipatingEducationOrganizationReferenceData { get; set; }
+
+ ///
+ /// Read-only property that allows the ParticipatingEducationOrganization discriminator value to be mapped to the resource reference.
+ ///
+ string Entities.Common.EdFi.IAssessmentAdministrationParticipation.ParticipatingEducationOrganizationDiscriminator
+ {
+ get { return ParticipatingEducationOrganizationReferenceData?.Discriminator; }
+ set { }
+ }
+
+ ///
+ /// Read-only property that allows the ParticipatingEducationOrganization resource identifier value to be mapped to the resource reference.
+ ///
+ Guid? Entities.Common.EdFi.IAssessmentAdministrationParticipation.ParticipatingEducationOrganizationResourceId
+ {
+ get { return ParticipatingEducationOrganizationReferenceData?.Id; }
set { }
}
@@ -7475,9 +7503,9 @@ string Entities.Common.EdFi.IAssessmentBatteryPart.AssessmentDiscriminator
// Collections
// -------------------------------------------------------------
- private ICollection _assessmentBatteryPartObjectiveAssessments;
- private ICollection _assessmentBatteryPartObjectiveAssessmentsCovariant;
- public virtual ICollection AssessmentBatteryPartObjectiveAssessments
+ private ICollection _assessmentAdministrationParticipationAdministrationPointOfContacts;
+ private ICollection _assessmentAdministrationParticipationAdministrationPointOfContactsCovariant;
+ public virtual ICollection AssessmentAdministrationParticipationAdministrationPointOfContacts
{
get
{
@@ -7486,38 +7514,38 @@ public virtual ICollection(value);
+ _assessmentAdministrationParticipationAdministrationPointOfContacts = value;
+ _assessmentAdministrationParticipationAdministrationPointOfContactsCovariant = new CovariantCollectionAdapter(value);
}
}
// Covariant version, visible only on the interface
- ICollection Entities.Common.EdFi.IAssessmentBatteryPart.AssessmentBatteryPartObjectiveAssessments
+ ICollection Entities.Common.EdFi.IAssessmentAdministrationParticipation.AssessmentAdministrationParticipationAdministrationPointOfContacts
{
get
{
// -------------------------------------------------------------
// Back-reference is required by NHibernate for persistence.
// -------------------------------------------------------------
- foreach (var item in _assessmentBatteryPartObjectiveAssessments)
- if (item.AssessmentBatteryPart == null)
- item.AssessmentBatteryPart = this;
+ foreach (var item in _assessmentAdministrationParticipationAdministrationPointOfContacts)
+ if (item.AssessmentAdministrationParticipation == null)
+ item.AssessmentAdministrationParticipation = this;
// -------------------------------------------------------------
- return _assessmentBatteryPartObjectiveAssessmentsCovariant;
+ return _assessmentAdministrationParticipationAdministrationPointOfContactsCovariant;
}
set
{
- AssessmentBatteryPartObjectiveAssessments = new HashSet(value.Cast());
+ AssessmentAdministrationParticipationAdministrationPointOfContacts = new HashSet(value.Cast());
}
}
@@ -7540,9 +7568,11 @@ OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues()
var keyValues = new OrderedDictionary();
// Add current key values
- keyValues.Add("AssessmentBatteryPartName", AssessmentBatteryPartName);
+ keyValues.Add("AdministrationIdentifier", AdministrationIdentifier);
keyValues.Add("AssessmentIdentifier", AssessmentIdentifier);
+ keyValues.Add("AssigningEducationOrganizationId", AssigningEducationOrganizationId);
keyValues.Add("Namespace", Namespace);
+ keyValues.Add("ParticipatingEducationOrganizationId", ParticipatingEducationOrganizationId);
return keyValues;
}
@@ -7606,12 +7636,12 @@ public override int GetHashCode()
#endregion
bool ISynchronizable.Synchronize(object target)
{
- return this.SynchronizeTo((Entities.Common.EdFi.IAssessmentBatteryPart)target);
+ return this.SynchronizeTo((Entities.Common.EdFi.IAssessmentAdministrationParticipation)target);
}
void IMappable.Map(object target)
{
- this.MapTo((Entities.Common.EdFi.IAssessmentBatteryPart) target, null);
+ this.MapTo((Entities.Common.EdFi.IAssessmentAdministrationParticipation) target, null);
}
}
@@ -7619,19 +7649,19 @@ void IMappable.Map(object target)
#pragma warning disable 612, 618
///
- /// A class which represents the edfi.AssessmentBatteryPartObjectiveAssessment table of the AssessmentBatteryPart aggregate in the ODS database.
+ /// A class which represents the edfi.AssessmentAdministrationParticipationAdministrationPointOfContact table of the AssessmentAdministrationParticipation aggregate in the ODS database.
///
[Schema("edfi")]
[ExcludeFromCodeCoverage]
- public class AssessmentBatteryPartObjectiveAssessment : EntityWithCompositeKey, IChildEntity,
- Entities.Common.EdFi.IAssessmentBatteryPartObjectiveAssessment, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions
+ public class AssessmentAdministrationParticipationAdministrationPointOfContact : EntityWithCompositeKey, IChildEntity,
+ Entities.Common.EdFi.IAssessmentAdministrationParticipationAdministrationPointOfContact, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions
{
public virtual void SuspendReferenceAssignmentCheck() { }
- public AssessmentBatteryPartObjectiveAssessment()
+ public AssessmentAdministrationParticipationAdministrationPointOfContact()
{
- Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this));
- AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions());
+ Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this));
+ AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions());
}
// restore warnings for inheritance from classes marked Obsolete
#pragma warning restore 612, 618
@@ -7640,16 +7670,18 @@ public AssessmentBatteryPartObjectiveAssessment()
// Primary Key
// -------------------------------------------------------------
[DomainSignature, JsonIgnore]
- public virtual AssessmentBatteryPart AssessmentBatteryPart { get; set; }
+ public virtual AssessmentAdministrationParticipation AssessmentAdministrationParticipation { get; set; }
- Entities.Common.EdFi.IAssessmentBatteryPart IAssessmentBatteryPartObjectiveAssessment.AssessmentBatteryPart
+ Entities.Common.EdFi.IAssessmentAdministrationParticipation IAssessmentAdministrationParticipationAdministrationPointOfContact.AssessmentAdministrationParticipation
{
- get { return AssessmentBatteryPart; }
- set { AssessmentBatteryPart = (AssessmentBatteryPart) value; }
+ get { return AssessmentAdministrationParticipation; }
+ set { AssessmentAdministrationParticipation = (AssessmentAdministrationParticipation) value; }
}
[DomainSignature]
- public virtual string IdentificationCode { get; set; }
+ public virtual long EducationOrganizationId { get; set; }
+ [DomainSignature]
+ public virtual string ElectronicMailAddress { get; set; }
// -------------------------------------------------------------
// =============================================================
@@ -7660,6 +7692,9 @@ Entities.Common.EdFi.IAssessmentBatteryPart IAssessmentBatteryPartObjectiveAsses
// =============================================================
// Properties
// -------------------------------------------------------------
+ public virtual string FirstName { get; set; }
+ public virtual string LastSurname { get; set; }
+ public virtual string LoginId { get; set; }
// -------------------------------------------------------------
// =============================================================
@@ -7704,23 +7739,23 @@ public IDictionary Extensions
// =============================================================
// Reference Data
// -------------------------------------------------------------
- public virtual NHibernate.ObjectiveAssessmentAggregate.EdFi.ObjectiveAssessmentReferenceData ObjectiveAssessmentReferenceData { get; set; }
+ public virtual NHibernate.EducationOrganizationAggregate.EdFi.EducationOrganizationReferenceData EducationOrganizationReferenceData { get; set; }
///
- /// Read-only property that allows the ObjectiveAssessment discriminator value to be mapped to the resource reference.
+ /// Read-only property that allows the EducationOrganization discriminator value to be mapped to the resource reference.
///
- string Entities.Common.EdFi.IAssessmentBatteryPartObjectiveAssessment.ObjectiveAssessmentDiscriminator
+ string Entities.Common.EdFi.IAssessmentAdministrationParticipationAdministrationPointOfContact.EducationOrganizationDiscriminator
{
- get { return ObjectiveAssessmentReferenceData?.Discriminator; }
+ get { return EducationOrganizationReferenceData?.Discriminator; }
set { }
}
///
- /// Read-only property that allows the ObjectiveAssessment resource identifier value to be mapped to the resource reference.
+ /// Read-only property that allows the EducationOrganization resource identifier value to be mapped to the resource reference.
///
- Guid? Entities.Common.EdFi.IAssessmentBatteryPartObjectiveAssessment.ObjectiveAssessmentResourceId
+ Guid? Entities.Common.EdFi.IAssessmentAdministrationParticipationAdministrationPointOfContact.EducationOrganizationResourceId
{
- get { return ObjectiveAssessmentReferenceData?.Id; }
+ get { return EducationOrganizationReferenceData?.Id; }
set { }
}
@@ -7745,10 +7780,11 @@ Dictionary IHasLookupColumnPropertyMap.IdPropertyBy
OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues()
{
// Get parent key values
- var keyValues = (AssessmentBatteryPart as IHasPrimaryKeyValues).GetPrimaryKeyValues();
+ var keyValues = (AssessmentAdministrationParticipation as IHasPrimaryKeyValues).GetPrimaryKeyValues();
// Add current key values
- keyValues.Add("IdentificationCode", IdentificationCode);
+ keyValues.Add("EducationOrganizationId", EducationOrganizationId);
+ keyValues.Add("ElectronicMailAddress", ElectronicMailAddress);
return keyValues;
}
@@ -7812,81 +7848,140 @@ public override int GetHashCode()
#endregion
bool ISynchronizable.Synchronize(object target)
{
- return this.SynchronizeTo((Entities.Common.EdFi.IAssessmentBatteryPartObjectiveAssessment)target);
+ return this.SynchronizeTo((Entities.Common.EdFi.IAssessmentAdministrationParticipationAdministrationPointOfContact)target);
}
void IMappable.Map(object target)
{
- this.MapTo((Entities.Common.EdFi.IAssessmentBatteryPartObjectiveAssessment) target, null);
+ this.MapTo((Entities.Common.EdFi.IAssessmentAdministrationParticipationAdministrationPointOfContact) target, null);
}
void IChildEntity.SetParent(object value)
{
- AssessmentBatteryPart = (AssessmentBatteryPart) value;
+ AssessmentAdministrationParticipation = (AssessmentAdministrationParticipation) value;
}
}
}
-// Aggregate: AssessmentCategoryDescriptor
+// Aggregate: AssessmentBatteryPart
-namespace EdFi.Ods.Entities.NHibernate.AssessmentCategoryDescriptorAggregate.EdFi
+namespace EdFi.Ods.Entities.NHibernate.AssessmentBatteryPartAggregate.EdFi
{
+ ///
+ /// Represents a read-only reference to the entity.
+ ///
+ public class AssessmentBatteryPartReferenceData : IHasPrimaryKeyValues
+ {
+ // =============================================================
+ // Primary Key
+ // -------------------------------------------------------------
+ public virtual string AssessmentBatteryPartName { get; set; }
+ public virtual string AssessmentIdentifier { get; set; }
+ public virtual string Namespace { get; set; }
+ // -------------------------------------------------------------
+
+ ///
+ /// The id of the referenced entity (used as the resource identifier in the API).
+ ///
+ public virtual Guid? Id { get; set; }
+
+ ///
+ /// Gets and sets the discriminator value which identifies the concrete sub-type of the referenced entity
+ /// when that entity has been derived; otherwise null.
+ ///
+ public virtual string Discriminator { get; set; }
+
+ // Provide primary key information
+ OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues()
+ {
+ // Initialize a new dictionary to hold the key values
+ var keyValues = new OrderedDictionary();
+
+ // Add current key values
+ keyValues.Add("AssessmentBatteryPartName", AssessmentBatteryPartName);
+ keyValues.Add("AssessmentIdentifier", AssessmentIdentifier);
+ keyValues.Add("Namespace", Namespace);
+
+ return keyValues;
+ }
+
+ #region Overrides for Equals() and GetHashCode()
+ public override bool Equals(object obj)
+ {
+ var compareTo = obj as IHasPrimaryKeyValues;
+
+ if (ReferenceEquals(this, compareTo))
+ return true;
+
+ if (compareTo == null)
+ return false;
+
+ var theseKeys = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues();
+ var thoseKeys = compareTo.GetPrimaryKeyValues();
+
+ foreach (DictionaryEntry entry in theseKeys)
+ {
+ if (!entry.Value.Equals(thoseKeys[entry.Key]))
+ return false;
+ }
+
+ return true;
+ }
+
+ public override int GetHashCode()
+ {
+ var keyValues = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues();
+
+ if (keyValues.Count == 0)
+ return base.GetHashCode();
+
+ var hashCode = new HashCode();
+
+ foreach (DictionaryEntry entry in keyValues)
+ {
+ hashCode.Add(entry.Value);
+ }
+
+ return hashCode.ToHashCode();
+ }
+ #endregion
+ }
+
// disable warnings for inheritance from classes marked Obsolete within this generated code only
#pragma warning disable 612, 618
///
- /// A class which represents the edfi.AssessmentCategoryDescriptor table of the AssessmentCategoryDescriptor aggregate in the ODS database.
+ /// A class which represents the edfi.AssessmentBatteryPart table of the AssessmentBatteryPart aggregate in the ODS database.
///
[Schema("edfi")]
[ExcludeFromCodeCoverage]
- public class AssessmentCategoryDescriptor : DescriptorAggregate.EdFi.Descriptor,
- Entities.Common.EdFi.IAssessmentCategoryDescriptor, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IEdFiDescriptor
+ public class AssessmentBatteryPart : AggregateRootWithCompositeKey,
+ Entities.Common.EdFi.IAssessmentBatteryPart, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions
{
+ public virtual void SuspendReferenceAssignmentCheck() { }
+
+ public AssessmentBatteryPart()
+ {
+ AssessmentBatteryPartObjectiveAssessments = new HashSet();
+ Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this));
+ AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions());
+ }
+// restore warnings for inheritance from classes marked Obsolete
+#pragma warning restore 612, 618
// =============================================================
// Primary Key
// -------------------------------------------------------------
[DomainSignature]
- public virtual int AssessmentCategoryDescriptorId
- {
- get { return base.DescriptorId; }
- set { base.DescriptorId = value; }
- }
-
+ public virtual string AssessmentBatteryPartName { get; set; }
+ [DomainSignature]
+ public virtual string AssessmentIdentifier { get; set; }
+ [DomainSignature]
+ public virtual string Namespace { get; set; }
// -------------------------------------------------------------
// =============================================================
// Inherited Properties
// -------------------------------------------------------------
- string IDescriptor.CodeValue
- {
- get { return CodeValue; }
- set { CodeValue = value; }
- }
- string IDescriptor.Description
- {
- get { return Description; }
- set { Description = value; }
- }
- DateTime? IDescriptor.EffectiveBeginDate
- {
- get { return EffectiveBeginDate; }
- set { EffectiveBeginDate = value; }
- }
- DateTime? IDescriptor.EffectiveEndDate
- {
- get { return EffectiveEndDate; }
- set { EffectiveEndDate = value; }
- }
- string IDescriptor.Namespace
- {
- get { return Namespace; }
- set { Namespace = value; }
- }
- string IDescriptor.ShortDescription
- {
- get { return ShortDescription; }
- set { ShortDescription = value; }
- }
// -------------------------------------------------------------
// =============================================================
@@ -7902,16 +7997,112 @@ string IDescriptor.ShortDescription
// =============================================================
// Extensions
// -------------------------------------------------------------
+ private IDictionary _extensions;
+
+ public IDictionary Extensions
+ {
+ get => _extensions;
+ set
+ {
+ // If the _extensions is null, this is being assigned from the constructor
+ // for the first time and no special handling is required
+ if (_extensions != null)
+ {
+ // For extensions that have already been initialized by the extensions factory,
+ // we need to copy any "implicit" extension object entries over to the incoming
+ // value dictionary being assigned by NHibernate because it won't have them,
+ // but they must be there for correct handling of extensions for the API.
+ foreach (var key in _extensions.Keys)
+ {
+ if (!value.Contains(key))
+ {
+ value[key] = _extensions[key];
+ }
+ }
+ }
+
+ _extensions = value;
+ }
+ }
+
+ public IDictionary AggregateExtensions { get; set; }
// -------------------------------------------------------------
// =============================================================
// Reference Data
// -------------------------------------------------------------
+ public virtual NHibernate.AssessmentAggregate.EdFi.AssessmentReferenceData AssessmentReferenceData { get; set; }
+
+ ///
+ /// Read-only property that allows the Assessment discriminator value to be mapped to the resource reference.
+ ///
+ string Entities.Common.EdFi.IAssessmentBatteryPart.AssessmentDiscriminator
+ {
+ get { return AssessmentReferenceData?.Discriminator; }
+ set { }
+ }
+
+ ///
+ /// Read-only property that allows the Assessment resource identifier value to be mapped to the resource reference.
+ ///
+ Guid? Entities.Common.EdFi.IAssessmentBatteryPart.AssessmentResourceId
+ {
+ get { return AssessmentReferenceData?.Id; }
+ set { }
+ }
+
// -------------------------------------------------------------
//=============================================================
// Collections
// -------------------------------------------------------------
+
+ private ICollection _assessmentBatteryPartObjectiveAssessments;
+ private ICollection _assessmentBatteryPartObjectiveAssessmentsCovariant;
+ public virtual ICollection AssessmentBatteryPartObjectiveAssessments
+ {
+ get
+ {
+ // -------------------------------------------------------------
+ // On-demand deserialization logic to attach reverse reference of children
+ // due to ServiceStack's lack of [OnDeserialized] attribute support.
+ // Back-reference is required by NHibernate for persistence.
+ // -------------------------------------------------------------
+ foreach (var item in _assessmentBatteryPartObjectiveAssessments)
+ if (item.AssessmentBatteryPart == null)
+ item.AssessmentBatteryPart = this;
+ // -------------------------------------------------------------
+
+ return _assessmentBatteryPartObjectiveAssessments;
+ }
+ set
+ {
+ _assessmentBatteryPartObjectiveAssessments = value;
+ _assessmentBatteryPartObjectiveAssessmentsCovariant = new CovariantCollectionAdapter(value);
+ }
+ }
+
+ // Covariant version, visible only on the interface
+ ICollection Entities.Common.EdFi.IAssessmentBatteryPart.AssessmentBatteryPartObjectiveAssessments
+ {
+ get
+ {
+ // -------------------------------------------------------------
+ // Back-reference is required by NHibernate for persistence.
+ // -------------------------------------------------------------
+ foreach (var item in _assessmentBatteryPartObjectiveAssessments)
+ if (item.AssessmentBatteryPart == null)
+ item.AssessmentBatteryPart = this;
+ // -------------------------------------------------------------
+
+ return _assessmentBatteryPartObjectiveAssessmentsCovariant;
+ }
+ set
+ {
+ AssessmentBatteryPartObjectiveAssessments = new HashSet(value.Cast());
+ }
+ }
+
// -------------------------------------------------------------
// Provide lookup property map
@@ -7931,7 +8122,398 @@ OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues()
var keyValues = new OrderedDictionary();
// Add current key values
- keyValues.Add("AssessmentCategoryDescriptorId", AssessmentCategoryDescriptorId);
+ keyValues.Add("AssessmentBatteryPartName", AssessmentBatteryPartName);
+ keyValues.Add("AssessmentIdentifier", AssessmentIdentifier);
+ keyValues.Add("Namespace", Namespace);
+
+ return keyValues;
+ }
+
+ #region Overrides for Equals() and GetHashCode()
+ public override bool Equals(object obj)
+ {
+ var compareTo = obj as IHasPrimaryKeyValues;
+
+ if (ReferenceEquals(this, compareTo))
+ return true;
+
+ if (compareTo == null)
+ return false;
+
+ var theseKeys = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues();
+ var thoseKeys = compareTo.GetPrimaryKeyValues();
+
+ foreach (DictionaryEntry entry in theseKeys)
+ {
+ if (entry.Value is string)
+ {
+ if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((string) entry.Value, (string) thoseKeys[entry.Key]))
+ {
+ return false;
+ }
+ }
+ else
+ {
+ if (!entry.Value.Equals(thoseKeys[entry.Key]))
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ public override int GetHashCode()
+ {
+ var keyValues = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues();
+
+ if (keyValues.Count == 0)
+ return base.GetHashCode();
+
+ var hashCode = new HashCode();
+
+ foreach (DictionaryEntry entry in keyValues)
+ {
+ if (entry.Value is string)
+ {
+ hashCode.Add(entry.Value as string, GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer);
+ }
+ else
+ {
+ hashCode.Add(entry.Value);
+ }
+ }
+
+ return hashCode.ToHashCode();
+ }
+ #endregion
+ bool ISynchronizable.Synchronize(object target)
+ {
+ return this.SynchronizeTo((Entities.Common.EdFi.IAssessmentBatteryPart)target);
+ }
+
+ void IMappable.Map(object target)
+ {
+ this.MapTo((Entities.Common.EdFi.IAssessmentBatteryPart) target, null);
+ }
+
+ }
+// disable warnings for inheritance from classes marked Obsolete within this generated code only
+#pragma warning disable 612, 618
+
+ ///
+ /// A class which represents the edfi.AssessmentBatteryPartObjectiveAssessment table of the AssessmentBatteryPart aggregate in the ODS database.
+ ///
+ [Schema("edfi")]
+ [ExcludeFromCodeCoverage]
+ public class AssessmentBatteryPartObjectiveAssessment : EntityWithCompositeKey, IChildEntity,
+ Entities.Common.EdFi.IAssessmentBatteryPartObjectiveAssessment, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions
+ {
+ public virtual void SuspendReferenceAssignmentCheck() { }
+
+ public AssessmentBatteryPartObjectiveAssessment()
+ {
+ Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this));
+ AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions());
+ }
+// restore warnings for inheritance from classes marked Obsolete
+#pragma warning restore 612, 618
+
+ // =============================================================
+ // Primary Key
+ // -------------------------------------------------------------
+ [DomainSignature, JsonIgnore]
+ public virtual AssessmentBatteryPart AssessmentBatteryPart { get; set; }
+
+ Entities.Common.EdFi.IAssessmentBatteryPart IAssessmentBatteryPartObjectiveAssessment.AssessmentBatteryPart
+ {
+ get { return AssessmentBatteryPart; }
+ set { AssessmentBatteryPart = (AssessmentBatteryPart) value; }
+ }
+
+ [DomainSignature]
+ public virtual string IdentificationCode { get; set; }
+ // -------------------------------------------------------------
+
+ // =============================================================
+ // Inherited Properties
+ // -------------------------------------------------------------
+ // -------------------------------------------------------------
+
+ // =============================================================
+ // Properties
+ // -------------------------------------------------------------
+ // -------------------------------------------------------------
+
+ // =============================================================
+ // One-to-one relationships
+ // -------------------------------------------------------------
+ // -------------------------------------------------------------
+
+ // =============================================================
+ // Extensions
+ // -------------------------------------------------------------
+ private IDictionary _extensions;
+
+ public IDictionary Extensions
+ {
+ get => _extensions;
+ set
+ {
+ // If the _extensions is null, this is being assigned from the constructor
+ // for the first time and no special handling is required
+ if (_extensions != null)
+ {
+ // For extensions that have already been initialized by the extensions factory,
+ // we need to copy any "implicit" extension object entries over to the incoming
+ // value dictionary being assigned by NHibernate because it won't have them,
+ // but they must be there for correct handling of extensions for the API.
+ foreach (var key in _extensions.Keys)
+ {
+ if (!value.Contains(key))
+ {
+ value[key] = _extensions[key];
+ }
+ }
+ }
+
+ _extensions = value;
+ }
+ }
+
+ public IDictionary AggregateExtensions { get; set; }
+ // -------------------------------------------------------------
+
+ // =============================================================
+ // Reference Data
+ // -------------------------------------------------------------
+ public virtual NHibernate.ObjectiveAssessmentAggregate.EdFi.ObjectiveAssessmentReferenceData ObjectiveAssessmentReferenceData { get; set; }
+
+ ///
+ /// Read-only property that allows the ObjectiveAssessment discriminator value to be mapped to the resource reference.
+ ///
+ string Entities.Common.EdFi.IAssessmentBatteryPartObjectiveAssessment.ObjectiveAssessmentDiscriminator
+ {
+ get { return ObjectiveAssessmentReferenceData?.Discriminator; }
+ set { }
+ }
+
+ ///
+ /// Read-only property that allows the ObjectiveAssessment resource identifier value to be mapped to the resource reference.
+ ///
+ Guid? Entities.Common.EdFi.IAssessmentBatteryPartObjectiveAssessment.ObjectiveAssessmentResourceId
+ {
+ get { return ObjectiveAssessmentReferenceData?.Id; }
+ set { }
+ }
+
+ // -------------------------------------------------------------
+
+ //=============================================================
+ // Collections
+ // -------------------------------------------------------------
+ // -------------------------------------------------------------
+
+ // Provide lookup property map
+ private static readonly Dictionary _idPropertyByLookupProperty = new Dictionary(StringComparer.InvariantCultureIgnoreCase)
+ {
+ };
+
+ Dictionary IHasLookupColumnPropertyMap.IdPropertyByLookupProperty
+ {
+ get { return _idPropertyByLookupProperty; }
+ }
+
+ // Provide primary key information
+ OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues()
+ {
+ // Get parent key values
+ var keyValues = (AssessmentBatteryPart as IHasPrimaryKeyValues).GetPrimaryKeyValues();
+
+ // Add current key values
+ keyValues.Add("IdentificationCode", IdentificationCode);
+
+ return keyValues;
+ }
+
+ #region Overrides for Equals() and GetHashCode()
+ public override bool Equals(object obj)
+ {
+ var compareTo = obj as IHasPrimaryKeyValues;
+
+ if (ReferenceEquals(this, compareTo))
+ return true;
+
+ if (compareTo == null)
+ return false;
+
+ var theseKeys = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues();
+ var thoseKeys = compareTo.GetPrimaryKeyValues();
+
+ foreach (DictionaryEntry entry in theseKeys)
+ {
+ if (entry.Value is string)
+ {
+ if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((string) entry.Value, (string) thoseKeys[entry.Key]))
+ {
+ return false;
+ }
+ }
+ else
+ {
+ if (!entry.Value.Equals(thoseKeys[entry.Key]))
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ public override int GetHashCode()
+ {
+ var keyValues = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues();
+
+ if (keyValues.Count == 0)
+ return base.GetHashCode();
+
+ var hashCode = new HashCode();
+
+ foreach (DictionaryEntry entry in keyValues)
+ {
+ if (entry.Value is string)
+ {
+ hashCode.Add(entry.Value as string, GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer);
+ }
+ else
+ {
+ hashCode.Add(entry.Value);
+ }
+ }
+
+ return hashCode.ToHashCode();
+ }
+ #endregion
+ bool ISynchronizable.Synchronize(object target)
+ {
+ return this.SynchronizeTo((Entities.Common.EdFi.IAssessmentBatteryPartObjectiveAssessment)target);
+ }
+
+ void IMappable.Map(object target)
+ {
+ this.MapTo((Entities.Common.EdFi.IAssessmentBatteryPartObjectiveAssessment) target, null);
+ }
+
+ void IChildEntity.SetParent(object value)
+ {
+ AssessmentBatteryPart = (AssessmentBatteryPart) value;
+ }
+ }
+}
+// Aggregate: AssessmentCategoryDescriptor
+
+namespace EdFi.Ods.Entities.NHibernate.AssessmentCategoryDescriptorAggregate.EdFi
+{
+// disable warnings for inheritance from classes marked Obsolete within this generated code only
+#pragma warning disable 612, 618
+
+ ///
+ /// A class which represents the edfi.AssessmentCategoryDescriptor table of the AssessmentCategoryDescriptor aggregate in the ODS database.
+ ///
+ [Schema("edfi")]
+ [ExcludeFromCodeCoverage]
+ public class AssessmentCategoryDescriptor : DescriptorAggregate.EdFi.Descriptor,
+ Entities.Common.EdFi.IAssessmentCategoryDescriptor, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IEdFiDescriptor
+ {
+
+ // =============================================================
+ // Primary Key
+ // -------------------------------------------------------------
+ [DomainSignature]
+ public virtual int AssessmentCategoryDescriptorId
+ {
+ get { return base.DescriptorId; }
+ set { base.DescriptorId = value; }
+ }
+
+ // -------------------------------------------------------------
+
+ // =============================================================
+ // Inherited Properties
+ // -------------------------------------------------------------
+ string IDescriptor.CodeValue
+ {
+ get { return CodeValue; }
+ set { CodeValue = value; }
+ }
+ string IDescriptor.Description
+ {
+ get { return Description; }
+ set { Description = value; }
+ }
+ DateTime? IDescriptor.EffectiveBeginDate
+ {
+ get { return EffectiveBeginDate; }
+ set { EffectiveBeginDate = value; }
+ }
+ DateTime? IDescriptor.EffectiveEndDate
+ {
+ get { return EffectiveEndDate; }
+ set { EffectiveEndDate = value; }
+ }
+ string IDescriptor.Namespace
+ {
+ get { return Namespace; }
+ set { Namespace = value; }
+ }
+ string IDescriptor.ShortDescription
+ {
+ get { return ShortDescription; }
+ set { ShortDescription = value; }
+ }
+ // -------------------------------------------------------------
+
+ // =============================================================
+ // Properties
+ // -------------------------------------------------------------
+ // -------------------------------------------------------------
+
+ // =============================================================
+ // One-to-one relationships
+ // -------------------------------------------------------------
+ // -------------------------------------------------------------
+
+ // =============================================================
+ // Extensions
+ // -------------------------------------------------------------
+ // -------------------------------------------------------------
+
+ // =============================================================
+ // Reference Data
+ // -------------------------------------------------------------
+ // -------------------------------------------------------------
+
+ //=============================================================
+ // Collections
+ // -------------------------------------------------------------
+ // -------------------------------------------------------------
+
+ // Provide lookup property map
+ private static readonly Dictionary _idPropertyByLookupProperty = new Dictionary(StringComparer.InvariantCultureIgnoreCase)
+ {
+ };
+
+ Dictionary IHasLookupColumnPropertyMap.IdPropertyByLookupProperty
+ {
+ get { return _idPropertyByLookupProperty; }
+ }
+
+ // Provide primary key information
+ OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues()
+ {
+ // Initialize a new dictionary to hold the key values
+ var keyValues = new OrderedDictionary();
+
+ // Add current key values
+ keyValues.Add("AssessmentCategoryDescriptorId", AssessmentCategoryDescriptorId);
return keyValues;
}
@@ -9932,618 +10514,43 @@ public IDictionary Extensions
// =============================================================
// Reference Data
// -------------------------------------------------------------
- public virtual NHibernate.AssessmentAggregate.EdFi.AssessmentReferenceData AssessmentReferenceData { get; set; }
-
- ///
- /// Read-only property that allows the Assessment discriminator value to be mapped to the resource reference.
- ///
- string Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.AssessmentDiscriminator
- {
- get { return AssessmentReferenceData?.Discriminator; }
- set { }
- }
-
- ///
- /// Read-only property that allows the Assessment resource identifier value to be mapped to the resource reference.
- ///
- Guid? Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.AssessmentResourceId
- {
- get { return AssessmentReferenceData?.Id; }
- set { }
- }
-
- public virtual NHibernate.ObjectiveAssessmentAggregate.EdFi.ObjectiveAssessmentReferenceData ObjectiveAssessmentReferenceData { get; set; }
-
- ///
- /// Read-only property that allows the ObjectiveAssessment discriminator value to be mapped to the resource reference.
- ///
- string Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.ObjectiveAssessmentDiscriminator
- {
- get { return ObjectiveAssessmentReferenceData?.Discriminator; }
- set { }
- }
-
- ///
- /// Read-only property that allows the ObjectiveAssessment resource identifier value to be mapped to the resource reference.
- ///
- Guid? Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.ObjectiveAssessmentResourceId
- {
- get { return ObjectiveAssessmentReferenceData?.Id; }
- set { }
- }
-
- // -------------------------------------------------------------
-
- //=============================================================
- // Collections
- // -------------------------------------------------------------
-
- private ICollection _assessmentScoreRangeLearningStandardLearningStandards;
- private ICollection _assessmentScoreRangeLearningStandardLearningStandardsCovariant;
- public virtual ICollection AssessmentScoreRangeLearningStandardLearningStandards
- {
- get
- {
- // -------------------------------------------------------------
- // On-demand deserialization logic to attach reverse reference of children
- // due to ServiceStack's lack of [OnDeserialized] attribute support.
- // Back-reference is required by NHibernate for persistence.
- // -------------------------------------------------------------
- foreach (var item in _assessmentScoreRangeLearningStandardLearningStandards)
- if (item.AssessmentScoreRangeLearningStandard == null)
- item.AssessmentScoreRangeLearningStandard = this;
- // -------------------------------------------------------------
-
- return _assessmentScoreRangeLearningStandardLearningStandards;
- }
- set
- {
- _assessmentScoreRangeLearningStandardLearningStandards = value;
- _assessmentScoreRangeLearningStandardLearningStandardsCovariant = new CovariantCollectionAdapter(value);
- }
- }
-
- // Covariant version, visible only on the interface
- ICollection Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard.AssessmentScoreRangeLearningStandardLearningStandards
- {
- get
- {
- // -------------------------------------------------------------
- // Back-reference is required by NHibernate for persistence.
- // -------------------------------------------------------------
- foreach (var item in _assessmentScoreRangeLearningStandardLearningStandards)
- if (item.AssessmentScoreRangeLearningStandard == null)
- item.AssessmentScoreRangeLearningStandard = this;
- // -------------------------------------------------------------
-
- return _assessmentScoreRangeLearningStandardLearningStandardsCovariant;
- }
- set
- {
- AssessmentScoreRangeLearningStandardLearningStandards = new HashSet(value.Cast());
- }
- }
-
- // -------------------------------------------------------------
-
- // Provide lookup property map
- private static readonly Dictionary _idPropertyByLookupProperty = new Dictionary(StringComparer.InvariantCultureIgnoreCase)
- {
- { "AssessmentReportingMethodDescriptor", new LookupColumnDetails { PropertyName = "AssessmentReportingMethodDescriptorId", LookupTypeName = "AssessmentReportingMethodDescriptor"} },
- };
-
- Dictionary IHasLookupColumnPropertyMap.IdPropertyByLookupProperty
- {
- get { return _idPropertyByLookupProperty; }
- }
-
- // Provide primary key information
- OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues()
- {
- // Initialize a new dictionary to hold the key values
- var keyValues = new OrderedDictionary();
-
- // Add current key values
- keyValues.Add("AssessmentIdentifier", AssessmentIdentifier);
- keyValues.Add("Namespace", Namespace);
- keyValues.Add("ScoreRangeId", ScoreRangeId);
-
- return keyValues;
- }
-
- #region Overrides for Equals() and GetHashCode()
- public override bool Equals(object obj)
- {
- var compareTo = obj as IHasPrimaryKeyValues;
-
- if (ReferenceEquals(this, compareTo))
- return true;
-
- if (compareTo == null)
- return false;
-
- var theseKeys = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues();
- var thoseKeys = compareTo.GetPrimaryKeyValues();
-
- foreach (DictionaryEntry entry in theseKeys)
- {
- if (entry.Value is string)
- {
- if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((string) entry.Value, (string) thoseKeys[entry.Key]))
- {
- return false;
- }
- }
- else
- {
- if (!entry.Value.Equals(thoseKeys[entry.Key]))
- return false;
- }
- }
-
- return true;
- }
-
- public override int GetHashCode()
- {
- var keyValues = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues();
-
- if (keyValues.Count == 0)
- return base.GetHashCode();
-
- var hashCode = new HashCode();
-
- foreach (DictionaryEntry entry in keyValues)
- {
- if (entry.Value is string)
- {
- hashCode.Add(entry.Value as string, GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer);
- }
- else
- {
- hashCode.Add(entry.Value);
- }
- }
-
- return hashCode.ToHashCode();
- }
- #endregion
- bool ISynchronizable.Synchronize(object target)
- {
- return this.SynchronizeTo((Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard)target);
- }
-
- void IMappable.Map(object target)
- {
- this.MapTo((Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard) target, null);
- }
-
- }
-// disable warnings for inheritance from classes marked Obsolete within this generated code only
-#pragma warning disable 612, 618
-
- ///
- /// A class which represents the edfi.AssessmentScoreRangeLearningStandardLearningStandard table of the AssessmentScoreRangeLearningStandard aggregate in the ODS database.
- ///
- [Schema("edfi")]
- [ExcludeFromCodeCoverage]
- public class AssessmentScoreRangeLearningStandardLearningStandard : EntityWithCompositeKey, IChildEntity,
- Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions
- {
- public virtual void SuspendReferenceAssignmentCheck() { }
-
- public AssessmentScoreRangeLearningStandardLearningStandard()
- {
- Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this));
- AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions());
- }
-// restore warnings for inheritance from classes marked Obsolete
-#pragma warning restore 612, 618
-
- // =============================================================
- // Primary Key
- // -------------------------------------------------------------
- [DomainSignature, JsonIgnore]
- public virtual AssessmentScoreRangeLearningStandard AssessmentScoreRangeLearningStandard { get; set; }
-
- Entities.Common.EdFi.IAssessmentScoreRangeLearningStandard IAssessmentScoreRangeLearningStandardLearningStandard.AssessmentScoreRangeLearningStandard
- {
- get { return AssessmentScoreRangeLearningStandard; }
- set { AssessmentScoreRangeLearningStandard = (AssessmentScoreRangeLearningStandard) value; }
- }
-
- [DomainSignature]
- public virtual string LearningStandardId { get; set; }
- // -------------------------------------------------------------
-
- // =============================================================
- // Inherited Properties
- // -------------------------------------------------------------
- // -------------------------------------------------------------
-
- // =============================================================
- // Properties
- // -------------------------------------------------------------
- // -------------------------------------------------------------
-
- // =============================================================
- // One-to-one relationships
- // -------------------------------------------------------------
- // -------------------------------------------------------------
-
- // =============================================================
- // Extensions
- // -------------------------------------------------------------
- private IDictionary _extensions;
-
- public IDictionary Extensions
- {
- get => _extensions;
- set
- {
- // If the _extensions is null, this is being assigned from the constructor
- // for the first time and no special handling is required
- if (_extensions != null)
- {
- // For extensions that have already been initialized by the extensions factory,
- // we need to copy any "implicit" extension object entries over to the incoming
- // value dictionary being assigned by NHibernate because it won't have them,
- // but they must be there for correct handling of extensions for the API.
- foreach (var key in _extensions.Keys)
- {
- if (!value.Contains(key))
- {
- value[key] = _extensions[key];
- }
- }
- }
-
- _extensions = value;
- }
- }
-
- public IDictionary AggregateExtensions { get; set; }
- // -------------------------------------------------------------
-
- // =============================================================
- // Reference Data
- // -------------------------------------------------------------
- public virtual NHibernate.LearningStandardAggregate.EdFi.LearningStandardReferenceData LearningStandardReferenceData { get; set; }
-
- ///
- /// Read-only property that allows the LearningStandard discriminator value to be mapped to the resource reference.
- ///
- string Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard.LearningStandardDiscriminator
- {
- get { return LearningStandardReferenceData?.Discriminator; }
- set { }
- }
-
- ///
- /// Read-only property that allows the LearningStandard resource identifier value to be mapped to the resource reference.
- ///
- Guid? Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard.LearningStandardResourceId
- {
- get { return LearningStandardReferenceData?.Id; }
- set { }
- }
-
- // -------------------------------------------------------------
-
- //=============================================================
- // Collections
- // -------------------------------------------------------------
- // -------------------------------------------------------------
-
- // Provide lookup property map
- private static readonly Dictionary _idPropertyByLookupProperty = new Dictionary(StringComparer.InvariantCultureIgnoreCase)
- {
- };
-
- Dictionary IHasLookupColumnPropertyMap.IdPropertyByLookupProperty
- {
- get { return _idPropertyByLookupProperty; }
- }
-
- // Provide primary key information
- OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues()
- {
- // Get parent key values
- var keyValues = (AssessmentScoreRangeLearningStandard as IHasPrimaryKeyValues).GetPrimaryKeyValues();
-
- // Add current key values
- keyValues.Add("LearningStandardId", LearningStandardId);
-
- return keyValues;
- }
-
- #region Overrides for Equals() and GetHashCode()
- public override bool Equals(object obj)
- {
- var compareTo = obj as IHasPrimaryKeyValues;
-
- if (ReferenceEquals(this, compareTo))
- return true;
-
- if (compareTo == null)
- return false;
-
- var theseKeys = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues();
- var thoseKeys = compareTo.GetPrimaryKeyValues();
-
- foreach (DictionaryEntry entry in theseKeys)
- {
- if (entry.Value is string)
- {
- if (!GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer.Equals((string) entry.Value, (string) thoseKeys[entry.Key]))
- {
- return false;
- }
- }
- else
- {
- if (!entry.Value.Equals(thoseKeys[entry.Key]))
- return false;
- }
- }
-
- return true;
- }
-
- public override int GetHashCode()
- {
- var keyValues = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues();
-
- if (keyValues.Count == 0)
- return base.GetHashCode();
-
- var hashCode = new HashCode();
-
- foreach (DictionaryEntry entry in keyValues)
- {
- if (entry.Value is string)
- {
- hashCode.Add(entry.Value as string, GeneratedArtifactStaticDependencies.DatabaseEngineSpecificStringComparer);
- }
- else
- {
- hashCode.Add(entry.Value);
- }
- }
-
- return hashCode.ToHashCode();
- }
- #endregion
- bool ISynchronizable.Synchronize(object target)
- {
- return this.SynchronizeTo((Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard)target);
- }
-
- void IMappable.Map(object target)
- {
- this.MapTo((Entities.Common.EdFi.IAssessmentScoreRangeLearningStandardLearningStandard) target, null);
- }
-
- void IChildEntity.SetParent(object value)
- {
- AssessmentScoreRangeLearningStandard = (AssessmentScoreRangeLearningStandard) value;
- }
- }
-}
-// Aggregate: AssesssmentAdministrationParticipation
-
-namespace EdFi.Ods.Entities.NHibernate.AssesssmentAdministrationParticipationAggregate.EdFi
-{
- ///
- /// Represents a read-only reference to the entity.
- ///
- public class AssesssmentAdministrationParticipationReferenceData : IHasPrimaryKeyValues
- {
- // =============================================================
- // Primary Key
- // -------------------------------------------------------------
- public virtual string AdministrationIdentifier { get; set; }
- public virtual string AssessmentIdentifier { get; set; }
- public virtual long AssigningEducationOrganizationId { get; set; }
- public virtual string Namespace { get; set; }
- public virtual long ParticipatingEducationOrganizationId { get; set; }
- // -------------------------------------------------------------
-
- ///
- /// The id of the referenced entity (used as the resource identifier in the API).
- ///
- public virtual Guid? Id { get; set; }
-
- ///
- /// Gets and sets the discriminator value which identifies the concrete sub-type of the referenced entity
- /// when that entity has been derived; otherwise null.
- ///
- public virtual string Discriminator { get; set; }
-
- // Provide primary key information
- OrderedDictionary IHasPrimaryKeyValues.GetPrimaryKeyValues()
- {
- // Initialize a new dictionary to hold the key values
- var keyValues = new OrderedDictionary();
-
- // Add current key values
- keyValues.Add("AdministrationIdentifier", AdministrationIdentifier);
- keyValues.Add("AssessmentIdentifier", AssessmentIdentifier);
- keyValues.Add("AssigningEducationOrganizationId", AssigningEducationOrganizationId);
- keyValues.Add("Namespace", Namespace);
- keyValues.Add("ParticipatingEducationOrganizationId", ParticipatingEducationOrganizationId);
-
- return keyValues;
- }
-
- #region Overrides for Equals() and GetHashCode()
- public override bool Equals(object obj)
- {
- var compareTo = obj as IHasPrimaryKeyValues;
-
- if (ReferenceEquals(this, compareTo))
- return true;
-
- if (compareTo == null)
- return false;
-
- var theseKeys = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues();
- var thoseKeys = compareTo.GetPrimaryKeyValues();
-
- foreach (DictionaryEntry entry in theseKeys)
- {
- if (!entry.Value.Equals(thoseKeys[entry.Key]))
- return false;
- }
-
- return true;
- }
-
- public override int GetHashCode()
- {
- var keyValues = (this as IHasPrimaryKeyValues).GetPrimaryKeyValues();
-
- if (keyValues.Count == 0)
- return base.GetHashCode();
-
- var hashCode = new HashCode();
-
- foreach (DictionaryEntry entry in keyValues)
- {
- hashCode.Add(entry.Value);
- }
-
- return hashCode.ToHashCode();
- }
- #endregion
- }
-
-// disable warnings for inheritance from classes marked Obsolete within this generated code only
-#pragma warning disable 612, 618
-
- ///
- /// A class which represents the edfi.AssesssmentAdministrationParticipation table of the AssesssmentAdministrationParticipation aggregate in the ODS database.
- ///
- [Schema("edfi")]
- [ExcludeFromCodeCoverage]
- public class AssesssmentAdministrationParticipation : AggregateRootWithCompositeKey,
- Entities.Common.EdFi.IAssesssmentAdministrationParticipation, IHasPrimaryKeyValues, IHasLookupColumnPropertyMap, IHasExtensions
- {
- public virtual void SuspendReferenceAssignmentCheck() { }
-
- public AssesssmentAdministrationParticipation()
- {
- AssesssmentAdministrationParticipationAdministrationPointOfContacts = new HashSet();
- Extensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateRequiredEntityExtensions(this));
- AggregateExtensions = EntityExtensionsFactory.Instance == null ? new Dictionary() : new Dictionary(EntityExtensionsFactory.Instance.CreateAggregateExtensions