From 866b4b251b3f63051916ae9360b272d513298943 Mon Sep 17 00:00:00 2001 From: Jorge Burgos Date: Mon, 3 Feb 2025 20:27:28 -0500 Subject: [PATCH 1/2] remove xml max definition --- .../dbo_schema_database_statements.sql | 40 +++++++++---------- .../dbo_schema_database_statements_small.sql | 2 +- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/ef-migration/infrastructure/sql-server/schemas/dbo_schema_database_statements.sql b/ef-migration/infrastructure/sql-server/schemas/dbo_schema_database_statements.sql index 4734fd5..a1abf15 100644 --- a/ef-migration/infrastructure/sql-server/schemas/dbo_schema_database_statements.sql +++ b/ef-migration/infrastructure/sql-server/schemas/dbo_schema_database_statements.sql @@ -16,7 +16,7 @@ CREATE TABLE [dbo].[AMAssumptionView] ( [AssumptionJoinDataGUID] uniqueidentifier NOT NULL, [FolderGUID] uniqueidentifier NOT NULL, [IsDistributionModeActive] bit NOT NULL, - [DistributionInfo] xml(max) NOT NULL, + [DistributionInfo] xml NOT NULL, [ProviderGUID] uniqueidentifier NOT NULL, [CreatedDate] datetime NOT NULL, [CreatedBy] uniqueidentifier NOT NULL, @@ -72,7 +72,7 @@ CREATE TABLE [dbo].[AMCorrelationGroup] ( [AssumptionGroupGUID] uniqueidentifier NOT NULL, [Name] nvarchar(64) NOT NULL, [IsGlobal] bit NOT NULL, - [MembersXML] xml(max) NOT NULL, + [MembersXML] xml NOT NULL, PRIMARY KEY ([CorrelationGroupGUID]) ); GO @@ -1288,7 +1288,7 @@ ALTER TABLE [dbo].[CustomMenu] ADD CONSTRAINT [DF_CustomMenu_ISGLOBAL] DEFAULT ( CREATE TABLE [dbo].[CustomMenuContent] ( [CustomMenuContentGUID] uniqueidentifier NOT NULL, [CustomMenuGUID] uniqueidentifier NOT NULL, - [ContentXML] xml(max) NOT NULL, + [ContentXML] xml NOT NULL, PRIMARY KEY ([CustomMenuContentGUID]) ); GO @@ -2928,7 +2928,7 @@ CREATE TABLE [dbo].[EMFSubtableDefaultTuple] ( [SUBTABLEDEFAULTTUPLEGUID] uniqueidentifier NOT NULL, [SUBTABLEGUID] uniqueidentifier NOT NULL, [ISONCOLUMN] bit NOT NULL, - [DIMENSIONTUPLEXML] xml(max) NOT NULL, + [DIMENSIONTUPLEXML] xml NOT NULL, PRIMARY KEY ([SUBTABLEDEFAULTTUPLEGUID]) ); GO @@ -3707,7 +3707,7 @@ CREATE TABLE [dbo].[FEFormField] ( [RenderComparisonFieldGUID] uniqueidentifier NOT NULL, [RenderComparisonOperator] int NOT NULL, [RefreshMode] tinyint NOT NULL, - [TypeConfigXML] xml(max) NOT NULL, + [TypeConfigXML] xml NOT NULL, PRIMARY KEY ([FORMFIELDGUID]) ); @@ -3930,7 +3930,7 @@ ALTER TABLE [dbo].[FEFormSection] ADD CONSTRAINT [DF_FEFormSection_RuleGroupType CREATE TABLE [dbo].[FEFormSectionRule] ( [FormSectionRuleGUID] uniqueidentifier NOT NULL, [FormSectionGUID] uniqueidentifier NOT NULL, - [RuleXML] xml(max) NOT NULL, + [RuleXML] xml NOT NULL, [Description] nvarchar(max) NOT NULL, [RuleType] int NOT NULL, PRIMARY KEY ([FormSectionRuleGUID]) @@ -4709,7 +4709,7 @@ CREATE TABLE [dbo].[HistoryItem] ( [CATEGORY] nvarchar(64) NOT NULL, [DESCRIPTION] nvarchar(4000) NOT NULL, [USERCOMMENTS] nvarchar(256) NOT NULL, - [METAXML] xml(max) NOT NULL, + [METAXML] xml NOT NULL, [VERSION] timestamp NOT NULL, [MODIFIERUSERNAME] nvarchar(256) NOT NULL, [ITEMCOUNT] int NOT NULL, @@ -4873,7 +4873,7 @@ CREATE TABLE [dbo].[ImportCSVConfig] ( [ImportCSVConfigGUID] uniqueidentifier NOT NULL, [Name] nvarchar(64) NOT NULL, [Description] nvarchar(450) NOT NULL, - [ConfigXML] xml(max) NOT NULL, + [ConfigXML] xml NOT NULL, [TimeoutSeconds] int NOT NULL, PRIMARY KEY ([ImportCSVConfigGUID]) ); @@ -4899,7 +4899,7 @@ CREATE TABLE [dbo].[IntCapERPConnectorConfig] ( [PollFrequency] int NOT NULL, [EnvironmentType] tinyint NOT NULL, [SystemType] smallint NOT NULL, - [AdditionalDataXML] xml(max) NOT NULL, + [AdditionalDataXML] xml NOT NULL, PRIMARY KEY ([ConnectorConfigGUID]) ); GO @@ -6546,7 +6546,7 @@ CREATE TABLE [dbo].[OMZPool] ( [Name] nvarchar(64) NOT NULL, [ProviderSettingsGUID] uniqueidentifier NOT NULL, [PoolDimensionMemberGUID] uniqueidentifier NOT NULL, - [Metadata] xml(max) NOT NULL, + [Metadata] xml NOT NULL, [ApprovedFormFieldGUID] uniqueidentifier NOT NULL, [PlanTypeGUID] uniqueidentifier NOT NULL, [IsUsingFinancialReturn] bit NOT NULL, @@ -6579,7 +6579,7 @@ CREATE TABLE [dbo].[OMZProviderSettings] ( [ProviderSettingsGUID] uniqueidentifier NOT NULL, [Name] nvarchar(64) NOT NULL, [AssemblyQualifiedName] nvarchar(450) NOT NULL, - [Metadata] xml(max) NOT NULL, + [Metadata] xml NOT NULL, [ProviderAssemblyQualifiedName] nvarchar(450) NOT NULL, [PoolDimensionGUID] uniqueidentifier NOT NULL, [DefaultEvaluatorRoleGUID] uniqueidentifier NOT NULL, @@ -6614,7 +6614,7 @@ CREATE TABLE [dbo].[OMZScenario] ( [Name] nvarchar(64) NOT NULL, [Description] nvarchar(4000) NOT NULL, [PoolGUID] uniqueidentifier NOT NULL, - [Metadata] xml(max) NOT NULL, + [Metadata] xml NOT NULL, PRIMARY KEY ([ScenarioGUID]) ); GO @@ -8768,7 +8768,7 @@ CREATE TABLE [dbo].[ReportArchiveEntryDetail] ( [ReportArchiveEntryDetailGUID] uniqueidentifier NOT NULL, [ReportArchiveEntryGUID] uniqueidentifier NOT NULL, [ReportArchiveDetailAQN] nvarchar(400) NOT NULL, - [ReportArchiveDetailXML] xml(max) NOT NULL, + [ReportArchiveDetailXML] xml NOT NULL, PRIMARY KEY ([ReportArchiveEntryDetailGUID]) ); GO @@ -8830,7 +8830,7 @@ CREATE TABLE [dbo].[RuleAction] ( [RuleSetGUID] uniqueidentifier NOT NULL, [ExecutionOrder] int NOT NULL, [RuleActionTypeAQN] nvarchar(450) NOT NULL, - [RuleActionTypeConfigXML] xml(max) NOT NULL, + [RuleActionTypeConfigXML] xml NOT NULL, PRIMARY KEY ([RuleActionGUID]) ); @@ -8873,7 +8873,7 @@ CREATE TABLE [dbo].[RuleItem] ( [RuleGUID] uniqueidentifier NOT NULL, [RuleGroupGUID] uniqueidentifier NOT NULL, [RuleTypeAQN] nvarchar(450) NOT NULL, - [RuleTypeConfigXML] xml(max) NOT NULL, + [RuleTypeConfigXML] xml NOT NULL, [DisplayOrder] int NOT NULL, [Name] nvarchar(100) NOT NULL, PRIMARY KEY ([RuleGUID]) @@ -9217,7 +9217,7 @@ CREATE TABLE [dbo].[SAShockAssumptionType] ( [Name] nvarchar(100) NOT NULL, [BaseTableName] nvarchar(50) NOT NULL, [ShockTableName] nvarchar(50) NOT NULL, - [WhereClauseXML] xml(max) NOT NULL, + [WhereClauseXML] xml NOT NULL, [DisplayFormat] nvarchar(50) NOT NULL, [IsPercentage] bit NOT NULL, [FormulaColumnName] nvarchar(max) NOT NULL, @@ -11171,7 +11171,7 @@ CREATE TABLE [dbo].[ScoreTableEditorColumn] ( [Type] int NOT NULL, [PixelWidth] int NOT NULL, [DisplayOrder] int NOT NULL, - [MetaData] xml(max) NOT NULL, + [MetaData] xml NOT NULL, [DisplayName] nvarchar(450) NOT NULL, [DefaultMemberType] int NOT NULL, [IsTextWrap] bit NOT NULL, @@ -11979,7 +11979,7 @@ CREATE TABLE [dbo].[SystemCenterStep] ( [SortOrder] int NOT NULL, [SectionGUID] uniqueidentifier NOT NULL, [Name] nvarchar(200) NOT NULL, - [PropertyXML] xml(max) NOT NULL, + [PropertyXML] xml NOT NULL, [Url] nvarchar(400) NOT NULL, [GlobalID] nvarchar(100) NOT NULL, [Description] nvarchar(4000) NOT NULL, @@ -12206,7 +12206,7 @@ CREATE TABLE [dbo].[TETaskHistory] ( [TaskGUID] uniqueidentifier NOT NULL, [Name] nvarchar(450) NOT NULL, [Status] int NOT NULL, - [ContextXML] xml(max) NOT NULL, + [ContextXML] xml NOT NULL, [CreationTime] datetime NOT NULL, [StartTime] datetime NOT NULL, [LastRunTime] datetime NOT NULL, @@ -12297,7 +12297,7 @@ ALTER TABLE [dbo].[Tag] ADD CONSTRAINT [DF_Tag_Tag] DEFAULT ('') FOR [Name]; GO CREATE TABLE [dbo].[TaskProgressStatus] ( [RowID] bigint NOT NULL, [TaskGUID] uniqueidentifier NOT NULL, - [DataXML] xml(max) NOT NULL, + [DataXML] xml NOT NULL, [StartTime] datetime NOT NULL, [TaskStatus] nvarchar(100) NOT NULL, [GlobalID] nvarchar(100) NOT NULL, diff --git a/ef-migration/infrastructure/sql-server/schemas/dbo_schema_database_statements_small.sql b/ef-migration/infrastructure/sql-server/schemas/dbo_schema_database_statements_small.sql index 446b5a6..eb359e5 100644 --- a/ef-migration/infrastructure/sql-server/schemas/dbo_schema_database_statements_small.sql +++ b/ef-migration/infrastructure/sql-server/schemas/dbo_schema_database_statements_small.sql @@ -16,7 +16,7 @@ CREATE TABLE [dbo].[AMAssumptionView] ( [AssumptionJoinDataGUID] uniqueidentifier NOT NULL, [FolderGUID] uniqueidentifier NOT NULL, [IsDistributionModeActive] bit NOT NULL, - [DistributionInfo] xml(max) NOT NULL, + [DistributionInfo] xml NOT NULL, [ProviderGUID] uniqueidentifier NOT NULL, [CreatedDate] datetime NOT NULL, [CreatedBy] uniqueidentifier NOT NULL, From eb2de1ff122581b92f47f0d7132e0e65facadd9c Mon Sep 17 00:00:00 2001 From: Jorge Burgos Date: Mon, 3 Feb 2025 20:38:08 -0500 Subject: [PATCH 2/2] adjust setup and init files --- .../infrastructure/sql-server/init.sql | 36 +++++++++---- .../infrastructure/sql-server/setup.sh | 52 +++++++++++++++++++ 2 files changed, 77 insertions(+), 11 deletions(-) diff --git a/ef-migration/infrastructure/sql-server/init.sql b/ef-migration/infrastructure/sql-server/init.sql index 1c752a2..c433681 100644 --- a/ef-migration/infrastructure/sql-server/init.sql +++ b/ef-migration/infrastructure/sql-server/init.sql @@ -8,23 +8,37 @@ GO USE [st-database] GO --- Create schemas if they don't exist -IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'dbo') - EXEC('CREATE SCHEMA [dbo]') -GO +-- Create schemas (excluding dbo since it already exists) +DECLARE @SQL nvarchar(max) IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'fp') - EXEC('CREATE SCHEMA [fp]') -GO +BEGIN + SET @SQL = 'CREATE SCHEMA fp AUTHORIZATION dbo' + EXEC sp_executesql @SQL + PRINT 'Created schema fp' +END IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'fw') - EXEC('CREATE SCHEMA [fw]') -GO +BEGIN + SET @SQL = 'CREATE SCHEMA fw AUTHORIZATION dbo' + EXEC sp_executesql @SQL + PRINT 'Created schema fw' +END IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'int') - EXEC('CREATE SCHEMA [int]') -GO +BEGIN + SET @SQL = 'CREATE SCHEMA int AUTHORIZATION dbo' + EXEC sp_executesql @SQL + PRINT 'Created schema int' +END IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'ob') - EXEC('CREATE SCHEMA [ob]') +BEGIN + SET @SQL = 'CREATE SCHEMA ob AUTHORIZATION dbo' + EXEC sp_executesql @SQL + PRINT 'Created schema ob' +END + +-- Verify schemas +SELECT name FROM sys.schemas WHERE name IN ('fp', 'fw', 'int', 'ob') GO \ No newline at end of file diff --git a/ef-migration/infrastructure/sql-server/setup.sh b/ef-migration/infrastructure/sql-server/setup.sh index e69de29..e3a732a 100644 --- a/ef-migration/infrastructure/sql-server/setup.sh +++ b/ef-migration/infrastructure/sql-server/setup.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +# Start SQL Server +/opt/mssql/bin/sqlservr & + +# Wait for SQL Server to start +echo "Waiting for SQL Server to start..." +sleep 30s + +# Initialize database +for i in {1..50}; +do + sqlcmd -S localhost -U sa -P $SA_PASSWORD -Q "SELECT 1" &> /dev/null + if [ $? -eq 0 ] + then + echo "SQL Server is ready" + break + else + echo "SQL Server is not ready yet..." + sleep 1 + fi +done + +# Run the initialization script +echo "Running initialization script..." +sqlcmd -S localhost -U sa -P $SA_PASSWORD -i /usr/src/app/init.sql +if [ $? -ne 0 ]; then + echo "Error executing initialization script" + exit 1 +fi + +# Run all schema scripts in the schemas directory +echo "Running schema scripts..." +for f in /usr/src/app/schemas/*.sql +do + echo "Processing $f..." + sqlcmd -S localhost -U sa -P $SA_PASSWORD -i "$f" -b + if [ $? -ne 0 ]; then + echo "Error executing schema script $f" + exit 1 + fi + + # Verify schema creation + sqlcmd -S localhost -U sa -P $SA_PASSWORD -Q "SELECT name FROM sys.schemas WHERE name IN ('fp', 'fw', 'int', 'ob')" -h -1 +done + +echo "All scripts executed. SQL Server is ready." + +# Keep container running +while true; do + sleep 1 +done \ No newline at end of file