Měl bych tu dotaz z kategorie začínáme s Django, ale prostě nemohu najít (možná to hledám/řeším moc složitě) jednoduché řešení. Potřeboval bych na pár projektech přejít na PostgreSQL, ale docela se bojím, resp. neumím si představit automatické zálohování a hlavně případnou práci na DB, kdyby se něco vysypalo. Zatím tyto “dospělé” SQL moc nevyužívám, protože práce s nimi je pro mne většinou komplikací.
Už několik let, až na pár projektů, používám SQLite DB a jsem vlastně spokojen. Jasně, něco člověk musí oželet, ale mít DB jako soubor přímo v projektu má pro mne, a hlavně menší projekty, krásu a přináší pohodlí. Například si DB hodím do GITu s projektem a případný problém vyřeším vratkou k vybranému bodu, ostrý projekt jednoduše zkopíruju a pustím lokálně, zkopíruji projekt a mám novou microsite ready na test atd. A tady bych rád věděl jednu zásadní věc:
Jak takovéto operace provádět na běžném (My/Postgre)SQL podvozku, aniž by to neznamenalo neustálé extra práci s DB a hlavně aby byla zajištěna úzká vazba mezi verzí/stavem DB a projektem? Už jen vytvoření zálohy před instalací nové verze znamená se min. extra postarat o DB a extra soubory a to si někde společně uložit. Obnovení, přenos apod., vždy extra práce. Lokálně vystavit projekt znamená někde DB export, lokálně import, upravit v settings… prostě takové, šišaté a když jsou větší data, tak pak místo přenosu řeším limity na hostingu a další závilosti. Ale i přesto bych potřeboval PostgreSQL nebo alespoň MySQL pro projekty, které už dorostly.
A co jsem zatím kdykoliv hledal a studoval, našel jsem krásné a elegantní řešení a tak si říkám, že i na toto musí Django něco nabízet. Jen to nějak v záplavě jiného, či špatných dotazů, nemohu najít. Kdysi jsem migroval z SQlite na PostgreSQL jednu rychle rostoucí aplikaci, a co si pamatuji, tak to šlo poměrně snadno jen spouhým ./manage.py dumpdata a ./manage.py loaddata, ale šlo o poměrně malý projekt s minimem závislostí. Dá se takto snadno řešit vše a lze tomu věřit, opravdu se data obnoví? Nebo na toto má Django jiná udělátka?
Budu rád i za pouhé nasměrování, co mi uniká a co si mám donačíst, stačí link do dokumentace, už se pak chytím. Díky.