View Single Post
Old 09-20-2007   #1 (permalink)
NJC


 
 

Implementing SMO using Powershell (Part 2)

Hello,

I am trying to create a PK for an entity which is being instantiated and
added using SMO in Powershell. However, I have found no useful information on
this subject matter for Powershell so have decided to evaluate SMO in C# and
then convert it to Powershell where possible. I know Powershell uses the .Net
library so in theory the SMO object functionality should be the same.

The following C# code snippet seems to work fine but I am having difficulty
trying to convert it into Powershell. I’ve had a go but I am struggling how
exactly to make the newly created index of value “DriPrimaryKey”.

Please can someone have a look over my Powershell conversion and advise me
where I’m going wrong?

C#
// Create a PK Index for the table
Index index = new Index(newTable, "PK_TestTable");
index.IndexKeyType = IndexKeyType.DriPrimaryKey;

// The PK index will consist of 1 column, "ID"
index.IndexedColumns.Add(new IndexedColumn(index,"ID"));

// Add the new index to the table.
newTable.Indexes.Add(index);

// Physically create the table in the database
newTable.Create();


Powershell
// Create a PK Index for the table
$index = New-Object Microsoft.SqlServer.Management.Smo.Index($newTable,
"PK_NewTable")
index.IndexKeyType = IndexKeyType.DriPrimaryKey;????

// The PK index will consist of 1 column, "ID"
$indexedColumn = New-Object
Microsoft.SqlServer.Management.Smo.IndexedColumn($index, "ID")
$index.IndexedColumns.Add($indexedColumn)

// Add the new index to the table.
$apTable.Indexes.Add($index)

Also, I am currently using PowershellAnalyzer as an IDE. Is this best IDE
currently available for Powershell? Ideally it would be easier if there was
IDE with intellisense but I haven’t as of yet come across one.

Thanks,

My System SpecsSystem Spec