def createDBRole(connection, role): try: arcpy.AddMessage('Creating database role ' + role) arcpy.CreateRole_management(input_database=connection, grant_revoke='GRANT', role=role, user_name='') for i in range(arcpy.GetMessageCount()): arcpy.AddReturnMessage(i) arcpy.AddMessage("++++++++++++++++++") except: for i in range(arcpy.GetMessageCount()): arcpy.AddReturnMessage(i)
print("Creating the enterprise geodatabase") arcpy.CreateEnterpriseGeodatabase_management(platform, instance, database, authentication, databaseAdmin, databaseAdminPass, schema, gdbAdmin, adminPass, tablespace, authFile) # Once the database has been created we will create an admin # connection so that we can create users in it. print("Creating connection to geodatabase as the DBA user") adminConn = arcpy.CreateDatabaseConnection_management(r'<path_to_save_file>', '<file_name>.sde', platform, instance, authentication, \ databaseAdmin, databaseAdminPass,'', database, schema) # First create a few roles for data viewers and data editors. print("\tCreating the viewer and editor roles") arcpy.CreateRole_management(adminConn, 'viewers') arcpy.CreateRole_management(adminConn, 'editors') # Next create users and assign them to their proper roles. # Generate a list of users to be added as editors and a list to be added as viewers. print("\t\tCreating users") editors = ['jack', 'jill', 'larry', 'loretta'] viewers = ['darryl', 'carol', 'rick', 'maggie'] for user in editors: arcpy.CreateDatabaseUser_management(adminConn, 'DATABASE_USER', user, '<your_choice_of_password>', 'editors') for user1 in viewers: arcpy.CreateDatabaseUser_management(adminConn, 'DATABASE_USER', user1, '<your_choice_of_password>', 'viewers')
# Create the geodatabase # Full tool documentation: Data Management Toolbox < Geodatabase Administration Toolset # https://pro.arcgis.com/en/pro-app/tool-reference/data-management/create-enterprise-geodatabase.htm # different database platforms have different requirements so refer to documentation for # particulars to connect arcpy.CreateEnterpriseGeodatabase_management('<your_platform>', '<your_instance_name>', '<database_name>', # see doc '<authentication_type>', # see doc '<your_dba_user_name>', '<your_dba_password>', '<sde_schema>', # see doc, only relevant to SQL Server '<geodatabase_administrator_name>', '<geodatabase_administrator_password>', '', r'<path_to_your_license_file>') # Create database connection arcpy.CreateDatabaseConnection_management(r'<full_path_to_connection_file>', '<file_name>.sde', '<platform>', '<your_instance_name>', '<authentication_type>', '<your_dba_user_name>', '<dba_password>', '<save_user_pass>', '<database>', 'schema') # Create an editor role arcpy.CreateRole_management(r'<full_path_to_connection_file>\<file_name>.sde', 'editor') # Create list of users userList = ['matt', 'tom', 'colin'] # Create users and assign to editor role for user in userList: arcpy.CreateDatabaseUser_management(r'<full_path_to_connection_file>\<file_name>.sde', '<authentication_type>', user, '<your_choice_password>', 'editor')