avram
Version, currently 1.5.057 versions
- 1.5.0latestApr 22, 2026
- 1.4.2not indexedApr 29, 2026
- 1.4.1not indexedApr 29, 2026
- 1.4.0not indexedApr 29, 2026
- 1.3.0not indexedApr 29, 2026
- 1.2.0not indexedApr 29, 2026
- 1.1.1not indexedApr 29, 2026
- 1.1.0not indexedApr 29, 2026
- 1.0.0not indexedApr 29, 2026
- 1.0.0-rc1not indexedApr 29, 2026
- 0.23.0not indexedApr 29, 2026
- 0.22.0not indexedApr 29, 2026
- 0.21.1not indexedApr 29, 2026
- 0.21.0not indexedApr 29, 2026
- 0.20.0not indexedApr 29, 2026
- 0.19.1not indexedApr 29, 2026
- 0.19.0not indexedApr 29, 2026
- 0.18.2not indexedApr 29, 2026
- 0.18.1not indexedApr 29, 2026
- 0.18.0not indexedApr 29, 2026
- 0.17.0not indexedApr 29, 2026
- 0.16.1not indexedApr 29, 2026
- 0.16.0not indexedApr 29, 2026
- 0.15.0not indexedApr 29, 2026
- 0.14.0not indexedApr 29, 2026
- 0.13.1not indexedApr 29, 2026
- 0.13.0not indexedApr 29, 2026
- 0.12.4not indexedApr 29, 2026
- 0.12.3not indexedApr 29, 2026
- 0.12.2not indexedApr 29, 2026
- 0.12.1not indexedApr 29, 2026
- 0.12.0not indexedApr 29, 2026
- 0.12.0-rc1not indexedApr 29, 2026
- 0.12.0-previewnot indexedApr 29, 2026
- 0.11.2not indexedApr 29, 2026
- 0.11.1not indexedApr 29, 2026
- 0.11.0not indexedApr 29, 2026
- 0.11.0-rc1not indexedApr 29, 2026
- 0.10.0not indexedApr 29, 2026
- 0.9.4not indexedApr 29, 2026
- 0.9.3not indexedApr 29, 2026
- 0.9.2not indexedApr 29, 2026
- 0.9.1not indexedApr 29, 2026
- 0.9.0not indexedApr 29, 2026
- 0.7.0not indexedApr 29, 2026
- 0.7.0-rc1not indexedApr 29, 2026
- 0.6.1not indexedApr 29, 2026
- 0.6.0not indexedApr 29, 2026
- 0.5.0not indexedApr 29, 2026
- 0.5.0-rc1not indexedApr 29, 2026
- 0.4.0not indexedApr 29, 2026
- 0.3.1not indexedApr 29, 2026
- 0.3.0not indexedApr 29, 2026
- 0.2.1not indexedApr 29, 2026
- 0.2.0not indexedApr 29, 2026
- 0.1.2not indexedApr 29, 2026
- 0.1.1not indexedApr 29, 2026
github.com/luckyframework/avram
A Crystal database wrapper for reading, writing, and migrating Postgres databases.
Installation
# Add this to your shard.yml
dependencies:
avram:
github: luckyframework/avram
version: ~> 1.5.0Then run:
shards installshard.yml
- Crystal
>= 1.16.3- License
- MIT
- Author
- Paul Smith
- Executable
lucky.gen.migration.cr
Dependencies
Runtime Dependencies
- pg~> 0.29.0github: will/crystal-pg
- dexter~> 0.3.4github: luckyframework/dexter
- pulsar~> 0.2.3github: luckyframework/pulsar
- habitat~> 0.4.9github: luckyframework/habitat
- wordsmith~> 0.5.0github: luckyframework/wordsmith
- lucky_task~> 0.3.0github: luckyframework/lucky_task
- lucky_cache~> 0.2.0github: luckyframework/lucky_cache
- shell-table~> 0.9.3github: luckyframework/shell-table.cr
- lucky_template~> 0.2.0github: luckyframework/lucky_template
- cadmium_transliterator*github: cadmiumcr/transliterator, branch: master
Development Dependencies
README
Avram
Database ORM built for the Lucky Framework written in Crystal. Supporting PostgreSQL 12+ and based off principals of Elixir Ecto and Rails ActiveRecord.
Why Avram?
The name comes from Henriette Avram.
Henriette Davidson Avram (October 7, 1919 – April 22, 2006) was a computer programmer and systems analyst who developed the MARC format (Machine Readable Cataloging), the international data standard for bibliographic and holdings information in libraries.
Installation
Add this to your application's shard.yml:
dependencies:
avram:
github: luckyframework/avram
Usage
require "avram"
# Define your database
class AppDatabase < Avram::Database
end
AppDatabase.configure do |settings|
settings.credentials = Avram::Credentials.new(
database: "my_app_development",
username: "postgres",
hostname: "localhost",
password: "password",
port: 5432,
)
end
# Configure Avram to use your database
Avram.configure do |settings|
settings.database_to_migrate = AppDatabase
# When `true`, allow lazy loading (N+1).
# If `false` raise an error if you forget to preload associations
settings.lazy_load_enabled = true
settings.query_cache_enabled = false
end
# Create your read-only model
class Person < Avram::Model
def self.database : Avram::Database.class
AppDatabase
end
table :people do
column name : String
column age : Int32
column programmer : Bool = true
end
end
# Insert a new record
Person::SaveOperation.create!(name: "Henriette Davidson Avram", age: 86)
# Query for a record
person = Person::BaseQuery.new.name.ilike("%avram")
person.programmer? #=> true
For more details, read the guides.
Contributing
- Fork it ( https://github.com/luckyframework/avram/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Make your changes
- Run specs
crystal spec - Check formatting
crystal tool format spec/ src/ - Check ameba
./bin/ameba - Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
Docker is provided for quick setup and testing. You can run
./script/setupand./script/testfor ease.
Contributors
paulcsmith Paul Smith - Original Creator of Lucky
Made with contrib.rocks.
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
1.5.0- Tagged
- Apr 22, 2026
- Commit
bb976ca27f90- Crystal
>= 1.16.3- Indexed
- yes
Dependents
and 41 more
Repository
github.com/luckyframework/avram
Metadata
- Created
- Aug 12, 2026
- Updated
- Sep 23, 2026
- Synced
- Sep 23, 2026
- Versions
- 57