package migra

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

Install

dune-project
 Dependency

Authors

Maintainers

Sources

migra-1.0.0.tbz
sha256=08ceb8f21f00227f21209484ef1eb8cc326ed26a280747798ec5b0b7c5fdd678
sha512=70050833623ba7801a0a31b1700f5473903335c8db2cdf4de5bbd1876180ec0a93907444b42f7a39b6af454303e0ee5f4c3543ca51378d6324583a26b93f535c

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