Toon posts:

SQL Databank "syncen" bij deployment

Pagina: 1
Acties:

Verwijderd

Topicstarter
(Ik wist niet zeker in welk forum dit thuishoort, hopelijk heb ik het juiste gekozen)

Ik ben bezig een website aan het maken in PHP/MySQL (om later op PostgreSQL over te schakelen). Momenteel heb ik een testversie lokaal staan, en op mijn host (remote) diezelfde versie. Er is ook een (MySQL) databank lokaal en een op mijn host. De versie die op mijn host staat wordt al gebruikt door een select groepje testers.

Ik zou graag (met ant of iets anders) een deploy-script maken zodat eens ik aanpassingen gemaakt heb aan de lokale versie, ik die gemakkelijk kan doorvoeren op de versie die op mijn host staat. Ik heb al met Ant gewerkt en de PHP-code deployen is dus allemaal geen probleem. Waar ik wel problemen mee heb is de databank. Momenteel voer ik af en toe veranderingen toe aan de databank lokaal met phpMyAdmin, en doe dan hetzelfde manueel op mijn host (ook met phpMyAdmin). Ik heb echter geen idee hoe ik een verandering aan de databank kan "deployen". Natuurlijk zou ik lokaal kunnen dumpen naar een groot SQL-bestand, en die dan importeren op mijn host, maar dan is de data van de testusers weg, en dit is niet wenselijk...

PS: Ik heb voldoende kennis om indien nodig te kunnen werken met SQL-queries om de databank (structureel) te wijzigen, i.p.v. met phpMyAdmin.

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Voor MS SQL Server zijn de producten van Red Gate bekend (SQL Compare / SQL Packager). Misschien dat er voor MySQL soortgelijke producten zijn.

Today's subliminal thought is:


Verwijderd

Topicstarter
Bedankt, maar diegene die ik gevonden heb waren allemaal commercieel. Ik zal het moeten houden bij handmatig de verandering bijhouden, en daar dan een scriptje voor schrijven.

  • DJ Buzzz
  • Registratie: December 2000
  • Laatst online: 21:54
Misschien is het concept van migrations overnemen zoals dat b.v. in Ruby on Rails gebruikt wordt een idee. Hierbij definieer je elke keer in een file je veranderingen aan de database. Bij het deployen run je dan automatisch die files weer zodat je de veranderingen ook remote hebt.

Wat meer info hierover is wel te vinden http://glu.ttono.us/artic.../27/the-joy-of-migrations, denk dat dit wel een goeie bron van inspiratie kan zijn.