Giter Club home page Giter Club logo

Comments (16)

Keats avatar Keats commented on September 28, 2024

Hey
I agree that some of the functions in dbmigrate should probably be in dbmigrate-lib. It's mostly due to the fact that dbmigrate started as a binary only and some parts of it moved to a lib later on but I didn't move everything. I'll do that over the weekend, should be a simple case of copy/paste and publishing a new release.

from dbmigrate.

Keats avatar Keats commented on September 28, 2024

I just saw the reason why I didn't move the code to the lib, it has lots of println! in the middle which you don't want when using as a library. It also uses a print crate for it which you want even less as a lib

from dbmigrate.

 avatar commented on September 28, 2024

The question is why that is tied to the print crate in the first place. One could simply return Result and let the user of the lib handle it appropriately. (For dbmigrate that would mean using the print crate)

from dbmigrate.

Keats avatar Keats commented on September 28, 2024

I guess the migrate macro could be turned into a function into dbmigrate-lib but the others cannot just be changed to a Result that easily. For example, up and down will need to return a Vec<Result<_>> since it can run many migrations in one go

from dbmigrate.

sivakov512 avatar sivakov512 commented on September 28, 2024

Any news here? I want to use dbmigrate programmatically but it requires copy\paste from dbmigrate crate into my project.

from dbmigrate.

Keats avatar Keats commented on September 28, 2024

I don't use that crate myself but I will merge a good implementation of that issue

from dbmigrate.

sivakov512 avatar sivakov512 commented on September 28, 2024

Why you stop using it?

but I will merge a good implementation of that issue

You mean that I can contribute with PR?

from dbmigrate.

Keats avatar Keats commented on September 28, 2024

Why you stop using it?

I don't do anything database related right now with Rust.

You mean that I can contribute with PR?

Yep!

from dbmigrate.

sivakov512 avatar sivakov512 commented on September 28, 2024

Oh, it requires a lot of refactoring, if I understand correctly?

from dbmigrate.

sivakov512 avatar sivakov512 commented on September 28, 2024

How can we organize this work so that I don’t do a very large pull request for review at once?

from dbmigrate.

 avatar commented on September 28, 2024

I wrote some code a while back, didn't come around to get it ready for a PR yet. Tested with SQLite and Postgres, but not with MySQL: https://github.com/FSMaxB/dbmigrate/tree/simplify-migration-struct

from dbmigrate.

 avatar commented on September 28, 2024

This relates to #38 which makes it easier to use the library programmatically since you don't need to check for None-Optionals everywhere.

from dbmigrate.

Keats avatar Keats commented on September 28, 2024

Yep #38 is a great way to start. After that, the changes should not be THAT big.

from dbmigrate.

sivakov512 avatar sivakov512 commented on September 28, 2024

I think that we should start with move code with current implementation into lib as much as we can. Right?
Is not sure #38 is relevant here. Could you please explain it?

from dbmigrate.

Keats avatar Keats commented on September 28, 2024

#38 is just simplifying the code, not strictly required but it makes it easier to think about.

from dbmigrate.

sivakov512 avatar sivakov512 commented on September 28, 2024

You think that with this refactoring we should not only move code into lib?

from dbmigrate.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.