úÎŒ¯‚KE      !"#$%&'()*+,-./0123456789:;<=>?@ABCD Safe-Inferred EFGHIJKLMNOJEFIHGJKLMNONone2 A Ž represents a collection of objects together with a graph of their dependency relationships. This is intended to be used with instances of . A mapping of ( objects to their graph vertex indices. A mapping of 4 object identifiers to their graph vertex indices. A directed P (graph) of the * objects' dependency relationships, with Q vertex and edge labels.k objects supply a representation of their identifiers, and a list of other objects upon which they depend.(The identifiers of the objects on which a depends.The identifier of a  object.(Build a dependency graph from a list of †s. Return the graph on success or return an error message if the graph cannot be constructed (e.g., if the graph contains a cycle). «Given a dependency graph and an ID, return the IDs of objects that the object depends on. IDs are returned with least direct dependencies first (i.e., the apply order). «Given a dependency graph and an ID, return the IDs of objects that depend on it. IDs are returned with least direct reverse dependencies first (i.e., the revert order).RS TUV   RS TUVNone WX     WXNone6ÿQA Backend represents a database engine backend such as MySQL or SQLite. A Backend supplies relatively low-level functions for inspecting the backend's state, applying migrations, and reverting migrations. A Backend also supplies the migration necessary to "bootstrap" a backend so that it can track which migrations are installed.ŠThe migration necessary to bootstrap a database with this connection interface. This might differ slightly from one backend to another.üReturns whether the backend has been bootstrapped. A backend has been bootstrapped if is capable of tracking which migrations have been installed; the "bootstrap migration" provided by getBootstrapMigration should suffice to bootstrap the backend.ÿšApply the specified migration on the backend. applyMigration does NOT assume control of the transaction, since it expects the transaction to (possibly) cover more than one applyMigration operation. The caller is expected to call commit at the appropriate time. If the application fails, the underlying SqlError is raised and a manual rollback may be necessary; for this, see withTransaction from HDBC.ÿORevert the specified migration from the backend and record this action in the table which tracks installed migrations. revertMigration does NOT assume control of the transaction, since it expects the transaction to (possibly) cover more than one revertMigration operation. The caller is expected to call commit at the appropriate time. If the revert fails, the underlying SqlError is raised and a manual rollback may be necessary; for this, see withTransaction from HDBC. If the specified migration does not supply a revert instruction, this has no effect other than bookkeeping.=Returns a list of installed migration names from the backend.œBackend instances should use this as the name of the migration returned by getBootstrapMigration; this migration is special because it cannot be reverted.None69A type for types of validation errors for migration maps.#The specified migration is invalid.QAn error was encountered when constructing the dependency graph for this store. DA migration claims a dependency on a migration that does not exist.!îA type class for types which represent a storage facility (and a monad context in which to operate on the store). A MigrationStore is a facility in which new migrations can be created, and from which existing migrations can be loaded." Load a migration from the store.#Save a migration to the store.$1Return a list of all available migrations' names.%Return the full representation of a given migration name; mostly for filesystem stores, where the full representation includes the store path.*!A mapping from migration name to  m. This is exported for testing purposes, but you'll want to interface with this through the encapsulating & type.+2A convenience function for extracting the list of  s extant in the specified &.,(A convenience function for looking up a   by name in the specified &.-#Load migrations from the specified !:, validate the loaded migrations, and return errors or a *m on success. Generally speaking, this will be the first thing you should call once you have constructed a !..BValidate a migration map. Returns zero or more validation errors./VValidate a single migration. Looks up the migration's dependencies in the specified * and returns a - for each one that does not exist in the map.0 Create a  from a *µ; returns Left if the dependency graph cannot be constructed (e.g., due to a dependency cycle) or Right on success. Generally speaking, you won't want to use this directly; use - instead. !"#$%&'()*+,-./0Y !"#$%&'()*+,-./0!"#$% &'()*-+,0./  !"#$%&'()*+,-./0Y None Z[\]^_`abcdd Z[\]^_`abcdNone+246M4žGiven a store and migration name, read and parse the associated migration and return the migration if successful. Otherwise return a parsing error message.5LGiven a filesystem path, read and parse the file as a migration return the  ; if successful. Otherwise return a parsing error message.e{Given a migration and a list of parsed migration fields, update the migration from the field values for recognized fields.fg123hijk45lmenopqrstuvw1234512345fg123hijk45lmenopqrstuvw None246xÈGeneral Backend instance for all IO-driven HDBC connection implementations. You can provide a connection-specific instance if need be; this implementation is provided with the hope that you won't have to do that.yz{xyz{xNone6Given a  and a *V, query the backend and return a list of migration names which are available in the *$ but which are not installed in the .7+Create a new migration and store it in the !5, with some of its fields initially set to defaults.8Given a Ù, ensure that the backend is ready for use by bootstrapping it. This entails installing the appropriate database elements to track installed migrations. If the backend is already bootstrapped, this has no effect.9Given a migration mapping computed from a MigrationStore, a backend, and a migration to apply, return a list of migrations to apply, in order.:’Given a migration mapping computed from a MigrationStore, a backend, and a migration to revert, return a list of migrations to revert, in order.67The !# in which to create a new migration'The name of the new migration to createDThe list of migration names on which the new migration should depend89:6789:789:66789: None:M|<ConfigOptions are those options read from configuration file}A command has a name, a number of required arguments' labels, a number of optional arguments' labels, and an action to invoke.~rCommandOptions are those options that can be specified at the command prompt to modify the behavior of a command.iType wrapper for IConnection instances so the makeConnection function can return any type of connection.€?Application state which can be accessed by any command handler.@The type of actions that are invoked to handle specific commands‚(The monad in which the application runs.ƒVThe values of DBM_DATABASE_TYPE and their corresponding connection factory functions..„…|†‡ˆ‰}Š‹ŒŽ~‘’“”•;<=>?–€—˜™š›œžŸ‚ ¡ƒ¢£¤.„…|†‡ˆ‰}Š‹ŒŽ~‘’“”•;<=>?–€—˜™š›œžŸ‚ ¡ƒ¢£¤„…|†‡ˆ‰}Š‹ŒŽ~‘’“”•;<=>?–€ —˜™š›œžŸ‚ ¡ƒ¢£¤ None3¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¬­®°±¶¥ª©¨§¦«¬­®¯°±²³´µ¶·¸ None3:M¹º»¼½¾¿À¹º»¼½¾¿À¹º»¼½¾¿ÀNoneÁÇThe available commands; used to dispatch from the command line and used to generate usage output. |The available commands; used to dispatch from the command line and used to generate usage output. ÁÂÃÄÅÆÇÈÉÊÁÂÇÉÊ ÁÂÃÄÅÆÇÈÉÊNone@ABCDË ;<=>?@ABCD D;<=>?@ABC@ABCDËÌ !"#$%&'()*+,-./01)233456789:;<=>?@ABCDEF G G H I JKLMNOPQRSTUVWXYZ[\]^_`abcdefgh i j k l m n o p q r stuuvwxyz{|}~€‚ƒ„… † ‡ ˆ ‰ Š ‹ Œ  Ž   ‘ ’ ’ Š “ ” • ‹ – — ˜ ™ š › Œ œ ž  Ÿ Ž   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç ÈÉÊËÌÍÎÏÐÑÒÓÔdbmigrations-0.8.2'Database.Schema.Migrations.Dependencies$Database.Schema.Migrations.Migration"Database.Schema.Migrations.Backend Database.Schema.Migrations.Store%Database.Schema.Migrations.FilesystemDatabase.Schema.MigrationsMoo.Main)Database.Schema.Migrations.CycleDetection/Database.Schema.Migrations.Filesystem.Serialize'Database.Schema.Migrations.Backend.HDBCMoo.CoreMoo.CommandUtilsMoo.CommandHandlersMoo.CommandInterfaceDependencyGraphDGdepGraphObjectMapdepGraphNameMapdepGraph DependabledepsOfdepId mkDepGraph dependenciesreverseDependenciesMonadMigrationgetCurrentTime Migration mTimestampmIdmDescmApplymRevertmDeps newMigrationBackendgetBootstrapMigrationisBootstrappedapplyMigrationrevertMigration getMigrationsrootMigrationNameMapValidationErrorInvalidMigrationDependencyGraphErrorDependencyReferenceErrorMigrationStore loadMigration saveMigrationfullMigrationName StoreDatastoreDataMappingstoreDataGraph MigrationMapstoreMigrations storeLookuploadMigrationsvalidateMigrationMapvalidateSingleMigrationdepGraphFromMappingFilesystemStoreFSStore storePathmigrationFromFilemigrationFromPathmissingMigrationscreateNewMigrationensureBootstrappedBackendmigrationsToApplymigrationsToRevert Configuration_connectionString _databaseType_migrationStorePathArgsusage usageSpecificprocArgs mainWithConfCycleDetectionStateMarkBlackGrayWhitehasCyclegetMarkreplacesetMark hasCycle'visit fgl-5.5.0.1!Data.Graph.Inductive.PatriciaTreeGrbaseGHC.BaseString NextNodesFunc cleanLDupsdependenciesWith$fShowDependencyGraph$fEqDependencyGraph$fMonadMigrationIO$fDependableMigration$fShowMapValidationErrorFieldSerializerfieldSerializers serializeDescserializeTimestampserializeDependsserializeRevertserializeApply commonPrefixcommonPrefixLinesserializeMultilineserializeMigrationmigrationFromFieldsFilesystemStoreErrorFieldProcessorthrowFSfilenameExtensionisMigrationFilename getFields missingFieldsrequiredFieldsfieldProcessors setTimestamp readTimestampsetDescriptionsetApply setRevert setDepends $fMigrationStoreFilesystemStorem$fExceptionFilesystemStoreError$fBackendconnIOmigrationTableName createSql revertSql ConfigDataCommandCommandOptionsAnyIConnectionAppStateCommandHandlerAppT databaseTypesDbConnDescriptor _dbTypeStr _dbConnStr_fileStorePath_cName _cRequired _cOptional_cAllowedOptions _cDescription _cHandler_configFilePath_test_noAskShellEnvironment _appOptions _appCommand_appRequiredArgs_appOptionalArgs _appStore_appDatabaseConnStr_appDatabaseType _appStoreDatafromShellEnvironmentfromConfiguratorenvDatabaseTypeenvDatabaseName envStoreName AskDepsChoiceQuitDoneViewNoYes PromptChoicesapplyrevertlookupMigrationmakeConnectionwithConnectionconfirmCreationprompt mkPromptHelphasHelpunbufferedGetCharinteractiveAskDepsinteractiveAskDeps'askDepsChoices newCommandupgradeCommandupgradeListCommandreinstallCommand listCommand applyCommand revertCommand testCommandcommands findCommandcommandOptionsoptionConfigFile optionTest optionNoAskgetCommandArgsdefaultOptionscommandOptionUsage usageStringreportSqlError