Database Migration Plugin - Reference Documentation
|
|
|
- Roy Reed
- 10 years ago
- Views:
Transcription
1 Grails Database Migration Plugin Database Migration Plugin - Reference Documentation Authors: Burt Beckwith Version: Table of Contents 1 Introduction to the Database Migration Plugin 1.1 History 2 Getting Started 2.1 Migration from Autobase 3 Configuration 4 General Usage 5 Groovy Changes 6 Groovy Preconditions 7 GORM Support 8 DbDoc Controller 1
2 1 Introduction to the Database Migration Plugin The Database Migration plugin helps you manage database changes while developing Grails applications. The plugin uses the Liquibase library. Using this plugin (and Liquibase in general) adds some structure and process to managing database changes. It will help avoid inconsistencies, communication issues, and other problems with ad-hoc approaches. Database migrations are represented in text form, either using a Groovy DSL or native Liquibase XML, in one or more changelog files. This approach makes it natural to maintain the changelog files in source control and also works well with branches. Changelog files can include other changelog files, so often developers create hierarchical files organized with various schemes. One popular approach is to have a root changelog named changlog.groovy (or changelog.xml) and to include a changelog per feature/branch that includes multiple smaller changelogs. Once the feature is finished and merged into the main development tree/trunk the changelog files can either stay as they are or be merged into one large file. Use whatever approach makes sense for your applications, but keep in mind that there are many options available for changelog management. Individual changes have an ID that should be globally unique, although they also include the username of the user making the change, making the combination of ID and username unique (although technically the ID, username, and changelog location are the "unique key"). As you make changes in your code (typically domain classes) that require changes in the database, you add a new change set to the changelog. Commit the code changes along with the changelog additions, and the other developers on your team will get both when they update from source control. Once they apply the new changes their code and development database will be in sync with your changes. Likewise when you deploy to a QA, a staging server, or production, you'll run the un-run changes that correspond to the code updates to being that environment's database in sync. Liquibase keeps track of previously executed changes so there's no need to think about what has and hasn't been run yet. Scripts Your primary interaction with the plugin will be using the provided scripts. For the most part these correspond to the many Liquibase commands that are typically executed directly from the commandline or with its Ant targets, but there are also a few Grails-specific scripts that take advantage of the information available from the GORM mappings. All of the scripts start with dbmor other to ensure that they're unique and don't clash with scripts from Grails plugins. 1.1 History History April 22, release October 28,
3 1.3.8 release October 27, release September 2, release July 1, release April 17, release January 4, release January 4, release January 3, release December 6, release December 1, release October 28, release May 11,
4 1.1 release August 17, release April 19, release February 13, release May 22, 2010 One breaking change: the default migrations folder changed from grails-app/conf/migrations to grails-app/migrations initial 0.1 release 4
5 2 Getting Started The first step is to add a dependency for the plugin in BuildConfig.groovy: plugins { runtime ':database-migration:1.3.6' Typical initial workflow Next you'll need to create an initial changelog. You can use Liquibase XML or the plugin's Groovy DSL for individual files. You can even mix and match; Groovy files can include other Groovy files and Liquibase XML files (but XML files can't include Groovy files). Depending on the state of your database and code, you have two options; either create a changelog from the database or create it from your domain classes. The decision tends to be based on whether you prefer to design the database and adjust the domain classes to work with it, or to design your domain classes and use Hibernate to create the corresponding database structure. To create a changelog from the database, use the dbm-generate-changelog script: grails dbm-generate-changelog changelog.groovy or grails dbm-generate-changelog changelog.xml depending on whether you prefer the Groovy DSL or XML. The filename is relative to the changelog base folder, which defaults to grails-app/migrations. If you use the XML format (or use a non-default Groovy filename), be sure to change the name of the file in Config.groovy so dbm-update and other scripts find the file: changelogfilename = 'changelog.xml' Since the database is already correct, run the dbm-changelog-sync script to record that the changes have already been applied: grails dbm-changelog-sync 5
6 Running this script is primarily a no-op except that it records the execution(s) in the Liquibase DATABASECHANGELOG table. To create a changelog from your domain classes, use the dbm-generate-gorm-changelog script: grails dbm-generate-gorm-changelog changelog.groovy or grails dbm-generate-gorm-changelog changelog.xml If you haven't created the database yet, run the dbm-update script to create the corresponding tables: grails dbm-update or the dbm-changelog-sync script if the database is already in sync with your code: grails dbm-changelog-sync If you use the searchable plugin you need to configure it to run after the database migrations have run. Either in Searchable.groovy or in Config.groovy (if that's where you configure Searchable): // disable the plugin's operations here. we'll re-enable them in the Bootstrap to avoid conflicts with database-migration mirrorchanges = false bulkindexonstartup = false In Bootstrap.groovy: class BootStrap { def searchableservice def init = { servletcontext -> // do any data loading you would normally // Manually start the mirroring process to ensure that it comes after the automated migrations. println "Performing bulk index" searchableservice.reindex() println "Starting mirror service" searchableservice.startmirroring() do 6
7 Source control Now you can commit the changelog and the corresponding application code to source control. Other developers can then update and synchronize their databases, and start doing migrations themselves. 2.1 Migration from Autobase Autobase is another plugin for managing database migrations. It uses Groovy migration scripts that have a similar syntax to this plugin's ones, but there are some differences that mean you will have to do a little bit of work to migrate your existing scripts. The following notes are applicable to Autobase 0.11 and earlier. Location of migration scripts Autobase defaulted to putting its migration scripts into a./migrations directory, whereas the Database Migration plugin uses./grails-app/migrations as the default. So, you can either move your scripts or add this setting to your grails-app/conf/config.groovy file: changeloglocation = "migrations" New syntax for all scripts Autobase allowed you to write changelog files that just included the change sets one after the other. This isn't supported by the Database Migration plugin, so all changelogs must put their change set definitions inside a block like so: databasechangelog = { changeset(...) { changeset(...) { In addition, if your main Autobase changelog specifies a logical file path (see next section), you will have to use the syntax: databasechangelog = { logicalfilepath "app-autobase" in all the changelog files. If you don't do this, the plugin won't recognise that existing migrations have already been applied to a database and all of them will be reapplied. These changes also apply to the main changelog, but there are some other differences to cover for that. Parent changelog differences The syntax for the main (or parent) Autobase changelog file looks like: 7
8 databasechangelog(logicalfilepath: "appname-autobase") { include "./migrations/batch/somebigchanges.groovy" include "./migrations/changelog groovy" include "./migrations/changelog groovy" The new format is noticeably different: databasechangelog = { logicalfilepath "site-autobase" include file: "batch/somebigchanges.groovy" include file: "changelog groovy" include file: "changelog groovy" In particular, note that: The databasechangelog line is different The logical file path must be defined inside the block include takes a named file argument The file paths passed to include are relative to the configured migrations directory Fortunately, these changes are highly localised and pretty trivial to implement. modifycolumn refactoring no longer available The modifycolumn refactoring has been removed in the version of Liquibase that comes with the Database Migration plugin. Instead you should use the new modifydatatype refactoring like so: changeset(id:'increasecommentbodysize', author:'someone') { modifydatatype tablename: 'comment', columnname: 'body', newdatatype: 'TEXT' The parameters are the same as for modifycolumn, but the syntax is somewhat different. 8
9 3 Configuration There are a few configuration options for the plugin: Property Default Meaning changeloglocation changelogfilename changelogproperties contexts dbdoclocation dbdoccontroller.enabled droponstart updateonstart updateonstartfilenames updateonstartdefaultschema updateonstartcontexts automigratescripts grails-app/migrations changelog.groovy none none target/dbdoc true in dev mode false false none none none 'RunApp' the folder containing the main changelog file (which can include one or more other files) the name of the main changelog file a map of properties to use for property substitution in Groovy DSL changelogs A comma-delimited list of context names. If specified, only changesets tagged with one of the context names will be run the directory where the output from the dbm-db-doc script is written whether the /dbdoc/ url is accessible at runtime if true then drops all tables before auto-running migrations (if updateonstart is true) if true then changesets from the specified list of names will be run at startup one or more file names ( r e l a t i v e t o changeloglocation) to run at startup if updateonstart is true the default schema to use when running auto-migrate on start A comma-delimited list of context names. If specified, only changesets tagged with one of the context names will be run the scripts when running auto-migrate. Useful to run auto-migrate during test phase with: 'RunApp', 'TestApp' 9
10 ignoredcolumns ignoredobjects databasechangelogtablename none none 'databasechangelog' databasechangeloglocktablename 'databasechangeloglock' one or more database column names (regexes) to ignore while performing a dbm-gorm-diff or dbm-generate-gorm-changelog one or more database object names to ignore while performing a dbm-gorm-diff or dbm-generate-gorm-changelog the Liquibase changelog record table name the Liquibase lock table name All of the above configs can be used for a multiple datasources in Grails 2.0.x. Multiple DataSource Example: If a reports datasource is configured in DataSource.groovy datasource_reports { url = driverclassname = The configuration for this data source would be: reports.updateontart = true reports.changelogfilename = changelog-reports.groovy 10
11 4 General Usage After creating the initial changelog, the typical workflow will be along the lines of: make domain class changes that affect the schema add changes to the changelog for them backup your database in case something goes wrong run grails dbm-update applying the changes) to update your development environment (or wherever you're check the updated domain class(es) and changelog(s) into source control When running migration scripts on non-development databases, it's important that you backup the database before running the migration in case anything goes wrong. You could also make a copy of the database and run the script against that, and if there's a problem the real database will be unaffected. To create the changelog additions, you can either manually create the changes or with the dbm-gorm-diff script (you can also use the dbm-diff script but it's far less convenient and requires a 2nd temporary database). You have a few options with dbm-gorm-diff: dbm-gorm-diff will dump to the console if no filename is specified, so you can copy/paste from there if you include the --add parameter when running the script with a filename it will register an include for the the filename in the main changelog for you Regardless of which approach you use, be sure to inspect generated changes and adjust as necessary. Autorun on start Since Liquibase maintains a record of changes that have been applied, you can avoid manually updating the database by taking advantage of the plugin's auto-run feature. By default this is disabled, but you can enable it by adding updateonstart = true to Config.groovy. In addition you must specify the file(s) containing changes; specify the name(s) using the updateonstartfilenames property, e.g.: updateonstartfilenames = ['changelog.groovy'] 11
12 Since changelogs can contain changelogs you'll most often just specify the root changelog, changelog.groovy by convention. Any changes that haven't been executed (in the specified file(s) or files included by them) will be run in the order specified. You may optionally limit the plugin's auto-run feature to run only specific contexts. If this configuration parameter is empty or omitted, all contexts will be run. updateonstartcontexts = ['context1,context2'] You can be notified when migration are run (for example to do some work before and/or after the migrations execute) by registering a "callback" class as a Spring bean. The class can have any name and package and doesn't have to implement any interface since its methods will be called using Groovy duck-typing. The bean name is "migrationcallbacks" and there are currently three callback methods supported (all are optional): beforestartmigration will be called (if it exists) for each datasource before any migrations have run; the method will be passed a single argument, the Liquibase Database for that datasource onstartmigration will be called (if it exists) for each migration script; the method will be passed three arguments, the Liquibase Database, the Liquibase instance, and the changelog file name aftermigrations will be called (if it exists) for each datasource after all migrations have run; the method will be passed a single argument, the Liquibase Database for that datasource An example class will look like this: package com.mycompany.myapp import liquibase.liquibase import liquibase.database.database class MigrationCallbacks { void beforestartmigration(database Database) { void onstartmigration(database database, Liquibase liquibase, String changelogname) { void aftermigrations(database Database) { Register it in resources.groovy: 12
13 import com.mycompany.myapp.migrationcallbacks beans = { migrationcallbacks(migrationcallbacks) 13
14 5 Groovy Changes In addition to the built-in Liquibase changes (see the documentation for what's available) you can also make database changes using Groovy code (as long as you're using the Groovy DSL file format). These changes use the grailschange tag name and are contained in a changeset tag like standard built-in tags. There are four supported inner tags and two callable methods (to override the default confirmation message and checksum value). General format This is the general format of a Groovy-based change; all inner tags and methods are optional: databasechangelog = { changeset(author: '...', id: '...') { grailschange { init { // arbitrary initialization code; note that no // database or connection is available validate { change { // can call warn( String message) to log a warning // or error( String message) to stop processing // arbitrary code; make changes directly and/or return a // SqlStatement using the sqlstatement(sqlstatement sqlstatement) // method or multiple with sqlstatements(list sqlstatements) confirm 'change confirmation message' rollback { // arbitrary code; make rollback changes directly and/or // return a SqlStatement using the sqlstatement(sqlstatement sqlstatement) // method or multiple with sqlstatements(list sqlstatements) confirm 'rollback confirmation message' confirm 'confirmation message' checksum 'override value for checksum' Available variables These variables are available throughout the change closure: 14
15 changeset the current Liquibase ChangeSet instance resourceaccessor ctx the current Liquibase ResourceAccessor instance the Spring ApplicationContext application the GrailsApplication The change and rollback closures also have the following available: database the current Liquibase Database instance databaseconnection the current Liquibase DatabaseConnection instance, which is a wrapper around the JDBC Connection (but doesn't implement the Connection interface) connection sql the real JDBC Connection instance (a shortcut for database.connection.wrappedconnection) a groovy.sql.sql instance which uses the current connection and can be used for arbitrary queries and updates init This is where any optional initialization should happen. You can't access the database from this closure. validate If there are any necessary validation checks before executing changes or rollbacks they should be done here. You can log warnings by calling warn(string message) and stop processing by calling error(string message). It may make more sense to use one or more preconditions instead of directly validating here. change All migration changes are done in the change closure. You can make changes directly (using the sql instance or the connection) and/or return one or more SqlStatements. You can call sqlstatement(sqlstatement statement) multiple times to register instances to be run. You can also call the sqlstatements(statements) method with an array or list of instances to be run. 15
16 rollback All rollback changes are done in the rollback closure. You can make changes directly (using the sql instance or the connection) and/or return one or more SqlStatements. You can call sqlstatement(sqlstatement statement) multiple times to register instances to be run. You can also call the sqlstatements(statements) method with an array or list of instances to be run. confirm The confirm(string message) method is used to specify the confirmation message to be shown. The default is "Executed GrailsChange" and it can be overridden in the change or rollback closures to allow phase-specific messages or outside of both closures to use the same message for the update and rollback phase. checksum The checksum for the change will be generated automatically, but if you want to override the value that gets hashed you can specify it with the checksum(string value) method. 16
17 6 Groovy Preconditions In addition to the built-in Liquibase preconditions (see the documentation for what's available) you can also specify preconditions using Groovy code (as long as you're using the Groovy DSL file format). These changes use the grailsprecondition tag name and are contained in the databasechangelog tag or in a changeset tag like standard built-in tags. General format This is general format of a Groovy-based precondition: databasechangelog = { changeset(author: '...', id: '...') { preconditions { grailsprecondition { check { // use an assertion assert x == x // use an assertion with an error message assert y == y : 'value cannot be 237' // call the fail method if (x!= x) { fail 'x!= x' // throw an exception (the fail method is preferred) if (y!= y) { throw new RuntimeException('y!= y') As you can see there are a few ways to indicate that a precondition wasn't met: use a simple assertion use an assertion with a message call the fail(string message) method (throws a PreconditionFailedException) throw an exception (shouldn't be necessary - use assert or fail() instead) Available variables 17
18 database the current Liquibase Database instance databaseconnection the current Liquibase DatabaseConnection instance, which is a wrapper around the JDBC Connection (but doesn't implement the Connection interface) connection sql the real JDBC Connection instance (a shortcut for database.connection.wrappedconnection) a groovy.sql.sql instance which uses the current connection and can be used for arbitrary queries and updates resourceaccessor ctx the current Liquibase ResourceAccessor instance the Spring ApplicationContext application the GrailsApplication changeset the current Liquibase ChangeSet instance changelog the current Liquibase DatabaseChangeLog instance Utility methods createdatabasesnapshotgenerator() retrieves the DatabaseSnapshotGenerator for the current Database createdatabasesnapshot(string schemaname = null) creates a DatabaseSnapshot for the current Database (and schema if specified) 18
19 7 GORM Support The plugin's support for GORM is one feature that differentiates it from using Liquibase directly. Typically when using Liquibase you make changes to a database yourself, and then create changesets manually, or use a diff script to compare your updated database to one that hasn't been updated yet. This is a decent amount of work and is rather error-prone. It's easy to forget some changes that aren't required but help performance, for example creating an index on a foreign key when using MySQL. create-drop, create, and update On the other end of the spectrum, Hibernate's create-drop mode (or create) will create a database that matches your domain model, but it's destructive since all previous data is lost when it runs. This works well in the very early stages of development but gets frustrating quickly. Unfortunately Hibernate's update mode seems like a good compromise since it only makes changes to your existing schema, but it's very limited in what it will do. It's very pessimistic and won't make any changes that could lose data. So it will add new tables and columns, but won't drop anything. If you remove a not-null domain class property you'll find you can't insert anymore since the column is still there. And it will create not-null columns as nullable since otherwise existing data would be invalid. It won't even widen a column e.g. from VARCHAR(100) to VARCHAR(200). dbm-gorm-diff The plugin provides a script that will compare your GORM current domain model with a database that you specify, and the result is a Liquibase changeset - dbm-gorm-diff. This is the same changeset you would get if you exported your domain model to a scratch database and diffed it with the other database, but it's more convenient. So a good workflow would be: make whatever domain class changes you need (add new ones, delete unneeded ones, add/change/remove properties, etc.) once your tests pass and you're ready to commit your changes to source control, run the script to generate the changeset that will bring your database back in line with your code add the changeset to an existing changelog file, or use the include tag to include the whole file run the changeset on your functional test database assuming your functional tests pass, check everything in as one commit the other members of your team will get both the code and database changes when they next update, and will know to run the update script to sync their database with the latest code once you're ready to deploy to QA for testing (or staging or production), you can run all of the un-run changes since the last deployment dbm-generate-gorm-changelog The dbm-generate-gorm-changelog script is useful for when you want to switch from create-drop mode to doing proper migrations. It's not very useful if you already have a database that's in sync with your code, since you can just use the dbm-generate-changelog script that creates a changelog from your databse. 19
20 8 DbDoc Controller You can use the dbm-db-doc script to generate static HTML files to view changelog information, but another option is to use the DbDocController at runtime. By default this controller is mapped to /appname/dbdoc/ but this can be customized with UrlMappings like any controller. You probably don't want to expose this information to all of your application's users so by default the controller is only enabled in the development environment. But you can enable or disable it for any environment in Config.groovy with the dbdoccontroller.enabled config option. For example to enable for all environments (be sure to guard the URL with a security plugin in prod): dbdoccontroller.enabled = true or to enable in the production environment: environments { production { dbdoccontroller.enabled = true 20
Table of contents. Reverse-engineers a database to Grails domain classes.
Table of contents Reverse-engineers a database to Grails domain classes. 1 Database Reverse Engineering Plugin - Reference Documentation Authors: Burt Beckwith Version: 0.5.1 Table of Contents 1 Introduction
Clustering a Grails Application for Scalability and Availability
Clustering a Grails Application for Scalability and Availability Groovy & Grails exchange 9th December 2009 Burt Beckwith My Background Java Developer for over 10 years Background in Spring, Hibernate,
Vector HelpDesk - Administrator s Guide
Vector HelpDesk - Administrator s Guide Vector HelpDesk - Administrator s Guide Configuring and Maintaining Vector HelpDesk version 5.6 Vector HelpDesk - Administrator s Guide Copyright Vector Networks
SPHOL207: Database Snapshots with SharePoint 2013
2013 SPHOL207: Database Snapshots with SharePoint 2013 Hands-On Lab Lab Manual This document is provided as-is. Information and views expressed in this document, including URL and other Internet Web site
AWS Schema Conversion Tool. User Guide Version 1.0
AWS Schema Conversion Tool User Guide AWS Schema Conversion Tool: User Guide Copyright 2016 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon's trademarks and trade dress may
CSCI110 Exercise 4: Database - MySQL
CSCI110 Exercise 4: Database - MySQL The exercise This exercise is to be completed in the laboratory and your completed work is to be shown to the laboratory tutor. The work should be done in week-8 but
Table of contents. Jasig CAS support for the Spring Security plugin.
Table of contents Jasig CAS support for the Spring Security plugin. 1 Spring Security ACL Plugin - Reference Documentation Authors: Burt Beckwith Version: 1.0.4 Table of Contents 1 Introduction 1.1 History
Grails 1.1. Web Application. Development. Reclaiming Productivity for Faster. Java Web Development. Jon Dickinson PUBLISHING J MUMBAI BIRMINGHAM
Grails 1.1 Development Web Application Reclaiming Productivity for Faster Java Web Development Jon Dickinson PUBLISHING J BIRMINGHAM - MUMBAI Preface Chapter 1: Getting Started with Grails 7 Why Grails?
MySQL for Beginners Ed 3
Oracle University Contact Us: 1.800.529.0165 MySQL for Beginners Ed 3 Duration: 4 Days What you will learn The MySQL for Beginners course helps you learn about the world's most popular open source database.
ShoreTel Active Directory Import Application
INSTALLATION & USER GUIDE ShoreTel Active Directory Import Application ShoreTel Professional Services Introduction The ShoreTel Active Directory Import Application allows customers to centralize and streamline
IceWarp to IceWarp Server Migration
IceWarp to IceWarp Server Migration Registered Trademarks iphone, ipad, Mac, OS X are trademarks of Apple Inc., registered in the U.S. and other countries. Microsoft, Windows, Outlook and Windows Phone
Version Control Your Jenkins Jobs with Jenkins Job Builder
Version Control Your Jenkins Jobs with Jenkins Job Builder Abstract Wayne Warren [email protected] Puppet Labs uses Jenkins to automate building and testing software. While we do derive benefit from
Managing User Accounts and User Groups
Managing User Accounts and User Groups Contents Managing User Accounts and User Groups...2 About User Accounts and User Groups... 2 Managing User Groups...3 Adding User Groups... 3 Managing Group Membership...
MarkLogic Server. Database Replication Guide. MarkLogic 8 February, 2015. Copyright 2015 MarkLogic Corporation. All rights reserved.
Database Replication Guide 1 MarkLogic 8 February, 2015 Last Revised: 8.0-1, February, 2015 Copyright 2015 MarkLogic Corporation. All rights reserved. Table of Contents Table of Contents Database Replication
Kaldeera Workflow Designer 2010 User's Guide
Kaldeera Workflow Designer 2010 User's Guide Version 1.0 Generated May 18, 2011 Index 1 Chapter 1: Using Kaldeera Workflow Designer 2010... 3 1.1 Getting Started with Kaldeera... 3 1.2 Importing and exporting
Windows Scheduled Task and PowerShell Scheduled Job Management Pack Guide for Operations Manager 2012
Windows Scheduled Task and PowerShell Scheduled Job Management Pack Guide for Operations Manager 2012 Published: July 2014 Version 1.2.0.500 Copyright 2007 2014 Raphael Burri, All rights reserved Terms
Inteset Secure Lockdown ver. 2.0
Inteset Secure Lockdown ver. 2.0 for Windows XP, 7, 8, 10 Administrator Guide Table of Contents Administrative Tools and Procedures... 3 Automatic Password Generation... 3 Application Installation Guard
Novell Identity Manager
Password Management Guide AUTHORIZED DOCUMENTATION Novell Identity Manager 3.6.1 June 05, 2009 www.novell.com Identity Manager 3.6.1 Password Management Guide Legal Notices Novell, Inc. makes no representations
SyncTool for InterSystems Caché and Ensemble.
SyncTool for InterSystems Caché and Ensemble. Table of contents Introduction...4 Definitions...4 System requirements...4 Installation...5 How to use SyncTool...5 Configuration...5 Example for Group objects
mylittleadmin for MS SQL Server 2005 from a Webhosting Perspective Anthony Wilko President, Infuseweb LLC
mylittleadmin for MS SQL Server 2005 from a Webhosting Perspective Anthony Wilko President, Infuseweb LLC April 2008 Introduction f there's one thing constant in the IT and hosting industries, it's that
Microsoft Windows PowerShell v2 For Administrators
Course 50414B: Microsoft Windows PowerShell v2 For Administrators Course Details Course Outline Module 1: Introduction to PowerShell the Basics This module explains how to install and configure PowerShell.
Force.com Migration Tool Guide
Force.com Migration Tool Guide Version 35.0, Winter 16 @salesforcedocs Last updated: October 29, 2015 Copyright 2000 2015 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark
Chancery SMS 7.5.0 Database Split
TECHNICAL BULLETIN Microsoft SQL Server replication... 1 Transactional replication... 2 Preparing to set up replication... 3 Setting up replication... 4 Quick Reference...11, 2009 Pearson Education, Inc.
Witango Application Server 6. Installation Guide for OS X
Witango Application Server 6 Installation Guide for OS X January 2011 Tronics Software LLC 503 Mountain Ave. Gillette, NJ 07933 USA Telephone: (570) 647 4370 Email: [email protected] Web: www.witango.com
Dynamic website development using the Grails Platform. Joshua Davis Senior Architect Cognizant Technology Solutions joshua.davis@cognizant.
Dynamic website development using the Grails Platform Joshua Davis Senior Architect Cognizant Technology Solutions [email protected] Topics Covered What is Groovy? What is Grails? What are the
Ipswitch Client Installation Guide
IPSWITCH TECHNICAL BRIEF Ipswitch Client Installation Guide In This Document Installing on a Single Computer... 1 Installing to Multiple End User Computers... 5 Silent Install... 5 Active Directory Group
D61830GC30. MySQL for Developers. Summary. Introduction. Prerequisites. At Course completion After completing this course, students will be able to:
D61830GC30 for Developers Summary Duration Vendor Audience 5 Days Oracle Database Administrators, Developers, Web Administrators Level Technology Professional Oracle 5.6 Delivery Method Instructor-led
FileMaker 12. ODBC and JDBC Guide
FileMaker 12 ODBC and JDBC Guide 2004 2012 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and Bento are trademarks of FileMaker, Inc.
Plug-In for Informatica Guide
HP Vertica Analytic Database Software Version: 7.0.x Document Release Date: 2/20/2015 Legal Notices Warranty The only warranties for HP products and services are set forth in the express warranty statements
PRESENTS... Reasons to Switch from SourceSafe: How to Make Your Life Easier with SourceAnywhere Standalone
Standalone PRESENTS... Reasons to Switch from SourceSafe: How to Make Your Life Easier with SourceAnywhere Standalone Most developers are familiar with Visual SourceSafe. It's a popular version control
Getting Started with Telerik Data Access. Contents
Contents Overview... 3 Product Installation... 3 Building a Domain Model... 5 Database-First (Reverse) Mapping... 5 Creating the Project... 6 Creating Entities From the Database Schema... 7 Model-First
Drupal Drush Guide. Credits @ Drupal.org
Drupal Drush Guide Credits @ Drupal.org 1.1 USAGE Drush can be run in your shell by typing "drush" from within any Drupal root directory. $ drush [options] [argument1] [argument2] Use the 'help'
Using Git for Project Management with µvision
MDK Version 5 Tutorial AN279, Spring 2015, V 1.0 Abstract Teamwork is the basis of many modern microcontroller development projects. Often teams are distributed all over the world and over various time
Oracle Forms Services Secure Web.Show_Document() calls to Oracle Reports
Oracle Forms Services Secure Web.Show_Document() calls to Oracle Reports $Q2UDFOH7HFKQLFDO:KLWHSDSHU )HEUXDU\ Secure Web.Show_Document() calls to Oracle Reports Introduction...3 Using Web.Show_Document
An Email Newsletter Using ASP Smart Mailer and Advanced HTML Editor
An Email Newsletter Using ASP Smart Mailer and Advanced HTML Editor This tutorial is going to take you through creating a mailing list application to send out a newsletter for your site. We'll be using
Oracle Forms Services Secure Web.Show_Document() calls to Oracle Reports Server 6i
Oracle Forms Services Secure Web.Show_Document() calls to Oracle Reports Server 6i $Q2UDFOH7HFKQLFDO:KLWHSDSHU 0DUFK Secure Web.Show_Document() calls to Oracle Reports Server 6i Introduction...3 solution
Database Administration
Unified CCE, page 1 Historical Data, page 2 Tool, page 3 Database Sizing Estimator Tool, page 11 Administration & Data Server with Historical Data Server Setup, page 14 Database Size Monitoring, page 15
DiskPulse DISK CHANGE MONITOR
DiskPulse DISK CHANGE MONITOR User Manual Version 7.9 Oct 2015 www.diskpulse.com [email protected] 1 1 DiskPulse Overview...3 2 DiskPulse Product Versions...5 3 Using Desktop Product Version...6 3.1 Product
Accessing Data with ADOBE FLEX 4.6
Accessing Data with ADOBE FLEX 4.6 Legal notices Legal notices For legal notices, see http://help.adobe.com/en_us/legalnotices/index.html. iii Contents Chapter 1: Accessing data services overview Data
DiskBoss. File & Disk Manager. Version 2.0. Dec 2011. Flexense Ltd. www.flexense.com [email protected]. File Integrity Monitor
DiskBoss File & Disk Manager File Integrity Monitor Version 2.0 Dec 2011 www.flexense.com [email protected] 1 Product Overview DiskBoss is an automated, rule-based file and disk manager allowing one to
User Migration Tool. Note. Staging Guide for Cisco Unified ICM/Contact Center Enterprise & Hosted Release 9.0(1) 1
The (UMT): Is a stand-alone Windows command-line application that performs migration in the granularity of a Unified ICM instance. It migrates only Unified ICM AD user accounts (config/setup and supervisors)
ShoreTel Active Directory Import Application
INSTALLATION & USER GUIDE ShoreTel Active Directory Import Application ShoreTel Professional Services Introduction The ShoreTel Active Directory Import application creates, updates, and removes System
Quick Connect Express for Active Directory
Quick Connect Express for Active Directory Version 5.2 Quick Start Guide 2012 Dell Inc. ALL RIGHTS RESERVED. This guide contains proprietary information protected by copyright. The software described in
The end. Carl Nettelblad 2015-06-04
The end Carl Nettelblad 2015-06-04 The exam and end of the course Don t forget the course evaluation! Closing tomorrow, Friday Project upload deadline tonight Book presentation appointments with Kalyan
GP REPORTS VIEWER USER GUIDE
GP Reports Viewer Dynamics GP Reporting Made Easy GP REPORTS VIEWER USER GUIDE For Dynamics GP Version 2015 (Build 5) Dynamics GP Version 2013 (Build 14) Dynamics GP Version 2010 (Build 65) Last updated
Power Update - Documentation Power Update Manager
Power Update - Documentation Power Update Manager In the PU Manager screen you can create New Tasks, Delete and Edit settings for your current Tasks. Note: When making a lot of changes or installing updates,
Enhanced Connector Applications SupportPac VP01 for IBM WebSphere Business Events 3.0.0
Enhanced Connector Applications SupportPac VP01 for IBM WebSphere Business Events 3.0.0 Third edition (May 2012). Copyright International Business Machines Corporation 2012. US Government Users Restricted
Continuous integration for databases using Red Gate tools
Whitepaper Continuous integration for databases using Red Gate tools A technical overview Continuous Integration source control develop Dev Dev Dev build test Automated Deployment Deployment package Testing
Grails - Rapid Web Application Development for the Java Platform
Grails - Rapid Web Application Development for the Java Platform Mischa Kölliker Guido Schmutz Zürich, 24.06.2008 Basel Baden Bern Lausanne Zurich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg Munich
TG Web. Technical FAQ
TG Web Technical FAQ About this FAQ We encourage you to contact us if. You can't find the information you're looking for. You would like to discuss your specific testing requirements in more detail. You
Introduction. Just So You Know... PCI Can Be Difficult
Introduction For some organizations, the prospect of managing servers is daunting. Fortunately, traditional hosting companies offer an affordable alternative. Picking the right vendor and package is critial
IBM Endpoint Manager Version 9.2. Patch Management for SUSE Linux Enterprise User's Guide
IBM Endpoint Manager Version 9.2 Patch Management for SUSE Linux Enterprise User's Guide IBM Endpoint Manager Version 9.2 Patch Management for SUSE Linux Enterprise User's Guide Note Before using this
IceWarp Server. Log Analyzer. Version 10
IceWarp Server Log Analyzer Version 10 Printed on 23 June, 2009 i Contents Log Analyzer 1 Quick Start... 2 Required Steps... 2 Optional Steps... 2 Advanced Configuration... 5 Log Importer... 6 General...
Automatic promotion and versioning with Oracle Data Integrator 12c
Automatic promotion and versioning with Oracle Data Integrator 12c Jérôme FRANÇOISSE Rittman Mead United Kingdom Keywords: Oracle Data Integrator, ODI, Lifecycle, export, import, smart export, smart import,
Integrating VoltDB with Hadoop
The NewSQL database you ll never outgrow Integrating with Hadoop Hadoop is an open source framework for managing and manipulating massive volumes of data. is an database for handling high velocity data.
How To Backup A Database On A Microsoft Powerpoint 3.5 (Mysqldump) On A Pcode (Mysql) On Your Pcode 3.3.5 On A Macbook Or Macbook (Powerpoint) On
Backing Up and Restoring Your MySQL Database (2004-06-15) - Contributed by Vinu Thomas Do you need to change your web host or switch your database server? This is probably the only time when you really
Log Analyzer Reference
IceWarp Unified Communications Log Analyzer Reference Version 10.4 Printed on 27 February, 2012 Contents Log Analyzer 1 Quick Start... 2 Required Steps... 2 Optional Steps... 3 Advanced Configuration...
NASA Workflow Tool. User Guide. September 29, 2010
NASA Workflow Tool User Guide September 29, 2010 NASA Workflow Tool User Guide 1. Overview 2. Getting Started Preparing the Environment 3. Using the NED Client Common Terminology Workflow Configuration
Author: Ryan J Adams. Overview. Policy Based Management. Terminology
Author: Ryan J Adams Overview We will cover what Policy Based Management is and how you can leverage its power to better manage your environment. With PBM we'll see what it can and cannot do to help you
Cabot Consulting Oracle Solutions. The Benefits of this Approach. Infrastructure Requirements
Scheduling Workbooks through the Application Concurrent Manager By Rod West, Cabot Oracle Application users will be very familiar with the Applications concurrent manager and how to use it to schedule
Setting up the Oracle Warehouse Builder Project. Topics. Overview. Purpose
Setting up the Oracle Warehouse Builder Project Purpose In this tutorial, you setup and configure the project environment for Oracle Warehouse Builder 10g Release 2. You create a Warehouse Builder repository
Workflow Templates Library
Workflow s Library Table of Contents Intro... 2 Active Directory... 3 Application... 5 Cisco... 7 Database... 8 Excel Automation... 9 Files and Folders... 10 FTP Tasks... 13 Incident Management... 14 Security
Geronimo Quartz Plugins
Table of Contents 1. Introduction 1 1.1. Target Use Cases.. 1 1.2. Not Target Use Cases.. 2 2. About the Geronimo Quartz Plugins. 2 3. Installing the Geronimo Quartz Plugins 2 4. Usage Examples 3 4.1.
Search help. More on Office.com: images templates
Page 1 of 14 Access 2010 Home > Access 2010 Help and How-to > Getting started Search help More on Office.com: images templates Access 2010: database tasks Here are some basic database tasks that you can
NetWrix SQL Server Change Reporter
NetWrix SQL Server Change Reporter Version 2.2 Administrator Guide Contents NetWrix SQL Server Change Reporter Administrator Guide 1. INTRODUCTION... 3 1.1 KEY FEATURES... 3 1.2 LICENSING... 4 1.3 HOW
Backing up and restoring HP Systems Insight Manager 6.0 or greater data files in a Windows environment
Technical white paper Backing up and restoring HP Systems Insight Manager 6.0 or greater data files in a Windows environment Table of contents Abstract 2 Introduction 2 Saving and restoring data files
Continuous integration for databases using
Continuous integration for databases using Red Wie Sie Gate die tools Microsoft SQL An overview Continuous integration for databases using Red Gate tools An overview Contents Why continuous integration?
FmPro Migrator - FileMaker to SQL Server
FmPro Migrator - FileMaker to SQL Server FmPro Migrator - FileMaker to SQL Server 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 FmPro Migrator - FileMaker to SQL Server Migration
Nick Ashley TOOLS. The following table lists some additional and possibly more unusual tools used in this paper.
TAKING CONTROL OF YOUR DATABASE DEVELOPMENT Nick Ashley While language-oriented toolsets become more advanced the range of development and deployment tools for databases remains primitive. How often is
ultimo theme Update Guide Copyright 2012-2013 Infortis All rights reserved
ultimo theme Update Guide Copyright 2012-2013 Infortis All rights reserved 1 1. Update Before you start updating, please refer to 2. Important changes to check if there are any additional instructions
Data Warehouse Troubleshooting Tips
Table of Contents "Can't find the Admin layer "... 1 "Can't locate connection document "... 3 Column Headings are Missing after Copy/Paste... 5 Connection Error: ORA-01017: invalid username/password; logon
DreamFactory & Modus Create Case Study
DreamFactory & Modus Create Case Study By Michael Schwartz Modus Create April 1, 2013 Introduction DreamFactory partnered with Modus Create to port and enhance an existing address book application created
SQL Server Replication Guide
SQL Server Replication Guide Rev: 2013-08-08 Sitecore CMS 6.3 and Later SQL Server Replication Guide Table of Contents Chapter 1 SQL Server Replication Guide... 3 1.1 SQL Server Replication Overview...
LAE 5.1. Windows Server Installation Guide. Version 1.0
LAE 5.1 Windows Server Installation Guide Copyright THE CONTENTS OF THIS DOCUMENT ARE THE COPYRIGHT OF LIMITED. ALL RIGHTS RESERVED. THIS DOCUMENT OR PARTS THEREOF MAY NOT BE REPRODUCED IN ANY FORM WITHOUT
This presentation introduces you to the Decision Governance Framework that is new in IBM Operational Decision Manager version 8.5 Decision Center.
This presentation introduces you to the Decision Governance Framework that is new in IBM Operational Decision Manager version 8.5 Decision Center. ODM85_DecisionGovernanceFramework.ppt Page 1 of 32 The
Librarian. Integrating Secure Workflow and Revision Control into Your Production Environment WHITE PAPER
Librarian Integrating Secure Workflow and Revision Control into Your Production Environment WHITE PAPER Contents Overview 3 File Storage and Management 4 The Library 4 Folders, Files and File History 4
INTEGRATING MICROSOFT DYNAMICS CRM WITH SIMEGO DS3
INTEGRATING MICROSOFT DYNAMICS CRM WITH SIMEGO DS3 Often the most compelling way to introduce yourself to a software product is to try deliver value as soon as possible. Simego DS3 is designed to get you
Spector 360 Deployment Guide. Version 7.3 January 3, 2012
Spector 360 Deployment Guide Version 7.3 January 3, 2012 Table of Contents Deploy to All Computers... 48 Step 1: Deploy the Servers... 5 Recorder Requirements... 52 Requirements... 5 Control Center Server
Understanding Task Scheduler FIGURE 33.14. Task Scheduler. The error reporting screen.
1383 FIGURE.14 The error reporting screen. curring tasks into a central location, administrators gain insight into system functionality and control over their Windows Server 2008 R2 infrastructure through
SharePoint 2010 Interview Questions-Architect
Basic Intro SharePoint Architecture Questions 1) What are Web Applications in SharePoint? An IIS Web site created and used by SharePoint 2010. Saying an IIS virtual server is also an acceptable answer.
EVALUATION ONLY. WA2088 WebSphere Application Server 8.5 Administration on Windows. Student Labs. Web Age Solutions Inc.
WA2088 WebSphere Application Server 8.5 Administration on Windows Student Labs Web Age Solutions Inc. Copyright 2013 Web Age Solutions Inc. 1 Table of Contents Directory Paths Used in Labs...3 Lab Notes...4
Table of Contents. OpenDrive Drive 2. Installation 4 Standard Installation Unattended Installation
User Guide for OpenDrive Application v1.6.0.4 for MS Windows Platform 20150430 April 2015 Table of Contents Installation 4 Standard Installation Unattended Installation Installation (cont.) 5 Unattended
WebSpy Vantage Ultimate 2.2 Web Module Administrators Guide
WebSpy Vantage Ultimate 2.2 Web Module Administrators Guide This document is intended to help you get started using WebSpy Vantage Ultimate and the Web Module. For more detailed information, please see
How To Back Up Your Pplsk Data On A Pc Or Mac Or Mac With A Backup Utility (For A Premium) On A Computer Or Mac (For Free) On Your Pc Or Ipad Or Mac On A Mac Or Pc Or
Parallels Plesk Control Panel Copyright Notice ISBN: N/A Parallels 660 SW 39 th Street Suite 205 Renton, Washington 98057 USA Phone: +1 (425) 282 6400 Fax: +1 (425) 282 6444 Copyright 1999-2008, Parallels,
To install Multifront you need to have familiarity with Internet Information Services (IIS), Microsoft.NET Framework and SQL Server 2008.
Znode Multifront - Installation Guide Version 6.2 1 System Requirements To install Multifront you need to have familiarity with Internet Information Services (IIS), Microsoft.NET Framework and SQL Server
USING MYWEBSQL FIGURE 1: FIRST AUTHENTICATION LAYER (ENTER YOUR REGULAR SIMMONS USERNAME AND PASSWORD)
USING MYWEBSQL MyWebSQL is a database web administration tool that will be used during LIS 458 & CS 333. This document will provide the basic steps for you to become familiar with the application. 1. To
FileMaker Server 11. FileMaker Server Help
FileMaker Server 11 FileMaker Server Help 2010 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark of FileMaker, Inc. registered
Professional. SlickEdif. John Hurst IC..T...L. i 1 8 О 7» \ WILEY \ Wiley Publishing, Inc.
Professional SlickEdif John Hurst IC..T...L i 1 8 О 7» \ WILEY \! 2 0 0 7 " > Wiley Publishing, Inc. Acknowledgments Introduction xiii xxv Part I: Getting Started with SiickEdit Chapter 1: Introducing
Installation & Configuration Guide User Provisioning Service 2.0
Installation & Configuration Guide User Provisioning Service 2.0 NAVEX Global User Provisioning Service 2.0 Installation Guide Copyright 2015 NAVEX Global, Inc. NAVEX Global is a trademark/service mark
MATLAB & Git Versioning: The Very Basics
1 MATLAB & Git Versioning: The Very Basics basic guide for using git (command line) in the development of MATLAB code (windows) The information for this small guide was taken from the following websites:
Deploying an ASP.NET Web Application to a Hosting Provider using Visual Studio
Deploying an ASP.NET Web Application to a Hosting Provider using Visual Studio Tom Dykstra Summary: This series of tutorials shows you how to make an ASP.NET web application available over the internet
Change Management for Rational DOORS User s Guide
Change Management for Rational DOORS User s Guide Before using this information, read the general information under Appendix: Notices on page 58. This edition applies to Change Management for Rational
IceWarp Server Upgrade
IceWarp Unified Communications IceWarp Version 11.4 Published on 2/9/2016 Contents... 3 Best Practices... 3 Planning Upgrade... 3 Prior Upgrade... 3 Upgrade... 3 After Upgrade... 3 Upgrade to Version 11.3...
metaengine DataConnect For SharePoint 2007 Configuration Guide
metaengine DataConnect For SharePoint 2007 Configuration Guide metaengine DataConnect for SharePoint 2007 Configuration Guide (2.4) Page 1 Contents Introduction... 5 Installation and deployment... 6 Installation...
CatDV Pro Workgroup Serve r
Architectural Overview CatDV Pro Workgroup Server Square Box Systems Ltd May 2003 The CatDV Pro client application is a standalone desktop application, providing video logging and media cataloging capability
Talend for Data Integration guide
Talend for Data Integration guide Table of Contents Introduction...2 About the author...2 Download, install and run...2 The first project...3 Set up a new project...3 Create a new Job...4 Execute the job...7
Continuous integration for databases using Redgate tools
Continuous integration for databases using Redgate tools Wie Sie die Microsoft SQL Server Data Tools mit den Tools von Redgate ergänzen und kombinieren können An overview 1 Continuous integration for
Setting Up Resources in VMware Identity Manager
Setting Up Resources in VMware Identity Manager VMware Identity Manager 2.4 This document supports the version of each product listed and supports all subsequent versions until the document is replaced
Version control. HEAD is the name of the latest revision in the repository. It can be used in subversion rather than the latest revision number.
Version control Version control is a powerful tool for many kinds of work done over a period of time, including writing papers and theses as well as writing code. This session gives a introduction to a
Informatica Corporation Proactive Monitoring for PowerCenter Operations Version 3.0 Release Notes May 2014
Contents Informatica Corporation Proactive Monitoring for PowerCenter Operations Version 3.0 Release Notes May 2014 Copyright (c) 2012-2014 Informatica Corporation. All rights reserved. Installation...
