Ecto 3.0 is out and stable API

Isn’t that what the announcement says? Quoting:

The only reason I did not announce I am stepping down from Ecto is because it still has to be maintained until said parties step up. But if you feel like that is not necessary, I am ok with not having to maintain it either. :stuck_out_tongue:

2 Likes

Are there actually missing features you‘d like or need? If not, I feel like it‘s not worth having this discussion right now - often times people worry about things that eventually will never happen.

5 Likes

Is it finally possible to start / configure multiple repos dynamically? I haven’t seen any mentions of it in the ecto v3 announcements.

The last time I tried to do that, I had to use internal ecto functions which wasn’t particularly convenient.

But for the majority of use-cases ecto probably does do everything that it needs to.

1 Like

No, it is not possible yet, as we are collecting feedback from people building stuff using the private APIs - which is not ideal and it will break but at least it is possible. If you can start a new topic here, explaining what you are doing right now, the pros and cons, it can help push the conversation forward. I believe @talentdeficit is interested on this too. This particular item is work that has not been finalized yet.

3 Likes

Thanks so much for your long work on this API, José. It’s tremendously appreciated.

7 Likes

For anyone using the distillery release task for migrations. With ecto 3 the pool_size needs to be bumped from 1 to 2.

10 Likes

Thanks for the tip! Can you give a bit more context as to why this needs to be changed?

Ah never mind, I’ve figured it out. From the Ecto 3 Changelog:

Locked migrations

Running migrations will now lock the migrations table, allowing you to concurrently run migrations in a cluster without worrying that two servers will race each other and run migrations twice.

In order for this safer migration mechanism to work, at least two database connections are necessary when migrating. One is used to lock the “schema_migrations” table and the other one to effectively run the migrations.

5 Likes