organize database scripts

This commit is contained in:
Ubuntu 2025-02-05 01:18:33 +00:00
parent d56312a811
commit 9b1609e256
14 changed files with 236 additions and 406 deletions

View File

@ -8,7 +8,7 @@ ENV ACCEPT_EULA=Y \
DROP_DATABASE=false \ DROP_DATABASE=false \
PATH="/opt/mssql-tools/bin:${PATH}" PATH="/opt/mssql-tools/bin:${PATH}"
# Install sqlcmd utility # Install sqlcmd utility and other required packages
USER root USER root
RUN apt-get update && \ RUN apt-get update && \
apt-get install -y wget software-properties-common gnupg2 && \ apt-get install -y wget software-properties-common gnupg2 && \
@ -21,16 +21,23 @@ RUN apt-get update && \
# Create app directory and schemas subdirectory in one layer # Create app directory and schemas subdirectory in one layer
WORKDIR /usr/src/app WORKDIR /usr/src/app
RUN mkdir -p schemas RUN mkdir -p schemas && \
mkdir -p sql_objects/{tables,constraints,foreign_keys,indexes/{clustered,nonclustered,unique_clustered},views,procedures} && \
chown -R mssql:mssql /usr/src/app && \
chmod -R 755 /usr/src/app
# Copy all SQL files in a single layer to reduce image size # Copy all SQL files and scripts in a single layer to reduce image size
COPY ./sql-server/schemas/*.sql ./schemas/ COPY ./sql-server/schemas/*.sql ./schemas/
COPY ./sql-server/init.sql ./ COPY ./sql-server/init.sql ./
COPY ./sql-server/setup.sh ./ COPY ./sql-server/setup.sh ./
COPY ./sql-server/extract_*.sh ./
# Fix line endings and make setup script executable # Fix line endings and make all scripts executable
RUN sed -i 's/\r$//' setup.sh && \ RUN sed -i 's/\r$//' setup.sh && \
chmod +x setup.sh sed -i 's/\r$//' extract_*.sh && \
chmod +x setup.sh && \
chmod +x extract_*.sh && \
chown -R mssql:mssql /usr/src/app
# Switch back to mssql user # Switch back to mssql user
USER mssql USER mssql

View File

@ -12,6 +12,9 @@ BASE_DIR="sql_objects"
# Create directory structure # Create directory structure
mkdir -p "$BASE_DIR"/{constraints,foreign_keys} mkdir -p "$BASE_DIR"/{constraints,foreign_keys}
# Ensure proper permissions
chmod -R 755 "$BASE_DIR"
# Function to clean filename # Function to clean filename
clean_filename() { clean_filename() {
# Remove brackets, convert dots and spaces to underscores, remove parentheses # Remove brackets, convert dots and spaces to underscores, remove parentheses

View File

@ -14,6 +14,9 @@ mkdir -p "$BASE_DIR/indexes/clustered"
mkdir -p "$BASE_DIR/indexes/nonclustered" mkdir -p "$BASE_DIR/indexes/nonclustered"
mkdir -p "$BASE_DIR/indexes/unique_clustered" mkdir -p "$BASE_DIR/indexes/unique_clustered"
# Ensure proper permissions
chmod -R 755 "$BASE_DIR"
# Function to clean filename # Function to clean filename
clean_filename() { clean_filename() {
# Remove brackets, convert dots and spaces to underscores, remove parentheses # Remove brackets, convert dots and spaces to underscores, remove parentheses

View File

@ -12,6 +12,9 @@ BASE_DIR="sql_objects"
# Create directory structure # Create directory structure
mkdir -p "$BASE_DIR/procedures" mkdir -p "$BASE_DIR/procedures"
# Ensure proper permissions
chmod -R 755 "$BASE_DIR"
# Function to clean filename # Function to clean filename
clean_filename() { clean_filename() {
# Remove brackets, convert dots and spaces to underscores, remove parentheses # Remove brackets, convert dots and spaces to underscores, remove parentheses

View File

@ -0,0 +1,150 @@
#!/bin/bash
# Check if input file is provided
if [ $# -ne 1 ]; then
echo "Usage: $0 <sql_file>"
exit 1
fi
SQL_FILE="$1"
BASE_DIR="/usr/src/app/sql_objects" # Use absolute path
# Create directory structure with proper permissions
echo "Creating directory structure at $BASE_DIR/tables"
mkdir -p "$BASE_DIR/tables"
chmod -R 777 "$BASE_DIR" # Give full permissions for testing
# Function to check if table is temporary
is_temporary_table() {
local table_name="$1"
if echo "$table_name" | grep -iE "^(#|tmp_|temp_|temporary_|import_|viewimport_)" >/dev/null; then
return 0 # true in bash
else
return 1 # false in bash
fi
}
# Function to clean filename
clean_filename() {
# Remove brackets, convert dots and spaces to underscores, remove parentheses
echo "$1" | sed 's/\[\|\]//g' | tr '.' '_' | tr ' ' '_' | sed 's/[()]//g' | sed 's/__*/_/g' | sed 's/_$//'
}
# Function to extract table name with better schema handling
extract_table_name() {
local create_statement="$1"
# First, try to match schema.table pattern with brackets
local table_name=$(echo "$create_statement" | sed -nE 's/.*CREATE[[:space:]]+TABLE[[:space:]]+\[([^]]+)\]\.\[([^]]+)\].*/\1.\2/p')
if [ -z "$table_name" ]; then
# Try to match schema.table pattern without brackets
table_name=$(echo "$create_statement" | sed -nE 's/.*CREATE[[:space:]]+TABLE[[:space:]]+([^.[:space:]]+)\.([^.[:space:]]+).*/\1.\2/p')
fi
if [ -z "$table_name" ]; then
# Try to match just table name with brackets
table_name=$(echo "$create_statement" | sed -nE 's/.*CREATE[[:space:]]+TABLE[[:space:]]+\[([^]]+)\].*/\1/p')
fi
if [ -z "$table_name" ]; then
# Try to match just table name without brackets
table_name=$(echo "$create_statement" | sed -nE 's/.*CREATE[[:space:]]+TABLE[[:space:]]+([^[:space:]]+).*/\1/p')
fi
echo "$table_name"
}
# Function to process each CREATE TABLE statement
process_table() {
local table_statement="$1"
local table_name=$(extract_table_name "$table_statement")
# Debug output
echo "Extracted table name: $table_name"
# Skip if we couldn't extract table name
if [ -z "$table_name" ]; then
echo "Warning: Could not extract table name from statement:"
echo "$table_statement" | head -n 1
return
fi
# Check if it's a temporary table
if is_temporary_table "$table_name"; then
echo "Skipping temporary table: $table_name"
return
fi
# Clean filename and create full path
clean_name=$(clean_filename "${table_name}")
output_file="$BASE_DIR/tables/${clean_name}.sql"
echo "Attempting to write to: $output_file"
# Create the file with proper error handling
if ! echo "$table_statement" > "$output_file" 2>/dev/null; then
echo "Error writing to $output_file"
echo "Current permissions:"
ls -la "$BASE_DIR/tables"
return 1
fi
echo "Successfully created: $output_file"
}
# Main processing function
extract_tables() {
local current_statement=""
local capture_table=false
# Read the file line by line
while IFS= read -r line || [ -n "$line" ]; do
# Skip empty lines and pure comment lines
if [ -z "${line// }" ] || [[ "$line" =~ ^[[:space:]]*-- ]]; then
continue
fi
# Check for CREATE TABLE statement
if echo "$line" | grep -i "CREATE[[:space:]]\+TABLE" > /dev/null; then
# Debug output
echo "Found CREATE TABLE statement: $line"
local table_name=$(extract_table_name "$line")
echo "Extracted table name from line: $table_name"
if ! is_temporary_table "$table_name"; then
capture_table=true
current_statement="$line"
else
echo "Skipping temporary table: $table_name"
fi
continue
fi
# If we're capturing a table
if $capture_table; then
current_statement+=$'\n'"$line"
# If we find a GO statement, process the table
if echo "$line" | grep -i "^[[:space:]]*GO[[:space:]]*$" > /dev/null; then
process_table "$current_statement"
capture_table=false
current_statement=""
fi
fi
done < "$SQL_FILE"
# Process any remaining table statement
if $capture_table && [ -n "$current_statement" ]; then
process_table "$current_statement"
fi
}
# Remove comment lines and process
echo "Starting table extraction from $SQL_FILE to $BASE_DIR/tables"
echo "Current working directory: $(pwd)"
echo "Directory contents before extraction:"
ls -la "$BASE_DIR/tables"
sed 's/--.*$//' "$SQL_FILE" | extract_tables
echo "Extraction completed. Directory contents after extraction:"
ls -la "$BASE_DIR/tables"

View File

@ -12,6 +12,9 @@ BASE_DIR="sql_objects"
# Create directory structure # Create directory structure
mkdir -p "$BASE_DIR/views" mkdir -p "$BASE_DIR/views"
# Ensure proper permissions
chmod -R 755 "$BASE_DIR"
# Function to clean filename # Function to clean filename
clean_filename() { clean_filename() {
# Remove brackets, convert dots and spaces to underscores, remove parentheses # Remove brackets, convert dots and spaces to underscores, remove parentheses

View File

@ -1,105 +0,0 @@
#!/bin/bash
# Check if input file is provided
if [ $# -ne 1 ]; then
echo "Usage: $0 <sql_file>"
exit 1
fi
SQL_FILE="$1"
BASE_DIR="sql_objects"
# Create directory structure
mkdir -p "$BASE_DIR/tables"
# Function to clean filename
clean_filename() {
# Remove brackets, convert dots and spaces to underscores, remove parentheses
echo "$1" | sed 's/\[\|\]//g' | tr '.' '_' | tr ' ' '_' | sed 's/[()]//g' | sed 's/__*/_/g' | sed 's/_$//'
}
# Function to check if table is temporary
is_temporary_table() {
local table_name="$1"
if echo "$table_name" | grep -iE "temp|tmp|temporary|import_|viewimport_" >/dev/null; then
return 0 # true in bash
else
return 1 # false in bash
fi
}
# Function to extract CREATE TABLE statements only
extract_tables() {
local current_object=""
local capture_table=false
local table_name=""
# Read the file line by line
while IFS= read -r line || [ -n "$line" ]; do
# Check if we've found a CREATE TABLE statement
if echo "$line" | grep -i "CREATE[[:space:]]\+TABLE" >/dev/null; then
# Extract table name and check if it's temporary
table_name=$(echo "$line" | sed -E 's/.*CREATE[[:space:]]+TABLE[[:space:]]+\[?([^\]]+)\]?.*/\1/')
if is_temporary_table "$table_name"; then
echo "Skipping temporary table: $table_name"
continue
fi
capture_table=true
current_object="$line"$'\n'
continue
fi
# If we're capturing a table and find a following CREATE or ALTER statement, stop capturing
if $capture_table; then
if echo "$line" | grep -i "^[[:space:]]*CREATE\|^[[:space:]]*ALTER" >/dev/null; then
# Save the current table before starting a new object
if [ -n "$table_name" ]; then
clean_name=$(clean_filename "$table_name")
output_file="$BASE_DIR/tables/${clean_name}.sql"
echo "$current_object" > "$output_file"
echo "Created: $output_file"
fi
capture_table=false
current_object=""
table_name=""
continue
fi
# Add line to current object if we're still capturing
current_object+="$line"$'\n'
# If we find a GO statement, save the table
if echo "$line" | grep -i "^[[:space:]]*GO[[:space:]]*$" >/dev/null; then
if [ -n "$table_name" ]; then
clean_name=$(clean_filename "$table_name")
output_file="$BASE_DIR/tables/${clean_name}.sql"
echo "$current_object" > "$output_file"
echo "Created: $output_file"
fi
capture_table=false
current_object=""
table_name=""
fi
fi
done < "$SQL_FILE"
}
# Remove comment lines starting with --
echo "Extracting CREATE TABLE statements..."
sed 's/--.*$//' "$SQL_FILE" | extract_tables
echo "CREATE TABLE statements have been saved in $BASE_DIR/tables/"
# Count files
count=$(ls -1 "$BASE_DIR/tables"/*.sql 2>/dev/null | wc -l)
echo -e "\nTotal tables extracted: $count"
# List extracted tables
echo -e "\nExtracted tables:"
for table in "$BASE_DIR/tables"/*.sql; do
if [ -f "$table" ]; then
echo "- $(basename "$table")"
fi
done

View File

@ -1,116 +0,0 @@
#!/bin/bash
# Check if input file is provided
if [ $# -ne 1 ]; then
echo "Usage: $0 <sql_file>"
exit 1
fi
SQL_FILE="$1"
BASE_DIR="sql_objects"
# Create directory structure
mkdir -p "$BASE_DIR"/{tables,views,procedures,constraints,indexes,alter_tables}
# Function to clean filename
clean_filename() {
echo "$1" | sed 's/\[\|\]//g' | tr '.' '_'
}
# Function to extract SQL objects and save to files
extract_objects() {
local current_object=""
local object_type=""
local object_name=""
local table_name=""
# Read the file line by line
while IFS= read -r line || [ -n "$line" ]; do
# Skip empty lines at the start
if [ -z "$current_object" ] && [ -z "${line// }" ]; then
continue
fi
# Add line to current object
current_object+="$line"$'\n'
# Check if we've reached the end of an object (GO statement)
if echo "$line" | grep -i "^[[:space:]]*GO[[:space:]]*$" >/dev/null; then
# Determine object type and name
if echo "$current_object" | grep -i "CREATE[[:space:]]\+TABLE" >/dev/null; then
object_type="tables"
object_name=$(echo "$current_object" | grep -i "CREATE[[:space:]]\+TABLE" | sed -E 's/.*CREATE[[:space:]]+TABLE[[:space:]]+\[?([^\]]+)\]?.*/\1/')
elif echo "$current_object" | grep -i "CREATE[[:space:]]\+VIEW" >/dev/null; then
object_type="views"
object_name=$(echo "$current_object" | grep -i "CREATE[[:space:]]\+VIEW" | sed -E 's/.*CREATE[[:space:]]+VIEW[[:space:]]+\[?([^\]]+)\]?.*/\1/')
elif echo "$current_object" | grep -i "CREATE[[:space:]]\+PROC" >/dev/null; then
object_type="procedures"
object_name=$(echo "$current_object" | grep -i "CREATE[[:space:]]\+PROC[[:space:]EDURE]*" | sed -E 's/.*CREATE[[:space:]]+PROC[[:space:]EDURE]*[[:space:]]+\[?([^\]]+)\]?.*/\1/')
elif echo "$current_object" | grep -i "ALTER[[:space:]]\+TABLE" >/dev/null; then
# Extract table name and constraint name if it exists
table_name=$(echo "$current_object" | grep -i "ALTER[[:space:]]\+TABLE" | sed -E 's/.*ALTER[[:space:]]+TABLE[[:space:]]+\[?([^\]]+)\]?.*/\1/')
if echo "$current_object" | grep -i "ADD[[:space:]]\+CONSTRAINT" >/dev/null; then
object_type="constraints"
object_name=$(echo "$current_object" | grep -i "CONSTRAINT" | sed -E 's/.*CONSTRAINT[[:space:]]+\[?([^\]]+)\]?.*/\1/')
else
object_type="alter_tables"
object_name="${table_name}_alter_$(date +%s%N | cut -b1-5)"
fi
elif echo "$current_object" | grep -i "CREATE.*INDEX" >/dev/null; then
object_type="indexes"
object_name=$(echo "$current_object" | grep -i "INDEX" | sed -E 's/.*INDEX[[:space:]]+\[?([^\]]+)\]?.*/\1/')
fi
# If we identified an object type and name, save it
if [ -n "$object_type" ] && [ -n "$object_name" ]; then
# Clean the filename
clean_name=$(clean_filename "$object_name")
output_file="$BASE_DIR/$object_type/$clean_name.sql"
# For alter_tables, make sure we don't overwrite existing files
if [ "$object_type" = "alter_tables" ]; then
counter=1
base_file="$BASE_DIR/$object_type/$clean_name"
while [ -f "${base_file}.sql" ]; do
clean_name="${clean_name}_${counter}"
counter=$((counter + 1))
done
output_file="$base_file.sql"
fi
# Save the object to file
echo "$current_object" > "$output_file"
echo "Created: $output_file"
fi
# Reset for next object
current_object=""
object_type=""
object_name=""
table_name=""
fi
done < "$SQL_FILE"
}
# Remove comment lines starting with --
echo "Removing comments and processing SQL file..."
sed 's/--.*$//' "$SQL_FILE" | extract_objects
echo "SQL objects have been organized in the $BASE_DIR directory."
echo "
Directory structure:
$BASE_DIR/
├── tables/
├── views/
├── procedures/
├── constraints/
├── indexes/
└── alter_tables/"
# Count files in each directory
echo -e "\nFile counts:"
for dir in tables views procedures constraints indexes alter_tables; do
count=$(ls -1 "$BASE_DIR/$dir"/*.sql 2>/dev/null | wc -l)
echo "$dir: $count files"
done

View File

@ -76,31 +76,75 @@ else
exit 1 exit 1
fi fi
# Run all schema scripts in the schemas directory # Clean up existing files in sql_objects directories
echo "Running schema scripts..." echo "Cleaning up existing files..."
for f in /usr/src/app/schemas/*.sql rm -f /usr/src/app/sql_objects/*/*.sql
rm -f /usr/src/app/sql_objects/indexes/*/*.sql
# Process each schema file through the extraction scripts
echo "Processing schema files..."
for schema_file in /usr/src/app/schemas/*.sql
do do
echo "Processing $f..." echo "Processing schema file: $schema_file"
# Create a temporary file # Extract different types of SQL objects
temp_file=$(mktemp) bash /usr/src/app/extract_tables.sh "$schema_file"
# Process the file: add newlines around GO statements
sed 's/GO/\nGO\n/g' "$f" > "$temp_file"
# Execute the processed file
sqlcmd -S localhost -U sa -P $SA_PASSWORD -d st-database -i "$temp_file"
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo "Warning: Script $f had some errors but continuing..." echo "Warning: Table extraction had some errors but continuing..."
rm "$temp_file" # Clean up temp file
continue
fi fi
# Clean up temp file bash /usr/src/app/extract_constraints.sh "$schema_file"
rm "$temp_file" bash /usr/src/app/extract_indexes.sh "$schema_file"
bash /usr/src/app/extract_views.sh "$schema_file"
bash /usr/src/app/extract_procedures.sh "$schema_file"
done done
echo "All scripts executed. SQL Server is ready." # Function to execute SQL files from a directory
execute_sql_files() {
local dir=$1
local type=$2
if [ -d "$dir" ] && [ "$(ls -A $dir 2>/dev/null)" ]; then
echo "Executing $type..."
for sql_file in "$dir"/*.sql; do
if [ -f "$sql_file" ]; then
echo "Executing $sql_file..."
sqlcmd -S localhost -U sa -P $SA_PASSWORD -d st-database -i "$sql_file"
if [ $? -ne 0 ]; then
echo "Warning: Error executing $sql_file but continuing..."
fi
fi
done
else
echo "No files found in $dir"
fi
}
# Execute SQL objects in the correct order
echo "Executing SQL objects in order..."
# 1. Tables
execute_sql_files "sql_objects/tables" "tables"
# 2. Constraints
execute_sql_files "sql_objects/constraints" "constraints"
execute_sql_files "sql_objects/foreign_keys" "foreign keys"
# 3. Indexes
execute_sql_files "sql_objects/indexes/clustered" "clustered indexes"
execute_sql_files "sql_objects/indexes/unique_clustered" "unique clustered indexes"
execute_sql_files "sql_objects/indexes/nonclustered" "nonclustered indexes"
# 4. Views
execute_sql_files "sql_objects/views" "views"
# 5. Stored Procedures
execute_sql_files "sql_objects/procedures" "stored procedures"
# Clean up
echo "Cleaning up..."
rm -rf sql_objects
echo "SQL object execution completed"
fi fi
# Keep container running # Keep container running

View File

@ -1,42 +0,0 @@
-- SCHEMA: dbo
---------------------------------------------
-- TABLES
---------------------------------------------
---------------------------------------------
-- dbo.AMAssumptionView ------------------
---------------------------------------------
DROP TABLE [dbo].[AMAssumptionView];
GO
CREATE TABLE [dbo].[AMAssumptionView] (
[AssumptionViewGUID] uniqueidentifier NOT NULL,
[AssumptionGroupGUID] uniqueidentifier NOT NULL,
[Name] nvarchar(450) NOT NULL,
[ColumnWidths] varchar(8000) NOT NULL,
[AssumptionJoinDataGUID] uniqueidentifier NOT NULL,
[FolderGUID] uniqueidentifier NOT NULL,
[IsDistributionModeActive] bit NOT NULL,
[DistributionInfo] xml NOT NULL,
[ProviderGUID] uniqueidentifier NOT NULL,
[CreatedDate] datetime NOT NULL,
[CreatedBy] uniqueidentifier NOT NULL,
[LastUsedDate] datetime NOT NULL,
PRIMARY KEY ([AssumptionViewGUID])
);
GO
ALTER TABLE [dbo].[AMAssumptionView] ADD CONSTRAINT [DF_AMAssumptionView_CreatedBy] DEFAULT ('00000000-0000-0000-0000-000000000000') FOR [CreatedBy]; GO
ALTER TABLE [dbo].[AMAssumptionView] ADD CONSTRAINT [DF_AMAssumptionView_CreatedDate] DEFAULT (getdate()) FOR [CreatedDate]; GO
ALTER TABLE [dbo].[AMAssumptionView] ADD CONSTRAINT [DF_AMAssumptionView_LastUsedDate] DEFAULT (getdate()) FOR [LastUsedDate]; GO
ALTER TABLE [dbo].[AMAssumptionView] ADD CONSTRAINT [DF_Table_1_AssumptionViewGUID] DEFAULT (newid()) FOR [AssumptionViewGUID]; GO
ALTER TABLE [dbo].[AMAssumptionView] ADD CONSTRAINT [DF_AMAssumptionView_ASSUMPTIONGROUPGUID] DEFAULT ('00000000-0000-0000-0000-000000000000') FOR [AssumptionGroupGUID]; GO
ALTER TABLE [dbo].[AMAssumptionView] ADD CONSTRAINT [DF_AMAssumptionView_NAME] DEFAULT ('') FOR [Name]; GO
ALTER TABLE [dbo].[AMAssumptionView] ADD CONSTRAINT [DF_AMAssumptionView_COLUMNWIDTHS] DEFAULT ('') FOR [ColumnWidths]; GO
ALTER TABLE [dbo].[AMAssumptionView] ADD CONSTRAINT [DF_AMAssumptionView_ASSUMPTIONCUBEGUID] DEFAULT ('00000000-0000-0000-0000-000000000000') FOR [AssumptionJoinDataGUID]; GO
ALTER TABLE [dbo].[AMAssumptionView] ADD CONSTRAINT [DF_AMAssumptionView_FOLDERGUID] DEFAULT ('00000000-0000-0000-0000-000000000000') FOR [FolderGUID]; GO
ALTER TABLE [dbo].[AMAssumptionView] ADD CONSTRAINT [DF_AMAssumptionView_ISDISTRIBUTIONMODEACTIVE] DEFAULT ((0)) FOR [IsDistributionModeActive]; GO
ALTER TABLE [dbo].[AMAssumptionView] ADD CONSTRAINT [DF_AMAssumptionView_DISTRIBUTIONINFOXML] DEFAULT ('') FOR [DistributionInfo]; GO
ALTER TABLE [dbo].[AMAssumptionView] ADD CONSTRAINT [DF_AMAssumptionView_PROVIDERGUID] DEFAULT ('00000000-0000-0000-0000-000000000000') FOR [ProviderGUID]; GO

View File

@ -1,43 +0,0 @@
-- SCHEMA: fp
---------------------------------------------
-- TABLES
---------------------------------------------
---------------------------------------------
-- fp.APAdminPerformanceTest ------------------
---------------------------------------------
DROP TABLE [fp].[APAdminPerformanceTest];
GO
CREATE TABLE [fp].[APAdminPerformanceTest] (
[TestID] uniqueidentifier NOT NULL,
[SortOrder] int NOT NULL,
[TestTypeID] tinyint NOT NULL,
[TestName] nvarchar(100) NOT NULL,
[Description] nvarchar(3000) NOT NULL,
[BudgetConfigID] int NOT NULL,
[SourceDimensionalityJSON] nvarchar(max) NOT NULL,
[TestDetailJSON] nvarchar(max) NOT NULL,
[IsActive] bit NOT NULL,
[CreatedBy] nvarchar(1000) NOT NULL,
[Target] int NOT NULL,
[MaximumTheshold] int NOT NULL,
[PickableDepartments] nvarchar(max) NOT NULL,
PRIMARY KEY ([TestID])
);
GO
ALTER TABLE [fp].[APAdminPerformanceTest] ADD CONSTRAINT [DF__APAdminPe__Targe__5375AD4D] DEFAULT ((0)) FOR [Target]; GO
ALTER TABLE [fp].[APAdminPerformanceTest] ADD CONSTRAINT [DF__APAdminPe__Maxim__5469D186] DEFAULT ((0)) FOR [MaximumTheshold]; GO
ALTER TABLE [fp].[APAdminPerformanceTest] ADD CONSTRAINT [DF__APAdminPe__Picka__565219F8] DEFAULT ('') FOR [PickableDepartments]; GO
ALTER TABLE [fp].[APAdminPerformanceTest] ADD CONSTRAINT [DF__APAdminPe__TestI__6B4249E6] DEFAULT (newid()) FOR [TestID]; GO
ALTER TABLE [fp].[APAdminPerformanceTest] ADD CONSTRAINT [DF__APAdminPe__SortO__6C366E1F] DEFAULT ((0)) FOR [SortOrder]; GO
ALTER TABLE [fp].[APAdminPerformanceTest] ADD CONSTRAINT [DF__APAdminPe__TestT__6D2A9258] DEFAULT ((0)) FOR [TestTypeID]; GO
ALTER TABLE [fp].[APAdminPerformanceTest] ADD CONSTRAINT [DF__APAdminPe__TestN__6E1EB691] DEFAULT ('') FOR [TestName]; GO
ALTER TABLE [fp].[APAdminPerformanceTest] ADD CONSTRAINT [DF__APAdminPe__Descr__6F12DACA] DEFAULT ('') FOR [Description]; GO
ALTER TABLE [fp].[APAdminPerformanceTest] ADD CONSTRAINT [DF__APAdminPe__Budge__70FB233C] DEFAULT ((0)) FOR [BudgetConfigID]; GO
ALTER TABLE [fp].[APAdminPerformanceTest] ADD CONSTRAINT [DF__APAdminPe__Sourc__71EF4775] DEFAULT ('') FOR [SourceDimensionalityJSON]; GO
ALTER TABLE [fp].[APAdminPerformanceTest] ADD CONSTRAINT [DF__APAdminPe__TestD__72E36BAE] DEFAULT ('') FOR [TestDetailJSON]; GO
ALTER TABLE [fp].[APAdminPerformanceTest] ADD CONSTRAINT [DF__APAdminPe__IsAct__73D78FE7] DEFAULT ((0)) FOR [IsActive]; GO
ALTER TABLE [fp].[APAdminPerformanceTest] ADD CONSTRAINT [DF__APAdminPe__Creat__74CBB420] DEFAULT ('') FOR [CreatedBy]; GO

View File

@ -1,25 +0,0 @@
-- SCHEMA: fw
---------------------------------------------
-- TABLES
---------------------------------------------
---------------------------------------------
-- fw.ABBBudgetedCostPerRVU ------------------
---------------------------------------------
DROP TABLE [fw].[ABBBudgetedCostPerRVU];
GO
CREATE TABLE [fw].[ABBBudgetedCostPerRVU] (
[DepartmentID] int NOT NULL,
[AccountID] int NOT NULL,
[JobCodeID] int NOT NULL,
[PayCodeID] int NOT NULL,
[CostComponentID] int NOT NULL,
[CostingConfigGuid] uniqueidentifier NOT NULL,
[VariableDirectUnitCostPerRVU] decimal NULL,
[TotalVariableDirectCost] decimal NULL,
[TotalCost] decimal NULL
);
GO

View File

@ -1,25 +0,0 @@
-- SCHEMA: int
---------------------------------------------
-- TABLES
---------------------------------------------
---------------------------------------------
-- int.AggregatePostDIHistory ------------------
---------------------------------------------
DROP TABLE [int].[AggregatePostDIHistory];
GO
CREATE TABLE [int].[AggregatePostDIHistory] (
[AggregatePostDIHistoryGuid] uniqueidentifier NOT NULL,
[CreatedAtUtc] datetime NOT NULL,
[LastRanUtc] datetime NOT NULL,
[AggregatePostDIStatus] int NOT NULL,
PRIMARY KEY ([AggregatePostDIHistoryGuid])
);
GO
ALTER TABLE [int].[AggregatePostDIHistory] ADD CONSTRAINT [DF__Aggregate__Aggre__4EDF0E15] DEFAULT (newid()) FOR [AggregatePostDIHistoryGuid]; GO
ALTER TABLE [int].[AggregatePostDIHistory] ADD CONSTRAINT [DF__Aggregate__Creat__4FD3324E] DEFAULT (getutcdate()) FOR [CreatedAtUtc]; GO
ALTER TABLE [int].[AggregatePostDIHistory] ADD CONSTRAINT [DF__Aggregate__LastR__50C75687] DEFAULT ('1900-01-01 00:00:00.000') FOR [LastRanUtc]; GO
ALTER TABLE [int].[AggregatePostDIHistory] ADD CONSTRAINT [DF__Aggregate__Aggre__51BB7AC0] DEFAULT ((0)) FOR [AggregatePostDIStatus]; GO

View File

@ -1,27 +0,0 @@
-- SCHEMA: ob
---------------------------------------------
-- TABLES
---------------------------------------------
---------------------------------------------
-- ob.AccountVariabilityOverride ------------------
---------------------------------------------
DROP TABLE [ob].[AccountVariabilityOverride];
GO
CREATE TABLE [ob].[AccountVariabilityOverride] (
[AccountVariabilityOverrideID] int NOT NULL,
[DepartmentAssignment] nvarchar(800) NOT NULL,
[AccountAssignment] nvarchar(800) NOT NULL,
[PrecedentOrder] int NOT NULL,
[Variability] decimal NOT NULL,
PRIMARY KEY ([AccountVariabilityOverrideID])
);
GO
ALTER TABLE [ob].[AccountVariabilityOverride] ADD CONSTRAINT [DF__AccountVa__Depar__0EB4746A] DEFAULT ('') FOR [DepartmentAssignment]; GO
ALTER TABLE [ob].[AccountVariabilityOverride] ADD CONSTRAINT [DF__AccountVa__Accou__0FA898A3] DEFAULT ('') FOR [AccountAssignment]; GO
ALTER TABLE [ob].[AccountVariabilityOverride] ADD CONSTRAINT [DF__AccountVa__Prece__109CBCDC] DEFAULT ((0)) FOR [PrecedentOrder]; GO
ALTER TABLE [ob].[AccountVariabilityOverride] ADD CONSTRAINT [DF__AccountVa__Varia__1190E115] DEFAULT ((0)) FOR [Variability]; GO