Closed dmitriid closed 3 years ago
@dmitriid I am gonna be taking a look at this and using your code as a base. That busy connection seems like a WAL and some other pragma things that can be toggled to make it work.
Following, I run a production system based on this library and this would greatly help me maintain it. Thanks a lot to both of you for doing this!
@warmwaffles Awesome! There are also discussions on elixir forum:
@warmwaffles Also, sorry for the state of my code :) I haven't had time to look further into it.
@dmitriid it's not a problem. I'm just working through what is missing etc... Biggest issue right now is https://github.com/elixir-sqlite/sqlitex doesn't implement the behavior db_connection
that postgrex and some others implement as well. I think the first step would be to get that implemented within that adapter and then in theory, we should just be able to copy most of the postgres implementation minus a few parts.
@dmitriid I took some time this week to build a different NIF library that utilizes the Dirty Scheduler as opposed to esqlite's internal command pool.
https://github.com/warmwaffles/exqlite
I could probably use your help building an adapter for ecto3.
@warmwaffles
Oh my 😍 I will help however I can (previously I just blindly copy-pasted code from sqlite_ecto2 in hopes that it would work :D )
Yea there is just a lot of inner workings that I don't fully understand.
@warmwaffles Well, I started doing the most barebones stuff for now: https://github.com/warmwaffles/exqlite/pull/2 and https://github.com/warmwaffles/exqlite/pull/3
This time I'm going function by function, trying to understand what they are doing, and act accordingly. So far so good 😬
If you are looking for an Ecto3 adapter, it is now located here. https://github.com/elixir-sqlite/ecto_sqlite3
Unfortunately, I didn't do a clean fork. The code is here: https://github.com/dmitriid/sqelect
See the Readme for the not-so-many things that are changed (if I remembered everything correctly).
I do hope to bring it back to sqlite_ecto2
The problem I've ran into is: when running ecto's
Migrator.up
, the code seemingly runs all the statement until it tries to insert data into one of the tables. Sqlite returnsbusy
, and then the migration fails withAnd now I don't have enough knowledge to figure out what's wrong. If anyone is willing to take a look, please please please do :)