Για όσους ψάχνουν, τρόπο να αυτοματοποιήσουν τις εγκαταστάσεις των βάσεών τους (install, update και versioning) , υπάρχει ένα open source project:
και μάλιστα από την άνεση του visual studio.
Υποστηρίζει πολλές βάσεις (sql server, oracle κλπ) και υποστηρίζει και .net 4.0.
Παρακάτω, έχουμε ενδεικτικά τα βήματα:
- Κατεβάζουμε το sqlinstaller από το codeplex ( http://sqlinstaller.codeplex.com/ )
- Το εγκαθιστούμε
- Πηγαίνουμε στο visual studio και κάνουμε ένα νέο project :
Επιλέγουμε το OnLine Templates και βρίσκουμε το SQL Installer .NET project - Στο νέο project, βρίσκουμε το αρχείο SQLInstaller.xml και βάζουμε τα στοιχεία της βάσης που μας ενδιαφέρει:
Database, provider και connectionString - Μπορούμε να βάλουμε τα scripts που θέλουμε να εκτελούνται στον φάκελο Install, αντίστοιχα σε κάθε φάκελο:
λχ ας πούμε πως έχουμε έναν πίνακα MyTest
create table MyTest ( id int )
Το σώζουμε στο αρχείο MyTest.Table.sql στο φάκελο Tables - Μπορούμε τώρα να κάνουμε build και στο Output θα δούμε να εκτελείτε το script (ενδεικτικά:
Connecting to data source...
Dropping database TEST...
Creating database
Installing database TEST...
Executing script: MyTest.Table.sql
Completed with 0 error(s).
Στην περίπτωση που έχουμε λάθος θα μας βγάλει μήνυμα και με κλικ μας ανοίγει το source του λάθους.
- Για το τελική εγκατάσταση, έχουμε την επιλογή να κάνουμε deploy το xml και τα αρχεία, ώστε με την χρήση του sqlinstaller
να μπορούν να γίνουν εγκατάσταση ή να ενσωματώσουμε τα πάντα σε ένα installer.
Ένα πλεονέκτημα που μας παρέχει επίσης, είναι πως μπορεί να γίνει integrated με τον tfs ή άλλο εργαλείο ci (λχ cruisecontrol).
Αν θέλετε να μάθετε περισσότερα μπορείτε να μπείτε στην σελίδα του sqlinstaller στο codeplex, όπου υπάρχει και ένα video.
Just go and play!
Talk is cheap. Show me the code!