Giter VIP home page Giter VIP logo

njord's People

Contributors

ahsentekd avatar appelskrutt34 avatar chinmer avatar dependabot[bot] avatar mjovanc avatar renovate[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

njord's Issues

Add feature for dependency

Would be great if we could add features like below to not need to include the njord_derive in the dependencies list:

njord = { version = "0.1.0", features = ["derive"] }

Add method chaining for select for sqlite

We need to have method chaining for SELECT since we can have multiple conditions. An example of a use case would be:

sqlite::select(columns).from(table).where(condition);

Fix one-to-many relationship for SQLite

We need to be able to fix the possibility of storing a vector of structs that derive the Table procedural macro:

#[derive(Table)]
#[table_name = "orders"]
pub struct Order {
    id: usize,
    user: User,             // one-to-one relationship
    products: Vec<Product>, // one-to-many relationship - populates from based on junction table (gets from macro attribute "table_name" and combines them for example, orders_products)
    total_cost: f64,
}

As you can see here when we define a field called products and add a vector of Product. It will complain about:

- doesn't satisfy `syn::Type: ToString` or `syn::Type: std::fmt::Display`

We need to be able to support this in the njord_derive library.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

This repository currently has no open or pending branches.

Detected dependencies

cargo
Cargo.toml
  • rusqlite 0.29.0
github-actions
.github/workflows/master-ci.yml
  • actions/checkout v3
  • actions-rs/toolchain v1
.github/workflows/pr-ci.yml
  • actions/checkout v3
  • actions-rs/toolchain v1

  • Check this box to trigger a request for Renovate to run again on this repository

id field should be possible to set as Option<T>

We need to implement in the procedural macro so that id fields can be used with Option<T> since we want the user to control if they want to populate the id field when doing an INSERT operation. If you want SQlite to handle autoincrement itself, we don't need to add a value to it.

Build a CLI for running schema changes, migration etc

Commands that should exist:

njord migration generate <name>
njord migration run
njord migration rollback

Flags that should exist on njord:

  • -v and --version
  • -h and --help

Flags that should exist on njord migration:

  • --dry-run (simulate the migration)
  • --env (specify development/test/staging/production etc)
  • --dir (specify target directory for generated migration changes)
  • --to (rollback to specific version, for example 20191225120000)
  • --log-level (standard, debug etc)

Examples:

njord setup
njord migration generate <name> --env=development --dry-run
njord migration run --env=production --log-level=debug
njord migration rollback --env=development --to=20191225120000

Create one-to-many relationship for SQLite

We want to add the possibility to add junction tables for a MANY-TO-MANY relationship if we define our tables such as:

#[derive(Table, Default)]
struct Posts {
    title: String,
    description: String,
    category: Categories
}

#[derive(Table, Default)]
struct Categories {
    name: String,
}

Have a feature for each database

Would be nice that we can activate features with what database support is needed like this:

njord = { version = "0.1.0", features = ["derive", "sqlite", "mysql", "postgres"] }

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.