package migra

  1. Overview
  2. Docs
A database migration tool and library for OCaml supporting PostgreSQL, MariaDB/MySQL, and SQLite

Install

dune-project
 Dependency

Authors

Maintainers

Sources

migra-1.0.1.tbz
sha256=daaaab416e580e5b8dc9f0a74482e142cef6d77b248d995d320f6f882d3a9e35
sha512=8f60494b9ee6ac2e7e69a16eefce69d1e8c22e831fe28f600a42200e3086e2f4d15331323ad1848f7165e1c8ff30fe320445185b7e988325588293a66937966a

doc/migra.engine/Migra_engine/Dialect/PostgreSQL_dialect/index.html

Module Dialect.PostgreSQL_dialectSource

Sourceval name : string
Sourceval default_port : int option
Sourceval admin_database : string option

Admin database to connect to for CREATE/DROP DATABASE operations

  • PostgreSQL: Some "postgres"
  • MariaDB: Some "mysql"
  • SQLite: None (file-based, no admin DB)
Sourceval database_exists_sql : string

SQL to check if database exists Returns query string with one parameter placeholder

  • PostgreSQL: SELECT EXISTS(SELECT 1 FROM pg_database WHERE datname = $1)
  • MariaDB: SELECT SCHEMA_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = ?
  • SQLite: "" (N/A - use file system check instead)
Sourceval create_database_sql : string -> string

Generate SQL to create database

  • parameter db_name

    Database name to create

  • returns

    SQL statement (not parameterized - database names can't be)

Sourceval drop_database_sql : string -> string

Generate SQL to drop database

  • parameter db_name

    Database name to drop

  • returns

    SQL statement (not parameterized - database names can't be)

Sourceval timestamp_to_string : string -> string

Convert timestamp column to string in SELECT

  • parameter column_name

    Name of timestamp column

  • returns

    SQL expression that casts to string

    • PostgreSQL: "created_at::text"
    • MariaDB: "CAST(created_at AS CHAR)"
    • SQLite: "created_at" (auto-converts)
Sourceval supports_database_lifecycle : bool

Whether this dialect supports CREATE/DROP DATABASE SQLite is file-based, so it uses file operations instead