Skip to content

Instantly share code, notes, and snippets.

View mikebeaton's full-sized avatar

Mike Beaton mikebeaton

View GitHub Profile
@mikebeaton
mikebeaton / shim_make.sh
Last active August 19, 2023 12:13
Make rhboot/shim inside Ubuntu multipass on macOS, targetting OpenCore.efi as bootloader
#!/bin/sh
#
# `./shim_make.sh install` within macOS, then `/Users/{macOS-user}/shim_root/shim_make.sh` within multipass
SHIM_ROOT="shim_root"
GREEN='\033[0;32m'
NC='\033[0m' # No Color
if [ "$1" = "install" ] ; then
| |AddressTypeID|AddressType| |AddressTypeID|AddressType|
|OURS <<<|NULL |NULL |THEIRS >>>|2 |Term |
|OURS <<<|NULL |NULL |THEIRS >>>|3 |Work |
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[DataCompare]
@table_name sysname,
@remote_db_name sysname,
@import_theirs_to_ours bit = null,
@import_ours_to_theirs bit = null,
@schema_name sysname = 'dbo'
INSERT INTO dbo.AddressTypes (
[AddressTypeID],
[AddressType]
)
SELECT
[theirs].[AddressTypeID],
[theirs].[AddressType]
FROM dbo.AddressTypes [ours]
FULL OUTER JOIN RemoteServer.CustomerDatabase.dbo.AddressTypes [theirs]
ON [ours].[AddressTypeID] = [theirs].[AddressTypeID]
SET @SQL = 'INSERT INTO ' + @local_table_name + ' (' + @CRLF
SELECT @SQL = @SQL + @TAB + '[' + #columns.name + '],' + @CRLF
FROM #columns
SELECT @SQL = SUBSTRING(@SQL, 1, LEN(@SQL) - LEN(@CRLF) - 1) + @CRLF
SELECT @SQL = @SQL + ')' + @CRLF
SELECT @SQL = @SQL + 'SELECT' + @CRLF
SELECT 'OURS <<<' AS [ ],
[ours].[AddressTypeID],
[ours].[AddressType],
'THEIRS >>>' AS [ ],
[theirs].[AddressTypeID],
[theirs].[AddressType]
FROM dbo.AddressTypes [ours]
FULL OUTER JOIN RemoteServer.CustomerDatabase.dbo.AddressTypes [theirs]
ON [ours].[AddressTypeID] = [theirs].[AddressTypeID]
WHERE [ours].[AddressTypeID] IS NULL AND [theirs].[AddressTypeID] IS NOT NULL
DECLARE @SQL NVARCHAR(MAX)
DECLARE @i INT
SET @SQL = 'SELECT '
SET @SQL = @SQL + '''OURS <<<'' AS [ ],' + @CRLF
SELECT @SQL = @SQL + @TAB + ' [ours].[' + #columns.name + '],' + @CRLF
FROM #columns
SET @SQL = @SQL + @TAB + ' ''THEIRS >>>'' AS [ ],' + @CRLF
SELECT c.column_id, c.name
FROM sys.objects o
INNER JOIN sys.schemas s
ON o.schema_id = s.schema_id
AND s.name = @schema_name
INNER JOIN sys.indexes i
ON o.object_id = i.object_id
AND i.is_primary_key = 1
INNER JOIN sys.index_columns ic
ON i.object_id = ic.object_id
SELECT c.column_id, c.name
FROM sys.objects o
INNER JOIN sys.schemas s
ON o.schema_id = s.schema_id
AND s.name = @schema_name
INNER JOIN sys.columns c
ON o.object_id = c.object_id
WHERE o.name = @table_name
var films = new MightyOrm(connectionString, "Film");
var page = films.Paged(orderBy: "Title", currentPage: 2, pageSize: 30);