Initializing Midgard environment in Python
-
Henri Bergius
Initializing Midgard environment in Python
Sat March 21 2009 12:39:55 UTCHi, all
If you ever want to write a Midgard-powered Python application that needs to use its own storage setup, here is how to initialize a full Midgard environment:
# Import the Midgard API module import _midgard as midgard import os # Prepare a configuration file if one doesn't exist yet, see # http://www.midgard-project.org/documentation/unified-configuration/ config_name = 'my_midgard_db' configuration = midgard.config() configuration.dbtype = 'SQLite' configuration.database = 'my_midgard_db' configuration.blobdir = os.path.join(os.path.expanduser("~"), "midgardblobs"); configuration.loglevel = 'message' print "Saving configuration file " + config_name configuration.save_file(config_name) # Open a connection to the database defined in the configuration connection = midgard.connection() print "Opening configuration" connection.open_config(configuration) # Prepare storage tables # Midgard's internal tables print "Creating Midgard's internal database tables" configuration.create_midgard_tables() # Tables for all loaded MgdSchema types, see # http://www.midgard-project.org/documentation/mgdschema-file/ for schema in dir(midgard.mgdschema): if schema.startswith('__'): continue if schema == 'midgard_object': continue print "Creating table for " + schema configuration.create_class_table(schema) # Prepare the storage directories for binary attachments print "Creating blob directory" configuration.create_blobdir() # ...And now your Midgard environment should be operational/Henri
-
Re: [midgard-user] Initializing Midgard environment in Python
Tue March 24 2009 11:50:06 UTCHi,
On Sat, Mar 21, 2009 at 2:39 PM, Henri Bergius <henri.bergius@iki.fi> wrote:
> # http://www.midgard-project.org/documentation/unified-configuration/
> config_name = 'my_midgard_db'
> configuration = midgard.config()
> configuration.dbtype = 'SQLite'
> configuration.database = 'my_midgard_db'
> configuration.blobdir = os.path.join(os.path.expanduser("~"), "midgardblobs");
> configuration.loglevel = 'message'
> print "Saving configuration file " + config_name
> configuration.save_file(config_name)
Major omission here:
configuration.tablecreate = true
Without this, Midgard will not be able to create the tables.
--
Henri Bergius
Motorcycle Adventures and Free Software
http://bergie.iki.fi/
Skype: henribergius
Jabber: henri.bergius@gmail.com
Microblog: http://www.qaiku.com/home/bergie/
Sent from: Rome Lazio Italy.
_______________________________________________
user mailing list
user@lists.midgard-project.org
http://lists.midgard-project.org/mailman/listinfo/user
