COMPARE DATABASE

From Lianjapedia
Jump to: navigation, search

Purpose

Compares two databases and optionally creates an upgrade Lianja/VFP script

Syntax

COMPARE DATABASE <databasename1> WITH <databasename2> [TABLE <tablename> ] [TO FILE <filename.prg>]

See Also

ADATABASES(), ADD TABLE, ALTER INDEX, ALTER TABLE, CHECK DATABASE, CHECK TABLE, CLOSE DATABASES, CLOSE TABLES, COMPARE TABLE, COMPILE DATABASE, COPY DATABASE, CREATE DATABASE, CREATE INDEX, CREATE TABLE, CREATE VIEW, Database Events, DATABASE(), DBUSED(), DISPLAY DATABASE, DISPLAY INDEXES, DISPLAY SCHEMAS, DISPLAY TABLES, DROP DATABASE, DROP INDEX, DROP TABLE, GETENV(), INDEX, Lianja Package Files, Lianja Package Manager, LIST DATABASE, LIST INDEXES, LIST SCHEMAS, LIST TABLES, OPEN DATABASE, PACK, PACK DATABASE, REBUILD DATABASE, REINDEX DATABASE, SET AUTOCATALOG, SET EXCLUSIVE, USE

Description

The COMPARE DATABASE command compares two databases, <databasename1> and <databasename2>, and optionally generates an upgrade script, <filename.prg>, that can be packaged up and uploaded to a live system. A script named upgrade.prg (compiled to upgrade.dbo) is automatically detected and installed by the Lianja Cloud Server without requiring any machine downtime when included in a deployed Lianja Package File.

By default, all tables in <databasename1> are compared, along with the database metadata, stored procedures and events. If the optional TABLE <tablename> clause is included, only the specified table is compared (and the database metadata, stored procedures and events).

Individual tables can also be compared using the COMPARE TABLE command.

Example

// The 'production' database has been deployed to the server.
// On the development system the 'production' database
// has been copied to 'production_live'.
// Development continues and changes have been made to
// the development 'production' database.
// The following can be used to produce upgrade scripts
// to update the 'production' database on the server.
compare database production with production_live  to file upgrade.prg
compare database production with production_live table customers to file upgrade.prg
 
// After the compare, package and deploy the upgrade script to the server
// where it will be run on the server version of the 'production' database
 
// On the development system, copy the 'production' database
// to 'production_live': the latest production server database
// table structures, indexes etc., overwriting the previous backup
copy database production to production_live if exists
 
// Development can then continue using the 'production'
// database and it can subsequently be compared to the
// 'production_live' database
compare database production with production_live  to file upgrade.prg