---
name: "DBIx::Class::DeploymentHandler::HandlesDeploy"
section: "3pm"
platform: "linux"
package: "libdbix-class-deploymenthandler-perl"
version: "0.002234-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/DBIx::Class::DeploymentHandler::HandlesDeploy"
---

# DBIx::Class::DeploymentHandler::HandlesDeploy(3pm)

Interface for deploy methods

## NAME

DBIx::Class::DeploymentHandler::HandlesDeploy - Interface for deploy methods

## KNOWN IMPLEMENTATIONS

- •

  DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator

- •

  DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator::Deprecated

## METHODS

### initialize

```
 $dh->initialize({
   version      => 1,
   storage_type => 'SQLite'
 });
```

Run scripts before deploying to the database

### prepare\_deploy

```
 $dh->prepare_deploy
```

Generate the needed data files to install the schema to the database.

### deploy

```
 $dh->deploy({ version => 1 })
```

Deploy the schema to the database.

### prepare\_resultsource\_install

```
 $dh->prepare_resultsource_install({
   result_source => $resultset->result_source,
 })
```

Takes a DBIx::Class::ResultSource and generates a single migration file to create the resultsource's table.

### install\_resultsource

```
 $dh->install_resultsource({
   result_source => $resultset->result_source,
   version       => 1,
 })
```

Takes a DBIx::Class::ResultSource and runs a single migration file to deploy the resultsource's table.

### prepare\_upgrade

```
 $dh->prepare_upgrade({
   from_version => 1,
   to_version   => 2,
   version_set  => [1, 2]
 });
```

Takes two versions and a version set.  This basically is supposed to generate the needed `"SQL"` to migrate up from the first version to the second version. The version set uniquely identifies the migration.

### prepare\_downgrade

```
 $dh->prepare_downgrade({
   from_version => 2,
   to_version   => 1,
   version_set  => [1, 2]
 });
```

Takes two versions and a version set.  This basically is supposed to generate the needed `"SQL"` to migrate down from the first version to the second version. The version set uniquely identifies the migration and should match its respective upgrade version set.

### upgrade\_single\_step

```
 my ($ddl, $sql) = @{
   $dh->upgrade_single_step({ version_set => $version_set })
 ||[]}
```

Call a single upgrade migration.  Takes a version set as an argument. Optionally return `"[ $ddl, $upgrade_sql ]"` where `$ddl` is the DDL for that version of the schema and `$upgrade_sql` is the SQL that was run to upgrade the database.

### downgrade\_single\_step

```
 $dh->downgrade_single_step($version_set);
```

Call a single downgrade migration.  Takes a version set as an argument. Optionally return `"[ $ddl, $upgrade_sql ]"` where `$ddl` is the DDL for that version of the schema and `$upgrade_sql` is the SQL that was run to upgrade the database.

### txn\_do

```
 $dh->txn_do(sub { ... })
```

Wrap the passed coderef in a transaction (if transactions are enabled.)

## AUTHOR

Arthur Axel "fREW" Schmidt \<frioux+cpan@gmail.com\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2024 by Arthur Axel "fREW" Schmidt.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
