Skip to content
Super Awesome Easy Fetching for Core Data!
Objective-C Ruby Other
Branch: master
Clone or download
Coeur Merge pull request #1378 from expkzb/master
Fix auto migration failed issue when using `setupCoreDataStackWithAutoMigratingSqliteStoreNamed` method
Latest commit 6031f60 Dec 21, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
Docs updating status of the project (#1374) Oct 28, 2019
MagicalRecord.xcodeproj Changelog for Sigmapoint-null-relationship Jun 22, 2019
Support Fix CI by replacing objc-build-scripts with Travis's builtin Xcode su… May 29, 2019
Tests Adding test for Sigmapoint-null-relationship Jun 22, 2019
.clang-format Update Clang Format configuration to be compatible with Clang 3.8's o… Jan 21, 2016
.cocoadocs.yml Lots of updates to the documentation from the wiki (and some new cont… Nov 1, 2014
.gitignore CocoaPods on TravisCI appears to be a ghetto — I can't deal with this… Jan 29, 2016
.travis.yml Changelog for Sigmapoint-null-relationship Jun 22, 2019 removed leftover Expecta artefacts Jun 1, 2019
LICENSE Fix typo URL at LICENSE file Aug 19, 2015
MagicalRecord.podspec Bump to version 2.4.0 Jun 21, 2019 updating status of the project (#1374) Oct 28, 2019

Awesome MagicalRecord

Circle CI

In software engineering, the active record pattern is a design pattern found in software that stores its data in relational databases. It was named by Martin Fowler in his book Patterns of Enterprise Application Architecture. The interface to such an object would include functions such as Insert, Update, and Delete, plus properties that correspond more-or-less directly to the columns in the underlying database table.

Active record is an approach to accessing data in a database. A database table or view is wrapped into a class; thus an object instance is tied to a single row in the table. After creation of an object, a new row is added to the table upon save. Any object loaded gets its information from the database; when an object is updated, the corresponding row in the table is also updated. The wrapper class implements accessor methods or properties for each column in the table or view.

- Wikipedia

MagicalRecord was inspired by the ease of Ruby on Rails' Active Record fetching. The goals of this code are:

  • Clean up my Core Data related code
  • Allow for clear, simple, one-line fetches
  • Still allow the modification of the NSFetchRequest when request optimizations are needed

Status of the project

This project's activity has stopped, superseded by Core Data itself. Our latest versions available are:

  • MagicalRecord 2.4.0, a stable version, available from tag '2.4.0' or pod 'MagicalRecord', :git => ''.
  • MagicalRecord 3.0.0, an experimental version, available in two flavors, one is branch release/3.0 and the other is branch maintenance/3.0.



This project's activity has stopped. MagicalRecord is provided as-is, free of charge. For support, you have a few choices:

  • Ask your support question on Stack Overflow, and tag your question with MagicalRecord.
  • If you believe you have found a bug in MagicalRecord, please submit a support ticket on the GitHub Issues page for MagicalRecord or a pull request. Please do NOT ask general questions on the issue tracker. Support questions will be closed unanswered.
  • For more personal or immediate support, MagicalPanda is available for hire to consult on your project.
You can’t perform that action at this time.