Link | admin_createdatabase |
Author | Jason Huck |
Category | Administration |
Version | 8.x |
License | http://opensource.org/licenses/artistic-license.php |
Posted | 21 Nov 2006 |
Updated | 21 Nov 2006 |
More by this author... |
Creates a new database on the selected host and enables it in SiteAdmin. Requires [host_id] and authentication as a user with permissions on Lasso's internal db's, i.e., with [auth_admin]. Works for any datasource which supports CREATE DATABASE in SQL.
admin_createdatabase( -host='Local MySQL', -name='TestDB' );
Click the "Download" button below to retrieve a copy of this tag, including the complete documentation and sample usage shown on this page. Place the downloaded ".inc" file in your LassoStartup folder, restart Lasso, and you can begin using this tag immediately.
define_tag( 'createdatabase', -namespace='admin_', -req='host', -req='name', -copy, -priority='replace', -description='Creates a new database on the selected host and enables it in SiteAdmin.' ); #name = encode_sql(#name); inline( -database='lasso_internal', -sql='SELECT 1'); // make sure name is unique local('sql' = ' SELECT id FROM security_datasource_databases WHERE name = \'' + #name + '\' OR alias = \'' + #name + '\' '); inline( -sql=#sql); found_count ? return(false); /inline; // get the host id local('hostID') = host_id(#host); // find an enabled database on this host to use for the connection local('sql' = ' SELECT alias, name FROM security_datasource_databases WHERE id_host = ' + #hostID + ' AND enabled = \'Y\' LIMIT 1 '); inline( -sql=#sql); found_count ? local('accessDB') = (field('alias') != '' ? field('alias') | field('name')) | return(false); /inline; // create the database local('sql' = 'CREATE DATABASE ' + #name); protect; inline( -database=#accessdb, -sql=#sql); /inline; // get the connector ID for the host so we can refresh it local('sql' = ' SELECT id_datasource FROM security_datasource_hosts WHERE id = ' + #hostID + ' '); inline( -sql=#sql); found_count ? local('connector') = integer(field('id_datasource')) | return(false); /inline; admin_reloaddatasource(#connector); // enable the new database local('sql' = ' UPDATE security_datasource_databases SET enabled = \'Y\' WHERE name = \'' + #name + '\' '); inline( -sql=#sql); /inline; return(true); handle_error; return(false); /handle_error; /protect; /inline; /define_tag;
©LassoSoft Inc 2015 | Web Development by Treefrog Inc | Privacy | Legal terms and Shipping | Contact LassoSoft
Bug fix