module PgORM::Database

Extended Modules

Defined in:

pg-orm/database.cr

Class Method Summary

Class Method Detail

def self.adapter(builder : Query::Builder) : PostgreSQL #

[View source]
def self.begin_transaction : DB::Transaction #

[View source]
def self.checkout : DB::Connection #

[View source]
def self.configure(&) : Nil #

Configures database connection settings.

This also enables change data capture (CDC) for real-time notifications.

Example

PgORM::Database.configure do |settings|
  settings.host = "db.example.com"
  settings.port = 5432
  settings.db = "production"
  settings.user = "app_user"
  settings.password = ENV["DB_PASSWORD"]
end

[View source]
def self.connection(&) #

[View source]
def self.exec_sql(sql : String, *args_) #

[View source]
def self.info : Info #

[View source]
def self.parse(uri : String | URI) : Nil #

Parses a PostgreSQL connection URL and configures the database.

This is the recommended way to configure the database in production, typically from an environment variable.

Example

# From environment variable
PgORM::Database.parse(ENV["DATABASE_URL"])

# Direct URL
PgORM::Database.parse("postgres://user:pass@localhost:5432/mydb")

[View source]
def self.pool : DB::Database #

[View source]
def self.quote(name : Symbol | String, io : IO) #

[View source]
def self.quote(name : Symbol | String) #

[View source]
def self.release : Nil #

[View source]
def self.transaction(&) #

[View source]
def self.with_connection(&) #

[View source]