{"id":19640377,"url":"https://github.com/kentnl/app-dh","last_synced_at":"2026-05-26T16:37:13.094Z","repository":{"id":6935520,"uuid":"8186895","full_name":"kentnl/App-DH","owner":"kentnl","description":"Deploy your DBIx::Class Schema to DDL/Database via DBIx::Class::DeploymentHandler","archived":false,"fork":false,"pushed_at":"2017-03-06T14:00:02.000Z","size":224,"stargazers_count":0,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-09T18:56:57.188Z","etag":null,"topics":["perl"],"latest_commit_sha":null,"homepage":null,"language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kentnl.png","metadata":{"files":{"readme":"README.mkdn","changelog":"Changes","contributing":"CONTRIBUTING.pod","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-02-13T20:15:33.000Z","updated_at":"2016-10-08T05:25:43.000Z","dependencies_parsed_at":"2022-09-13T11:32:01.173Z","dependency_job_id":null,"html_url":"https://github.com/kentnl/App-DH","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kentnl%2FApp-DH","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kentnl%2FApp-DH/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kentnl%2FApp-DH/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kentnl%2FApp-DH/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kentnl","download_url":"https://codeload.github.com/kentnl/App-DH/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240947648,"owners_count":19883030,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["perl"],"created_at":"2024-11-11T14:05:36.752Z","updated_at":"2026-05-26T16:37:13.050Z","avatar_url":"https://github.com/kentnl.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NAME\n\nApp::DH - Deploy your DBIx::Class Schema to DDL/Database via DBIx::Class::DeploymentHandler\n\n# VERSION\n\nversion 0.004001\n\n# SYNOPSIS\n\nBasic usage:\n\n    #!/usr/bin/env perl\n    #\n    # dh.pl\n\n    use App::DH;\n    App::DH-\u003enew_with_options-\u003erun;\n\n\\--\n\n        usage: dh.pl [-?cdfhIos] [long options...] (install|upgrade|write_ddl)\n                -h -? --usage --help     Prints this usage information.\n                -c --connection_name     either a valid DBI DSN or an alias\n                                         configured by DBIx::Class::Schema::Config\n                -f --force               forcefully replace existing DDLs. [DANGER]\n                -s --schema              the class name of the schema to generate\n                                         DDLs/deploy for\n                -I --include             paths to load into @INC\n                -o --script_dir          output path\n                -d --database            database backends to generate DDLs for. See\n                                         SQL::Translator::Producer::* for valid values\n\n                commands:\n\n                install                       install to the specified database connection\n                upgrade                       upgrade the specified database connection\n                write_ddl                     only write ddl files\n\nIf you don't like any of the defaults, you can subclass to override\n\n    use App::DH;\n    {\n        package MyApp;\n        use  Moose;\n        extends 'App::DH';\n\n        has '+connection_name' =\u003e ( default =\u003e sub { 'production' } );\n        has '+schema'          =\u003e ( default =\u003e sub { 'MyApp::Schema' } );\n        __PACKAGE__-\u003emeta-\u003emake_immutable;\n    }\n    MyApp-\u003enew_with_options-\u003erun;\n\n# DESCRIPTION\n\nApp::DH is a basic skeleton of a command line interface for the excellent\n[`DBIx::Class::DeploymentHandler`](https://metacpan.org/pod/DBIx::Class::DeploymentHandler), to make executing database deployment stages easier.\n\n# COMMANDS\n\n## write\\_ddl\n\nOnly generate ddls for deploy/upgrade\n\n    dh.pl [...params] write_ddl\n\n## install\n\nInstall to connection [\"--connection\\_name\"](#connection_name)\n\n    dh.pl [...params] install\n\n## upgrade\n\nUpgrade connection [\"--connection\\_name\"](#connection_name)\n\n    dh.pl [...params] upgrade\n\n## database\\_version\n\nReport database\\_version of [\"--connection\"](#connection)\n\n## schema\\_version\n\nReport schema\\_version of [\"--schema\"](#schema)\n\n    dh.pl [...params] schema_version\n\n# PARAMETERS\n\n## --connection\\_name\n\n    -c/--connection_name\n\nSpecify the connection details to use for deployment.\nCan be a name of a configuration in a `DBIx::Class::Schema::Config` configuration if the [\"--schema\"](#schema) uses it.\n\n    --connection_name 'dbi:SQLite:/path/to/db'\n\n    -cdevelopment\n\n## --force\n\nOverwrite existing DDL files of the same version.\n\n    -f/--force\n\n## --schema\n\n    -s/--schema\n\nThe class name of the schema to load for DDL/Deployment\n\n    -sMyProject::Schema\n    --schema MyProject::Schema\n\n## --include\n\n    -I/--include\n\nAdd a given library path to @INC prior to loading `schema`\n\n    -I../lib\n    --include ../lib\n\nMay be specified multiple times.\n\n## --script\\_dir\n\n    -o/--script_dir\n\nSpecify where to write the per-backend DDL's.\n\nDefault is ./share/ddl\n\n    -o/tmp/ddl\n    --script_dir /tmp/ddl\n\n## --database\n\n    -d/--database\n\nSpecify the `SQL::Translator::Producer::*` backend to use for generating DDLs.\n\n    -dSQLite\n    --database PostgreSQL\n\nCan be specified multiple times.\n\nDefault is introspected from looking at whatever [\"--connection\\_name\"](#connection_name) connects to.\n\n## --target\n\n    --target\n\nSpecify which version to install/upgrade to.\n\nIf not specified, defaults to the latest version.\n\n# CREDITS\n\nThis module is mostly code by mst, sponsored by [nordaaker.com](http://nordaaker.com), and I've only tidied it up and made it\nmore CPAN Friendly.\n\n# SPONSORS\n\nThe authoring of the initial incarnation of this code is kindly sponsored by [nordaaker.com](http://nordaaker.com).\n\n# AUTHORS\n\n- kentnl - Kent Fredric (cpan:KENTNL) \u003ckentnl@cpan.org\u003e\n- mst - Matt S. Trout (cpan:MSTROUT) \u003cmst@shadowcat.co.uk\u003e\n\n# COPYRIGHT AND LICENSE\n\nThis software is copyright (c) 2017 by The App::DH Authors, Contributors, and Sponsors.\n\nThis is free software; you can redistribute it and/or modify it under\nthe same terms as the Perl 5 programming language system itself.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkentnl%2Fapp-dh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkentnl%2Fapp-dh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkentnl%2Fapp-dh/lists"}