[support] WAS Why .. now 3 ways to save the db which is best
Andy Heath
andyheathoss at axelrod.plus.com
Thu Jul 14 06:21:34 UTC 2011
David and Roman - thankyou *both* for your very helpful suggestions.
I don't disagree on sql David - particularly if you are working at the
analysis/design level. I *have* done sql work but most of it was 30
years ago when it was just starting to compete with codasyl databases.
I like Roman's suggestion very much because it forces me to grapple with
precisely the area you describe David - the relationship between the
code and the data in drupal. I'm aiming to do some serious work with
drupal particularly in accessibility (I've worked the last ten years in
international accessibility technology standards - I edit a couple of
them so I have to know my technology onions - drupal is a good vehicle
to re-learn the php/sql ropes in a serious system again).
The test/dev/prod idea goes a long way yes, but in exploring code ideas,
which is where I'm at/going, its incredibly useful to be able to version
the whole thing - code+data - so as to be able to revert to some
particular version reliably. So that's my next step - to explore
precisely what *is* static and what isn't so I can drag out for some
instance of the database some serialised form that is non-variant for
that instance and can enable the database to be re-constructed. You have
both helped me along that path, thankyou.
If it was easy it wouldn't be fun.
Roman - external configuration changing isn't an issue as I need to
version those files too. Hmmmm - could be tricky with some of this in
the db tho. - we'll see. I've read the link you posted Roman and the
patch and this is the kind of thing I was thinking towards. Again,
thankyou to you both, I'll probably come back to you when I got a little
further on the code-versus data thing in terms of what's where in the
tables.
andy
> This is the best strategy by far; either a positive list or list of
> excluded tables in a using a dump option. Since you're just ramping
> though, I'd wait to you got a little more experience about what's data
> and what's not in drupal before you get to worried beyond a backup of
> the site.
>
> What we typically do is export from production back to test/dev on a
> periodic basis to make sure that CODE we write works against production
> database. Version controlling drupal configuration data is pretty heady
> stuff, requiring intimate knowledge of the data structures used in your
> site.
>
> I beg to disagree about SQL... it's much more than an API, but a
> programming language. It isn't well used in drupal, but is quite
> powerful as a language in its own right. It's set based, so there's a
> learning curve to use it well. There are things that take tons of work
> to do in PHP that can be done easily in SQL.
>
> That being said, SQL is easily versioned and most of that in drupal is
> in .module or .install files already. It's only when the configuration
> lines get blurred that you have to start worrying about what's code and
> what's data. That's no different for images and media files on the
> file system than it is for the data that's in the dbms.
>
> -----Original Message-----
> From: support-bounces at drupal.org [mailto:support-bounces at drupal.org] On
> Behalf Of Roman Zimmermann
> Sent: Wednesday, July 13, 2011 1:29 PM
> To: support at drupal.org
> Subject: Re: [support] WAS Why .. now 3 ways to save the db which is
> best
>
>
> It is still possible to use database dumps to do some sort of version
> control for the database. The "ever changing" data is located only in
> some tables. Most of them are caches or session tables that can be
> truncated without further consequences. So you can make a dump of the
> database that excludes the data (=rows) from certain tables. This dump
> will be (nearly) constant as long as the configuration doesn't change
> and no content is added.
>
> "drush sql-dump --ordered-dump" together with a good list of
> structure-tables would do the trick - with one exception that is
> mentioned here: http://drupal.org/node/1132238
>
> roman
More information about the support
mailing list