c      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  Safe None9 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  (graph) of the * objects' dependency relationships, with  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).    None    None 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. MRevert 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."Commit changes to the backend.#HRevert changes made to the backend since the current transaction began.$Disconnect 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.  !"#$%& ! "#$%  !"#$%  !"#$%&None<='9A type for types of validation errors for migration maps.(DA migration claims a dependency on a migration that does not exist.)QAn error was encountered when constructing the dependency graph for this store.*#The specified migration is invalid.+The type of migration storage facilities. 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./2Return a list of all available migrations' names.0Return the full representation of a given migration name; mostly for filesystem stores, where the full representation includes the store path.5!A mapping from migration name to  m. This is exported for testing purposes, but you'll want to interface with this through the encapsulating 1 type.62A convenience function for extracting the list of  s extant in the specified 1.7(A convenience function for looking up a   by name in the specified 1.8#Load migrations from the specified +:, validate the loaded migrations, and return errors or a 5m on success. Generally speaking, this will be the first thing you should call once you have constructed a +.9BValidate a migration map. Returns zero or more validation errors.:VValidate a single migration. Looks up the migration's dependencies in the specified 5 and returns a '- for each one that does not exist in the map.; Create a  from a 5; 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 8 instead.<sFinds migrations that no other migration depends on (effectively finds all vertices with in-degree equal to zero).'()*+,-./0123456789:;<='()*+,/-.0123456789:;<+,-./0'()*12345867;9:< '()*+,-./0123456789:;<=NoneAT?A command has a name, a number of required arguments' labels, a number of optional arguments' labels, and an action to invoke.GrCommandOptions are those options that can be specified at the command prompt to modify the behavior of a command.LA value of type ExecutableParameters is what a moo executable (moo-postgresql, |moo-mysql, etc.) pass to the core package when they want to execute a |command.RLoading the configuration from a file or having it specified via environment |variables results in a value of type Configuration.-Intermediate type used during config loading.X?Application state which can be accessed by any command handler.c@The type of actions that are invoked to handle specific commandsd(The monad in which the application runs.Setters for fields of .Setters for fields of .f .= v invokes f only if v is  It's just flip ewLoads config file (falling back to default one if not specified) and then overrides configuration with an environment. Converts  Just "on" and  Just "true" (case insensitive) to True, anything else to False.??@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi+?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi+dcGHIJK?@ABCDEFXYZ[\]^_`abRSTUVWfLMNOPQgihe?@ABCDEFGHIJKLMNOPQRSTUVWX YZ[\]^_`abcdefghi32NonemDGeneral Backend constructor for all HDBC connection implementations.mmmmNone  None0TrGiven a store and migration name, read and parse the associated migration and return the migration if successful. Otherwise return a parsing error message.sLGiven a filesystem path, read and parse the file as a migration return the  ; if successful. Otherwise return a parsing error message.{Given a migration and a list of parsed migration fields, update the migration from the field values for recognized fields.nopqrstnopqrsnoprsqnopqrstNonevqA typeclass for database connections that needs to implemented for each specific database type to use this test.wqWhether this backend supports transactional DDL; if it doesn't, we'll skip any tests that rely on that behavior.x Commits the current transaction.y+Executes an IO action inside a transaction.z>Retrieves a list of all tables in the current database/scheme.|Returns a backend instance.ADoes a failure to apply a migration imply a transaction rollback?vwxyz{|}vxzyw{|}vwxyz{|} vwxyz{|} None~Given a  and a 5V, query the backend and return a list of migration names which are available in the 5$ but which are not installed in the .+Create a new migration and store it in the +.Given 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.Given 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.~The +# in which to create a new migrationThe new migration~~~ None:jSimilar to Data.List.span, but performs the test on the entire remaining list instead of just one element. spanList p xs is the same as ((takeWhileList p xs, dropWhileList p xs)kSimilar to Data.List.break, but performs the test on the entire remaining list instead of just one element. None:AT NoneThe 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.   NoneLMNOPQRSTUVWLMNOPQRSTUVW !"#$%&'()**+,-./01234567899:;/<==>?@ABCDEFGHIJJKLMNOPQQRSTUUVWXYZZ[\]^__`abcdefghijklmnopqrstuvwxyz{|}~                      )dbmigrations-2.0.0-CzJIwLuZro4KxcmNUNQA4d'Database.Schema.Migrations.Dependencies$Database.Schema.Migrations.Migration"Database.Schema.Migrations.Backend Database.Schema.Migrations.StoreMoo.Core'Database.Schema.Migrations.Backend.HDBC%Database.Schema.Migrations.Filesystem+Database.Schema.Migrations.Test.BackendTestDatabase.Schema.MigrationsMoo.CommandUtilsMoo.CommandHandlersMoo.CommandInterfaceMoo.Main)Database.Schema.Migrations.CycleDetection/Database.Schema.Migrations.Filesystem.SerializeDependencyGraphDGdepGraphObjectMapdepGraphNameMapdepGraph DependabledepsOfdepId mkDepGraph dependenciesreverseDependencies$fShowDependencyGraph$fEqDependencyGraph Migration mTimestampmIdmDescmApplymRevertmDepsemptyMigration newMigration$fDependableMigration $fEqMigration$fShowMigration$fOrdMigrationBackendgetBootstrapMigrationisBootstrappedapplyMigrationrevertMigration getMigrations commitBackendrollbackBackenddisconnectBackendrootMigrationName $fShowBackendMapValidationErrorDependencyReferenceErrorDependencyGraphErrorInvalidMigrationMigrationStore loadMigration saveMigrationfullMigrationName StoreDatastoreDataMappingstoreDataGraph MigrationMapstoreMigrations storeLookuploadMigrationsvalidateMigrationMapvalidateSingleMigrationdepGraphFromMappingleafMigrations$fShowMapValidationError$fEqMapValidationErrorCommand_cName _cRequired _cOptional_cAllowedOptions _cDescription _cHandlerCommandOptions_configFilePath_test_noAskExecutableParameters_parametersBackend_parametersMigrationStorePath_parametersLinearMigrations_parametersTimestampFilenames Configuration_connectionString_migrationStorePath_linearMigrations_timestampFilenamesAppState _appOptions _appCommand_appRequiredArgs_appOptionalArgs _appBackend _appStore _appStoreData_appLinearMigrations_appTimestampFilenamesCommandHandlerAppTloadConfigurationmakeParametersenvDatabaseName envStoreNameenvLinearMigrations$fShowLoadConfig$fShowConfiguration$fShowExecutableParameters hdbcBackendFilesystemStoreSettingsFSStore storePathfilesystemStoremigrationFromFilemigrationFromPath$fExceptionFilesystemStoreError$fShowFilesystemStoreErrorBackendConnectionsupportsTransactionalDDLcommitwithTransaction getTablescatchAll makeBackendtestsmissingMigrationscreateNewMigrationensureBootstrappedBackendmigrationsToApplymigrationsToRevertgetCurrentTimestampapplyrevertlookupMigration withBackendconfirmCreationinteractiveAskDeps$fEqAskDepsChoice newCommandupgradeCommandupgradeListCommandreinstallCommand listCommand applyCommand revertCommand testCommandcommands findCommandgetCommandArgscommandOptionUsage usageStringArgsusage usageSpecificprocArgsmainWithParametersCycleDetectionStateMarkWhiteGrayBlackhasCyclegetMarkreplacesetMark hasCycle'visit"fgl-5.5.3.0-KO9F4uETTjy3vgLQ22ev7I!Data.Graph.Inductive.PatriciaTreeGrbaseGHC.BaseString NextNodesFunc cleanLDupsdependenciesWith LoadConfiglcConnectionStringlcMigrationStorePath.=Just&<*>readFlag_lcConnectionString_lcMigrationStorePath_lcLinearMigrations_lcTimestampFilenamesShellEnvironment defConfigFile newLoadConfigvalidateLoadConfiglcLinearMigrationslcTimestampFilenamesapplyEnvironmentapplyConfigFileenvTimestampFilenamesmigrationTableName createSql revertSqlFieldSerializerfieldSerializers serializeDescserializeTimestampserializeDependsserializeRevertserializeApply commonPrefixcommonPrefixLinesserializeMultilineserializeMigrationmigrationFromFieldsFilesystemStoreErrorFieldProcessorthrowFSfilenameExtensionfsFullMigrationNameisMigrationFilename getFields missingFieldsrequiredFieldsfieldProcessors setTimestamp readTimestampsetDescriptionsetApply setRevert setDependsapplyMigrationFailure testSuite bootstrapTestisBootstrappedTrueTestisBootstrappedFalseTestignoreSqlExceptionsapplyMigrationSuccessrevertMigrationFailurerevertMigrationNothingrevertMigrationJustspanList breakList AskDepsChoiceYesNoViewDoneQuit PromptChoicesprompt mkPromptHelphasHelpunbufferedGetCharinteractiveAskDeps'askDepsChoicessplitcommandOptionsoptionConfigFile optionTest optionNoAskdefaultOptionsreportSqlError