Skip to content
This repository has been archived by the owner on Aug 8, 2024. It is now read-only.

Move ext-pdo_sqlite to dev requirements #9

Conversation

TravisCarden
Copy link
Collaborator

@phenaproxima, I don't think ext-pdo_sqlite was meant to be a production requirement.

@phenaproxima
Copy link
Owner

phenaproxima commented Apr 22, 2024

It's a production requirement for the time being, because that's how composer create-project will install Drupal (see post-create-project-cmd in composer.json).

Truth is, it will probably always be a production requirement because it is absolutely 100% the very fastest, most low-effort way to go from zero to fully functioning Drupal using this project. Providing as much value as possible as quickly as possible is one of this project's guiding principles, and I think installing into SQLite by default aligns with that.

But eventually, we will need to add a mechanism to override the default use of SQLite so that folks can install into a MySQL or Postgres DB, and document that. (Care to take that on?)

@phenaproxima
Copy link
Owner

What I'd honestly love even more is the ability to start with SQLite, then export to Drupal's backend-agnostic PHP database dump format, then re-import to another DB. A little migration path!

Drupal already has the ability to export an entire database into PHP...but it only works with MySQL. If core did the work to adapt that feature to the SQLite backend as well, it'd be trivial to write a database-to-database migration tool.

As it is, Drush may be able to "polyfill" it for us because of its sql-dump command which, as far as I know, would work with a SQLite backend. Problem is that it dumps SQL, not PHP, so it's possible that some incompatibilities might be introduced.

Nonetheless, this is all for a future scope.

@TravisCarden
Copy link
Collaborator Author

we will need to add a mechanism to override the default use of SQLite so that folks can install into a MySQL or Postgres DB, and document that. (Care to take that on?)

Sure. I assume you'd still like #8 first? If so, it's waiting for input from you.

Truth is, it will probably always be a production requirement because it is absolutely 100% the very fastest, most low-effort way to go from zero to fully functioning Drupal using this project. Providing as much value as possible as quickly as possible is one of this project's guiding principles, and I think installing into SQLite by default aligns with that.

Since some quick research indicates that the most popular shared PHP hosting platforms have SQLite installed, I won't fight you on this. I'll just make a couple of remarks for the sake of documentation. Having established that PHP comes compiled with SQLite by default, my concern is essentially academic and theoretical. But it would be that a non-dev requirement constrains the actual, live environment, and since no site with any serious performance requirements will be deployed on SQLite, that means adding a constraint that isn't real. It's easy to poke holes in that argument--which is why I say it's academic--so I won't belabor the point. I just thought it would be good to document it. 🙂 Closing.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants