-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How do we support new dialects in the future? #2
Comments
Very related to #9. |
Personal opinion. Happy to discuss and to try different approach: I see the following problems right now:
Possible solutions: Option 1: Demand fully blown long-term support Option 2: Divide and conquer Something like
This would make the core module smaller, we could iterated quicker and more focused on particular dialects and we could even bind the expected dialect's driver (@sequelize/dialect-postgres --> pg lib) to the package. Crucial for this would be a proper testing strategy to ensure that all dialects, implement certain core behavior. Current dialect related PRs: |
I lean somehow towards option 2. This could go nicely into v7. |
I agree with option 2. But I would like to see that we support most dialects within the sequelize organization so we're not dependent on individuals for maintaining the repos (although we have had a hand in not maintaining things sometimes as well). I think this ties in with #6 as well, do we do both things at once or do we do the TypeScript conversion first and then move dialect-specific things to their own bundles? |
Binit (IBM): Mark Irish (IBM): Rik: We also need to see what this means for the other repos like CLI, umzug and auto Pedro: Mark: There are tiny parts in the code which check if we currently use a particular dialect. Jesse (Snowflake): It's mostly within the dialect files however. Also votes for approach 2. Current structure should allow for split quite okay. Could we maybe merge it anyway so that the community has access to it and we fix the structure then. Sascha: I guess we will learn what refactoring is needed during the split. Jesse: CI/CD will be tricky for any cloud providers. Unit test as much as we can. Sascha: New dialects could be marked as experimental. Binit: Support is only really complete if unit tests pass. Sascha: Anyone against the idea of pulling out the dialects? Pedro: Fears that the hybrid approach will leave it in a worse state when we don't manage to pull it out. However, all the work is already done so it should be factored in. Next steps:
|
Q: What's the status of DB2 for i? |
Mark: Was trying of setting up a CI/CD system. You cannot spin up a IBM i environment. So tests would have to be executed against a real IBM i system. Those are right now all behind firewall. Management is not interested in opening a system for OS usage. Tried to run it against a server in Germany and a single test would take 8+ minutes. Maybe we should just go with the "Snowflake way" where we only run the unit tests. Feature branch is quite out of sync with main. Mark is working on rebasing/merging main. Mark/Sascha: Let's set up some smoke tests for db2 for i. Mark to prepare it and Sascha to add the credentials to our repo. |
Rik: Zoe just prepared a huge linting PR that might cause conflicts. Let's merge this first and rebase db2 for i PR second. |
Let's put all the currently supported dialects into a monorepo and maybe add other there as well in the future or let them have their own dedicated repo. CI/CD would target specific directories in the repo (to speed up the development process) |
Questions:
The text was updated successfully, but these errors were encountered: