Coder Social home page Coder Social logo

How to build the project? about common_schema HOT 8 OPEN

jfneis avatar jfneis commented on July 2, 2024
How to build the project?

from common_schema.

Comments (8)

shlomi-noach avatar shlomi-noach commented on July 2, 2024

Heh, it's been a few years, and I'm surprised to learn this is not documented...

You need ant and ant-contrib. Hey, those were the tools back in the day...
You then need a running MySQL server.

build.xml is the ant build file. I can definitely see some mess here: you'll need to uncomment (or create your own) property name="mysql.socket" section to identify your local MySQL socket.

You then $ ant all or $ ant build.

Perhaps moving this to Docker would be a better idea.

from common_schema.

jfneis avatar jfneis commented on July 2, 2024

from common_schema.

shlomi-noach avatar shlomi-noach commented on July 2, 2024

@jfneis yes to both. I also added you as a collaborator. Please use the pull request flow and I'll review your PRs.

from common_schema.

jfneis avatar jfneis commented on July 2, 2024

hey @shlomi-noach, just sent a PR with smaller items first.

started the required changes to run the project in 5.7 (column user.password doesn't exist anymore), moving the variant scripts to specific folders (mysql56, mysql57) and adjusting build.xml to concatenate the specific files.

refactoring more complex scripts, though, i think an easier approach would be defining a %user-password-placeholder% and replacing it using ant. the downside is that some scripts wouldn't work directly from source, as the placeholder means nothing without ant (and i thing it's a big downside).

what do you think? maybe root folders "mysql56lte" and "mysql57gte" mimicking the root folder structure just with specific scripts?

from common_schema.

shlomi-noach avatar shlomi-noach commented on July 2, 2024

i think an easier approach would be defining a %user-password-placeholder% and replacing it using ant.

that's a reasonable approach.

maybe root folders "mysql56lte" and "mysql57gte" mimicking the root folder structure just with specific scripts?

that's also a good approach. It was suggested in the past, we couldn't figure out a nice and clean way to do it without much duplication.

Also, I'm good to get rid of ant if an easy alternative is at hand.

from common_schema.

jfneis avatar jfneis commented on July 2, 2024

from common_schema.

jfneis avatar jfneis commented on July 2, 2024

@shlomi-noach thought about a 3rd option that looks cleaner to me: creating a view with all fields from user table but with the same password column alias and replace every script that uses user table with this view.

this way we can have only one file (user view) that handles the difference between 5.6- and 5.7+, simply using a try-and-silence-on-error approach that you suggested in another ticket.

what u think? i don't know performance impacts that a view can have in this scenario, but i don't think it would be critical.

from common_schema.

shlomi-noach avatar shlomi-noach commented on July 2, 2024

@jfneis that sounds like a sensible approach. Go for it!

from common_schema.

Related Issues (14)

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.