Giter VIP home page Giter VIP logo

acondbs's People

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

taisakuma

acondbs's Issues

Turn the backend code into plugins of nextline-graphql

Although ProductDB and Nextline appear quite different, their backends are actually very similar. Both are GraphQL servers with SQLAlchemy. Nextline has an additional feature of executing Python code. ProductDB and Nextline can be
implemented as the same pluggable framework with different plugins.

The Nextline backend is already implemented as a pluggable framework with plugins. Nextline-graphql is the pluggable framework (It needs to be renamed for clarity). ProductDB can be turned into plugins of nextline-graphql.

The advantage of this approach is large. Generic plugins can be used by both projects. For example, we can implement a plugin for full-text DB search and use it for both ProductDB and Nextline. In addition, site-specific features can be implemented as plugins. For example, we can develop a plugin for ProductDB for SO without affecting ProductDB for ACT.

Investigate what happens if DB changes during backup

It is not clear what will happen to the backup if DB changes while a backup is being taken.

In the current implementation, the backup to CSV files is taken table by table. It might be possible that a change in the DB across multiple tables is reflected in tables backed up later in the backup but not in tables backed up earlier, which will end up with an inconsistent set of backup CSV files.

It is not clear if it is sufficient to use the same SQLAlchemy connection during the backup.

Upgrade to Graphene version 3

  • Upgrade to Graphene version 3
    • Status
    • Plans
      • Investigate the impact of upgrading after Graphene version 3 is released
      • Upgrade when ready

Implement features to back up the database

Implement features to back up the database

The initial backup plan: export the DB contents to CSV files and push them to GitHub.

Features to implement
  • export the DB contents to CSV files #15
  • manage CSV files with git #16
  • push CSV files to GitHub #17
  • trigger the backup #18
    • the backup needs to be taken whenever the DB contents change
    • the backup should not happen too frequently so as not to stretch the server too much

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.