diff options
Diffstat (limited to 'development/libs/barrel/docs/content/blog/001_hello_barrel.md')
-rw-r--r-- | development/libs/barrel/docs/content/blog/001_hello_barrel.md | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/development/libs/barrel/docs/content/blog/001_hello_barrel.md b/development/libs/barrel/docs/content/blog/001_hello_barrel.md new file mode 100644 index 000000000000..ddb7976aa645 --- /dev/null +++ b/development/libs/barrel/docs/content/blog/001_hello_barrel.md @@ -0,0 +1,59 @@ +Title: Releasing 0.5.0 +Category: Blog +Date: 2019-03-21 21:30 + +So `barrel.rs` has a blog now 🎉! + +Today we are also happy to announce the release of version `0.5.0`. +A lot of work as gone into this release and breaks the API in a few ways. +This post will quickly highlight new features and also changes to the API. + +### New type system + +This release adds `barrel::types` which replaces the old `Column` types. +While types are still enums with different type variants, the creation +is now much more streamlined with a builder-style API. + +```rust +types::varchar(255) + .nullable(true) + .default("Alice") +``` + +This change allows us to more easily support database specific types +in the future and makes it easier for you to create your own custom +type builders. +Check out the `barrel::types` documentation for details. + +### Explicit IDs for tables + +Since `0.2.0` a new table had an implicit `PRIMARY` key called `id`. +It was brought up several times that `barrel` should not have implicit behaviour like this +and and as such we have no reverted this! + +Now you will need to create a new `id` field explicitly + +```rust +table.add_column("id", types::primary()) +``` + +We're still evaluating the option to add a `table.id()` function +(or similar) to make this process easier. + +### Various changes + +The `DatabaseExecutor` was renamed to `SqlRunner`, +there were several bug-fixes around `diesel` integration as well as +the table API. + +Most importantly, you will need a very recent `diesel` version +which then depends on `0.5.0`. +If you're using barrel currently, nothing will change until you update. +Be aware that your existing migrations will need adjustment if you plan +on re-running them! + +--- + +All in all, this is a pretty big step forward. +We're also tracking some things to implement on a roadmap +for an upcoming `1.0.0` release later this year (maybe!) |