Skip to content

Commit

Permalink
version bump
Browse files Browse the repository at this point in the history
  • Loading branch information
fuzzagrosner committed Jan 20, 2016
1 parent 3e03404 commit 9e739c8
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 37 deletions.
30 changes: 14 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
![Image](https://github.com/agrosner/DBFlow/blob/develop/dbflow_banner.png?raw=true)

[![JitPack.io](https://img.shields.io/badge/JitPack.io-3.0.0beta1-red.svg?style=flat)](https://jitpack.io/#Raizlabs/DBFlow) [![Android Weekly](http://img.shields.io/badge/Android%20Weekly-%23129-2CB3E5.svg?style=flat)](http://androidweekly.net/issues/issue-129) [![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-DBFlow-brightgreen.svg?style=flat)](https://android-arsenal.com/details/1/1134)
[![JitPack.io](https://img.shields.io/badge/JitPack.io-3.0.0beta2-red.svg?style=flat)](https://jitpack.io/#Raizlabs/DBFlow) [![Android Weekly](http://img.shields.io/badge/Android%20Weekly-%23129-2CB3E5.svg?style=flat)](http://androidweekly.net/issues/issue-129) [![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-DBFlow-brightgreen.svg?style=flat)](https://android-arsenal.com/details/1/1134)

A robust, powerful, and very simple ORM android database library with **annotation processing**.

Expand All @@ -10,15 +10,13 @@ Let DBFlow make SQL code _flow_ like a _steady_ stream so you can focus on writi

# Why Use DBFlow vs other solutions
DBFlow was built with the intention of bringing the best of all features from other ORM database libraries and to do it even better. It was also built to not limit how you can code your problems, but make it _significantly_ easier to make amazing applications. Don't let an ORM or library get in your way, let the code you write in your applications be the best as possible.

1. **Extensibility**: `Model` is just an interface, no subclass required, but as a convenience we recommend using `BaseModel`. You can extend non-`Model` classes in different packages and use them as your DB tables. Also you can subclass other `Model` to join the `@Column` together, and again they can be in different packages. _Also, subclass objects in this library to suit your needs_.

2. **Speed**: Built with java's annotation processing code generation, there's zero runtime performance hit by using this library. This library saves hours of boilerplate code and maintenance by generating the code for you. With powerful model caching (multiple primary key `Model` too), you can surpass the speed of SQLite by reusing where possible. We have support for lazy-loading relationships on-demand such as `@ForeignKey` or `@OneToMany` that make queries happen super-fast.
3. **SQLite Query Flow**: The queries in this library adhere as closely as possible to SQLite native queries. `select(name, screenSize).from(Android.class).where(name.is("Nexus 5x")).and(version.is(6.0)).querySingle()`
4. **Open Source**: This library is fully open source and contributions are not only welcomed, but encouraged.
5. **Robust**: We support `Trigger`, `ModelView`, `Index`, `Migration`, built-in database request queue to perform operations on same thread, and many more features.
6. **Multiple Databases, Multiple Modules**: we seamlessly support multiple database files, database modules using DBFlow in other dependencies, simultaneously.
7. **Built On SQLite**: SQLite is the most widely used database engine in world and using it as your base, you are not tied to a limited set of platforms or libraries.
- **Extensibility**: `Model` is just an interface, no subclass required, but as a convenience we recommend using `BaseModel`. You can extend non-`Model` classes in different packages and use them as your DB tables. Also you can subclass other `Model` to join the `@Column` together, and again they can be in different packages. _Also, subclass objects in this library to suit your needs_.
- **Speed**: Built with java's annotation processing code generation, there's zero runtime performance hit by using this library. This library saves hours of boilerplate code and maintenance by generating the code for you. With powerful model caching (multiple primary key `Model` too), you can surpass the speed of SQLite by reusing where possible. We have support for lazy-loading relationships on-demand such as `@ForeignKey` or `@OneToMany` that make queries happen super-fast.
- **SQLite Query Flow**: The queries in this library adhere as closely as possible to SQLite native queries. `select(name, screenSize).from(Android.class).where(name.is("Nexus 5x")).and(version.is(6.0)).querySingle()`
- **Open Source**: This library is fully open source and contributions are not only welcomed, but encouraged.
- **Robust**: We support `Trigger`, `ModelView`, `Index`, `Migration`, built-in database request queue to perform operations on same thread, and many more features.
- **Multiple Databases, Multiple Modules**: we seamlessly support multiple database files, database modules using DBFlow in other dependencies, simultaneously.
- **Built On SQLite**: SQLite is the most widely used database engine in world and using it as your base, you are not tied to a limited set of platforms or libraries.

# Changelog
# 3.0-beta1
Expand Down Expand Up @@ -91,7 +89,7 @@ Add the library to the project-level build.gradle, using the to enable Annotati
apply plugin: 'com.neenbedankt.android-apt'
def dbflow_version = "3.0.0-beta1"
def dbflow_version = "3.0.0-beta2"
// or dbflow_version = "develop-SNAPSHOT" for grabbing latest dependency in your project on the develop branch
dependencies {
Expand All @@ -105,11 +103,11 @@ You can also specify a commit hash instead of `develop-SNAPSHOT` to grab a speci

# Pull Requests
I welcome and encourage all pull requests. It usually will take me within 24-48 hours to respond to any issue or request. Here are some basic rules to follow to ensure timely addition of your request:
1. Match coding style (braces, spacing, etc.) This is best achieved using CMD+Option+L (Reformat code) on Mac (not sure for Windows) with Android Studio defaults.
2. If its a feature, bugfix, or anything please only change code to what you specify.
3. Please keep PR titles easy to read and descriptive of changes, this will make them easier to merge :)
4. Pull requests _must_ be made against `develop` branch. Any other branch (unless specified by the maintainers) will get rejected.
5. Have fun!
1. Match coding style (braces, spacing, etc.) This is best achieved using CMD+Option+L (Reformat code) on Mac (not sure for Windows) with Android Studio defaults.
2. If its a feature, bugfix, or anything please only change code to what you specify.
3. Please keep PR titles easy to read and descriptive of changes, this will make them easier to merge :)
4. Pull requests _must_ be made against `develop` branch. Any other branch (unless specified by the maintainers) will get rejected.
5. Have fun!

# Maintainers
[agrosner](https://github.com/agrosner) ([@agrosner](https://www.twitter.com/agrosner))
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version=3.0.0-beta1
version=3.0.0-beta2
version_code=1
group=com.raizlabs.android

Expand Down
40 changes: 20 additions & 20 deletions usage/Migration3Guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,18 @@ DBFlow has undergone the most _significant_ changes in its lifetime in 3.0. This
A significant portion of the changes include the _complete_ overhaul of the underlying annotation processor, leading to wonderful improvements in maintainability of the code, readability, and stability of the generated code. Now it uses the updated [JavaPoet](https://github.com/square/javapoet) vs the outdated JavaWriter. The changes in this library alone _significantly_ helps out the stability of the generated code.

_note:_
1. `update` no longer attempts to `insert` if it fails.
2. Package private fields from other packages are now automatically accessible via generated `_Helper` classes. The referenced fields must be annotated with `@Column`, `@PrimaryKey`, or `@ForeignKey`. if its a legacy `ForeignKeyReference`, `referendFieldIsPackagePrivate()` must be set to true.
3. `@Column` no longer required in conjunction with `@PrimaryKey` or `@ForeignKey`
4. Can now have DBFlow in multiple modules, libraries, etc via "Modules"!
1. `update` no longer attempts to `insert` if it fails.
2. Package private fields from other packages are now automatically accessible via generated `_Helper` classes. The referenced fields must be annotated with `@Column`, `@PrimaryKey`, or `@ForeignKey`. if its a legacy `ForeignKeyReference`, `referendFieldIsPackagePrivate()` must be set to true.
3. `@Column` no longer required in conjunction with `@PrimaryKey` or `@ForeignKey`
4. Can now have DBFlow in multiple modules, libraries, etc via "Modules"!

## Table Of Contents
1. Database + Table Structure
2. Properties, Conditions, Queries, Replacement of ConditionQueryBuilder and more
3. ModelContainers
4. ModelViews
5. Caching
6. Database Modules
1. Database + Table Structure
2. Properties, Conditions, Queries, Replacement of ConditionQueryBuilder and more
3. ModelContainers
4. ModelViews
5. Caching
6. Database Modules

## Database + Table Structure
### Database changes
Expand Down Expand Up @@ -296,16 +296,16 @@ SQLite.select()

## ModelContainer Changes
Now `ModelContainer` objects have a multitude of type-safe methods to ensure that they can convert their contained object's data into the field they associate with. What this means is that if our `Model` has a `long` field, while the data object for the `ModelContainer` has a `Integer` object. Previously, we would get a classcastexception. Now what it does is "coerce" the value into the type you need. Supported Types:
1. Integer/int
2. Double/Double
3. Boolean/boolean
4. Short/short
5. Long/long
6. Float/Float
7. String
8. Blob/byte[]/Byte[]
9. Byte/byte
10. Using TypeConverter to retrieve value safely.
1. Integer/int
2. Double/Double
3. Boolean/boolean
4. Short/short
5. Long/long
6. Float/Float
7. String
8. Blob/byte[]/Byte[]
9. Byte/byte
10. Using TypeConverter to retrieve value safely.
You can now `queryModelContainer` from the database to retrieve a single `Model` into `ModelContainer` format instead of into `Model` and then `ModelContainer`:
Expand Down

0 comments on commit 9e739c8

Please sign in to comment.