Vous pouvez générer un MPD sous la forme d'un script SQL ou directement dans la base via une connexion directe en utilisant la méthode GenerateDatabase(). Vous pouvez générer des données de test à l'aide de la méthode GenerateTestData().
Dim GenDir, MonModele GenDir = "C:\temp\" Set MonModele=OpenModel(EvaluateNamedPath("%_EXEMPLES%\" & "gestsoc.mpd")) GenerateDatabaseScripts MonModele 'Génère un script SQL pour créer la base de données ModifyModel MonModele 'Modifie chaque table dans le modèle GenerateAlterScripts MonModele - Génère des scripts alter pour modifier la base de données GenerateTestDataScript MonModele - Génère des données de test à charger dans la base de données
Sub GenerateDatabaseScripts(m) Dim opts Set opts = m.GetPackageOptions() InteractiveMode = im_Batch ' Evite l'affichage de la fenêtre de génération opts.GenerateODBC = False ' Force la génération de script sql plutôt qu'ODBC opts.GenerationPathName = GenDir opts.GenerationScriptName = "MonScript.sql" m.GenerateDatabase ' Lance la fonctionnalité de génération de base de données End SubPour générer via une connexion directe à une base de données, vous vous connectez à la base de données (en utilisant la méthode ConnectToDatabase()) puis définissez la propriété GenerateODBC à true.
Sub ModifyModel(m) dim pTable, pCol For each pTable in m.Tables Set pCol = pTable.Columns.CreateNew() pCol.SetNameAndCode "az" & pTable.Name, "AZ" & pTable.Code pCol.Mandatory = False Next End Sub
Sub GenerateAlterScripts(m) Dim pOpts Set pOpts = m.GetPackageOptions() InteractiveMode = im_Batch ' Evite l'affichage de la fenêtre de génération ' Définit les options de génération en utilisant les options de modèle pOpts.GenerateODBC = False ' Force la génération via script sql plutôt que via ODBC pOpts.GenerationPathName = GenDir pOpts.DatabaseSynchronizationChoice = 0 'Force un fichier apm existant comme source pOpts.DatabaseSynchronizationArchive = GenDir & "modele.apm" pOpts.GenerationScriptName = "MonScriptAlter.sql" m.ModifyDatabase ' Lance la fonctionnalité de modification de base de données End Sub
Sub GenerateTestDataScript(m) Dim pOpts Set pOpts = m.GetPackageOptions() InteractiveMode = im_Batch ' Evite l'affichage de la fenêtre de génération ' Définit les options de génération en utilisant les options de modèle pOpts.TestDataGenerationByODBC = False ' Force la génération de script sql plutôt qu'ODBC pOpts.TestDataGenerationDeleteOldData = False pOpts.TestDataGenerationPathName = GenDir pOpts.TestDataGenerationScriptName = "MesDonneesTest.sql" m.GenerateTestData ' Lance la fonctionnalité de génération de données de teste End Sub