Files
galaxy/scripts/create_db.py
T
John Chilton 6d37b2890c Models: Database migrations for stand-alone tool_shed_install models.
create_db and manage_db should now work with install as well.

Migrations are symbolic links into lib/galaxy/model/migrate/versions of migrations affecting these tables. All future migrations to these tables should created in one place like this and linked in the other.
2013-12-05 00:20:54 -06:00

43 lines
1.4 KiB
Python
Executable File

"""
Creates the initial galaxy database schema using the settings defined in
universe_wsgi.ini.
This script is also wrapped by create_db.sh.
.. note: pass '-c /location/to/your_config.ini' for non-standard ini file
locations.
.. note: if no database_connection is set in universe_wsgi.ini, the default,
sqlite database will be constructed.
Using the database_file setting in universe_wsgi.ini will create the file
at the settings location (??)
.. seealso: universe_wsgi.ini, specifically the settings: database_connection
and database file
"""
import sys
import os.path
new_path = [ os.path.join( os.getcwd(), "lib" ) ]
new_path.extend( sys.path[1:] ) # remove scripts/ from the path
sys.path = new_path
from galaxy.model.orm.scripts import get_config
from galaxy.model.migrate.check import create_or_verify_database as create_db
from galaxy.model.tool_shed_install.migrate.check import create_or_verify_database as create_install_db
from galaxy.webapps.tool_shed.model.migrate.check import create_or_verify_database as create_tool_shed_db
def invoke_create():
config = get_config(sys.argv)
if config['database'] == 'galaxy':
create_db(config['db_url'], config['config_file'])
elif config['database'] == 'tool_shed':
create_tool_shed_db(config['db_url'])
elif config['database'] == 'install':
create_install_db(config['db_url'])
if __name__ == "__main__":
invoke_create()