mceachen / Monogamy
Licence: mit
Add table-level database locking to ActiveRecord
Stars: ✭ 12
Programming Languages
ruby
36898 projects - #4 most used programming language
Projects that are alternatives of or similar to Monogamy
With advisory lock
Advisory locking for ActiveRecord
Stars: ✭ 409 (+3308.33%)
Mutual labels: activerecord, mysql, postgresql, postgres
Jennifer.cr
Crystal ORM using ActiveRecord pattern with flexible query DSL
Stars: ✭ 309 (+2475%)
Mutual labels: activerecord, mysql, postgresql
Schemats
Generate typescript interface definitions from SQL database schema
Stars: ✭ 799 (+6558.33%)
Mutual labels: mysql, postgresql, postgres
Deno Nessie
A modular Deno library for PostgreSQL, MySQL, MariaDB and SQLite migrations
Stars: ✭ 381 (+3075%)
Mutual labels: mysql, postgresql, postgres
Dbq
Zero boilerplate database operations for Go
Stars: ✭ 273 (+2175%)
Mutual labels: mysql, postgresql, postgres
Pg party
ActiveRecord PostgreSQL Partitioning
Stars: ✭ 294 (+2350%)
Mutual labels: activerecord, postgresql, postgres
Sqlx
🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, SQLite, and MSSQL.
Stars: ✭ 5,039 (+41891.67%)
Mutual labels: mysql, postgresql, postgres
Querybuilder
SQL query builder, written in c#, helps you build complex queries easily, supports SqlServer, MySql, PostgreSql, Oracle, Sqlite and Firebird
Stars: ✭ 2,111 (+17491.67%)
Mutual labels: activerecord, mysql, postgresql
Openrecord
Make ORMs great again!
Stars: ✭ 474 (+3850%)
Mutual labels: activerecord, mysql, postgresql
Search cop
Search engine like fulltext query support for ActiveRecord
Stars: ✭ 660 (+5400%)
Mutual labels: activerecord, mysql, postgres
Xorm
Simple and Powerful ORM for Go, support mysql,postgres,tidb,sqlite3,mssql,oracle, Moved to https://gitea.com/xorm/xorm
Stars: ✭ 6,464 (+53766.67%)
Mutual labels: mysql, postgresql, postgres
Metabase
The simplest, fastest way to get business intelligence and analytics to everyone in your company 😋
Stars: ✭ 26,803 (+223258.33%)
Mutual labels: mysql, postgresql, postgres
Pg chameleon
MySQL to PostgreSQL replica system
Stars: ✭ 274 (+2183.33%)
Mutual labels: mysql, postgresql, postgres
Activerecord Postgres enum
Integrate PostgreSQL's enum data type into ActiveRecord's schema and migrations.
Stars: ✭ 227 (+1791.67%)
Mutual labels: activerecord, postgresql, postgres
Jet
Type safe SQL builder with code generation and automatic query result data mapping
Stars: ✭ 373 (+3008.33%)
Mutual labels: mysql, postgresql, postgres
Activerecord Clean Db Structure
Automatic cleanup for the Rails db/structure.sql file (ActiveRecord/PostgreSQL)
Stars: ✭ 101 (+741.67%)
Mutual labels: activerecord, postgresql, postgres
Calculate All
calculate_all method for aggregate functions in Active Record
Stars: ✭ 118 (+883.33%)
Mutual labels: activerecord, mysql, postgres
Sqlboiler
Generate a Go ORM tailored to your database schema.
Stars: ✭ 4,497 (+37375%)
Mutual labels: mysql, postgresql, postgres
Blog
Everything about database,business.(Most for PostgreSQL).
Stars: ✭ 6,330 (+52650%)
Mutual labels: mysql, postgresql, postgres
Monogamy (archived)
Adds table-level locking to ActiveRecord 4.2 and 5.0. MySQL and PostgreSQL are supported.
Usage
Tag.with_table_lock do
Tag.where(name: "example").first_or_create
end
While your code is inside the block, it will have exclusive read and write access to the model's table.
A transaction will be opened and closed for you automatically during your block's execution.
There's no need to wrap your call to with_table_lock
with a transaction do
.
If your block touches other tables, and you use table-level locking on those tables as well, read up about deadlocks. You have been warned.
Installation
Add this line to your application's Gemfile:
gem 'monogamy'
And then execute:
$ bundle
Changelog
0.0.1
- First whack
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].