standardebooks / web

The source code for the Standard Ebooks website.
https://standardebooks.org
Creative Commons Zero v1.0 Universal
234 stars 61 forks source link

Initial Ebook DB schema, update script, and Ebook methods #335

Closed colagrosso closed 7 months ago

colagrosso commented 7 months ago

Thanks for the comments. Given what you wrote in #336 about working on this piecemeal, I think this PR is a fine place to start. We can build on it carefully.

acabal commented 7 months ago

OK great, let me know when you're ready to merge

colagrosso commented 7 months ago

Thanks. I gave it another test, and this is ready to merge. Still plenty of work to do, but I'll get on it.

One more note: By (1) removing the flag from the script and (2) merging into master, we really are going all-in on the incremental approach. The deploy script will fail if the code and DB schema get out of sync, and I bring this up because a lot of my next PRs will be updates to the DB schema. Let me know if it's too much of a hassle to keep running DROP or ALTER on the DB as we build it up.

acabal commented 7 months ago

OK, then we should plan out the DB schema now so we can make schema changes as infrequently as possible. If you change the schema then I presume we'll also have to rebuild the table data, which means creating and running a script every time we merge, which is annoying. So before we merge let's sit down and really think about what the final schema will look like, and do that right from the get go.

colagrosso commented 7 months ago

No prob. I was worried too many schema changes would be annoying. I'll close this PR without merging, and I'll keep this code on the shelf for later.

Instead of an initial schema, I'll send a new PR with a full-fledged schema. Having the full Ebook.php object that has worked for years is a great blueprint.