Skip to content

v5 Alpha #7

@jdaigle

Description

@jdaigle

Concepts

  • New convention-based directory structure. The root directory should contain a "migrations" subdirectory which contain the one-time and numbered migration scripts. An optional "objects" subdirectory contain scripts which will run anytime they are modified - it'll also traverse subdirectories to support organization. Any other directory is ignored.
  • Simplified command line. No more "commands". It'll run migrations followed by objects. If any migration has been modified, then hard-stop.
  • By default will prompt before executing scripts; command line switch to run without input (-U)
  • Command line switch to warn on modified migrations and re-execute.
  • Command line switch to execute scripts as a "baseline". I.e. the scripts won't run, but will simply update scripts table.
  • New scripts table to replace "schema_info". Include the text of the script for history.
  • Command line switch to create database for local dev

New Directory Structure Conventions

database_dir/
|-- migrations/
|-- objects/
|    |-- sprocs/ (optional)
|    |-- views/ (optional)
|    |-- functions/ (optional)
|    |-- indexes/ (optional)
|-- misc/ (optional)

Command Syntax

Usage: horton.exe [OPTIONS] COMMAND [PATH]

Path:
  Path to directory containing migrations (leave blank for current directory)

Commands:
 UPDATE     Executes current migrations if no conflicts exist.

Options:
  -f, --files=VALUE path to migrations directory
  -s, --server=VALUE         server hostname.
                               (leave blank for "localhost")
  -d, --database=VALUE       database name.
                               (leave blank to look for "database.name")
  -u, --username=VALUE       username of the database connection.
                               (leave blank for integrated security)
  -p, --password=VALUE       password of the database connection.
                               (required if username is provided)
  -c, --connectionString=VALUE
                             ADO.NET connection string.
                               (optional, overrides other parameters)
  -U, --UNATTEND             Surpress user acknowledgement during
                               execution.
  -v, --version              Print version number and exit.
  -h, --help, -?             show help message and exit.

Examples:
 horton.exe -m "\path\to\migrations" -s LOCALHOST -d Northwind -U
 horton.exe -m "\path\to\migrations" -s LOCALHOST -d Northwind -u sa -p pa55w0rd

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions