l migrator pres

Post on 15-May-2015

870 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Why are migrations important? This session will discuss how to put your databases on version control. The presentation is based on the assumption that the developer already knows about version control and is using it on their projects in some form. L-Migrator will be discussed in relation to its integration into PageBlocks and its stand alone use. Attendees will come away with a knowledge of the methodology behind migrations, why they are important and when to use them, as well as shortcuts and tips for writing Lasso Migrations and the dangers of performing destructive migrations.

TRANSCRIPT

L-MIGRATORBRINGING DATABASE MIGRATIONS TO LASSO

BRIAN LOOMIS

LASSO DEVELOPER CONFERENCECHICAGO 2008

WHAT’S IN BOISE? HEWLETT PACKARD, MICRON.

FOUNDED 9 YEARS AGO, BOISE IDAHO. -1999

SCRIPTING APPLESCRIPT, FILEMAKER, LASSO,ADOBE INDESIGN SERVER.

ADOBE PARTNER, APPLE CONSULTANTS NETWORK, LPA.

GLUEWARE

WHAT ARE MIGRATIONS?

A MIGRATION

PLAN DRIVEN CYCLES

MINIMIZE CHANGES

EXTENSIVE UP-FRONT WORK

WATERFALL APPROACH

RUN INTO TROUBLE IF REQUIREMENTS ARE CHANGING

REQUIREMENTS CHURN IS A BIG PROBLEM FOR SUCH PROCESSES

AGILE DEVELOPMENT

LOVES CHANGE

ALLOWING CHANGES TO OCCUR EVEN LATE IN A DEVELOPMENT PROJECT

ATTITUDE OF THE PROCESS IS TO ENABLE CHANGE AS MUCH AS POSSIBLE

RESPONSE TO THE INHERENT INSTABILITY OF REQUIREMENTS IN MANY PROJECTS

BETTER SUPPORT DYNAMIC BUSINESS ENVIRONMENTS

A DIFFERENT ATTITUDE TO DESIGN

INSTEAD OF THINKING OF DESIGN AS A PHASE - YOU LOOK AT DESIGN AS AN ON-GOING PROCESS

INSTEAD OF THE COMMON CHAOS

ALLOW EVOLUTIONARY DESIGN TO WORK IN A CONTROLLED MANNER

PROVIDE TECHNIQUES TO CONTROL EVOLUTIONARY DESIGN AND MAKE THEM PRACTICAL

ITERATIVE DEVELOPMENT

RUN THE ENTIRE SOFTWARE LIFE-CYCLE MANY TIMES DURING THE LIFE OF A PROJECT

COMPLETING THE ITERATION WITH WORKING, TESTED, INTEGRATED CODE FOR A SMALL SUBSET OF THE REQUIREMENTS OF THE FINAL PRODUCT

OTHER SPEAKERS...

HOW TO MAKE EVOLUTIONARY DESIGN WORK FOR DATABASES

COMPLETING THE ITERATION WITH WORKING, TESTED, INTEGRATED CODE

SMALL SUBSET OF THE REQUIREMENTS OF THE FINAL PRODUCT

THESE ITERATIONS ARE SHORT, USUALLY RUNNING BETWEEN A WEEK AND A COUPLE OF MONTHS

TENETS OF AGILE METHODS

PEOPLE WITH DIFFERENT SKILLS AND BACKGROUNDS NEED TO COLLABORATE VERY CLOSELY TOGETHER

CAN'T COMMUNICATE MAINLY THROUGH FORMAL MEETINGS AND DOCUMENTS

RECOGNIZES THAT PEOPLE LEARN BY TRYING THINGS OUT

EACH DEVELOPER TO HAVE THEIR OWN SANDBOX

ALL CHANGES ARE DATABASE REFACTORINGS

THREE DIFFERENT CHANGES THAT HAVE TO BE DONE TOGETHER:

1) CHANGING THE DATABASE SCHEMA

2) MIGRATING THE DATA IN THE DATABASE

3) CHANGING THE DATABASE ACCESS CODE

AUTOMATE THE REFACTORINGS

DATABASE REFACTORING IS AUTOMATED BY WRITING IT IN THE FORM OF SQL

DDL (FOR THE SCHEMA CHANGE)

DML (FOR THE DATA MIGRATION)

UPDATE ALL DATABASE DEVELOPERS

AUTOMATICALLY UPDATE EVERYONE ON THE PROJECT WHENEVER A CHANGE IS MADE TO THE DATABASE MASTER.

SAME REFACTORING SCRIPT THAT UPDATES THE MASTER AUTOMATICALLY UPDATES EVERYONE'S DATABASE

CLEARLY SEPARATE ALL DATABASE ACCESS CODE

IT'S IMPORTANT TO BE ABLE TO SEE HOW THE DATABASE IS USED BY THE APPLICATION

IT MINIMIZES THE AREAS WHERE DEVELOPERS NEED SQL KNOWLEDGE

LIFE EASIER TO DEVELOPERS NOT SKILLED WITH SQL

FOR THE DBA IT PROVIDES A CLEAR SECTION TO SEE HOW THE DATABASE IS BEING USED

HELPS WITH INDEXES, OPTIMIZATION, AND TO SEE HOW TO BE REFORMULATED TO PERFORM BETTER

TOOLS TO HELP

DOING THIS KIND OF THING REQUIRES A LOT OF REPETITIVE TASKS.

WE DO NOT LIKE REPETITIVE TASKS.

ENTER L-MIGRATOR

LOVES CHANGE

SUPPORT DYNAMIC BUSINESS ENVIRONMENTS

PEOPLE LEARN BY TRYING THINGS

EACH DEVELOPER HAS THEIR OWN SANDBOX

WHAT ARE MIGRATIONS ?

KEEP HOLD OF THESE SCRIPT FILES TO PRODUCE A COMPLETE CHANGE LOG OF ALL THE ALTERATIONS DONE TO THE DATABASE

UPDATE ANY DATABASE INSTANCE TO THE LATEST MASTER BY RUNNING THE CHANGE LOG

SEQUENCE AUTOMATED CHANGES IS AN ESSENTIAL TOOL

AS WELL AS AUTOMATING THE FORWARD CHANGES, YOU CAN CONSIDER AUTOMATING REVERSE CHANGES FOR EACH REFACTORING

INSTALLING L-MIGRATOR

FILE EXTENSIONS SETUP PANEL TO ALLOW LASSO TO

PROCESS .CTYP, .DSP, .CNFG AND .LGC FILES.

COPY THE /DBM/ FOLDER (IT STANDS FOR DATABASE

MIGRATOR) INTO YOUR WEB APPLICATION’S ROOT FOLDER.

OPEN THE MIGRATOR.CNFG FILE AND EDIT THE THREE CONFIGURATION LINES.

YOU SHOULD BE ABLE TO LOAD THE L-MIGRATOR PAGE

AT YOUR ROOT DOMAIN /DBM/MIGRATOR.LASSO.

WRITING MIGRATIONS SCRIPTS

TYPE NAME SHOULD MATCH FILE NAME (NO EXTENSION)

WRITING MIGRATIONS SCRIPTS

TYPE NAME SHOULD MATCH FILE NAME (NO EXTENSION)

WRITING MIGRATIONS SCRIPTS

TYPE NAME SHOULD MATCH FILE NAME (NO EXTENSION)

WRITING MIGRATIONS SCRIPTS

TYPE NAME SHOULD MATCH FILE NAME (NO EXTENSION)

WRITING MIGRATIONS SCRIPTS

UPDATE TAG SHOWS FORWARD CHANGES

WRITING MIGRATIONS SCRIPTS

UPDATE TAG SHOWS FORWARD CHANGES

WRITING MIGRATIONS SCRIPTS

UPDATE TAG SHOWS FORWARD CHANGES

WRITING MIGRATIONS SCRIPTS

ROLL BACK TAG SHOWS ROLLBACKS OR UNDOS

WRITING MIGRATIONS SCRIPTS

ROLL BACK TAG SHOWS ROLLBACKS OR UNDOS

WRITING MIGRATIONS SCRIPTS

ROLL BACK TAG SHOWS ROLLBACKS OR UNDOS

WRITING MIGRATIONS SCRIPTS

WRITING MIGRATIONS SCRIPTS

WRITING MIGRATIONS SCRIPTS

MIGRATION COMMANDS

MIGRATION COMMANDS

TYPES OF MIGRATIONS COMMANDS

ADDTABLE, REMOVETABLE, RENAMETABLE

ADDFIELD, RENAMEFIELD, REMOVEFIELD, MODIFYFIELD

ADDINDEX, REMOVEINDEX

EXECUTE

EXAMPLES OF REAL MIGRATIONS

OPEN TEXT EDITOR FOOL!

COMMON GUIDELINES

TEST YOUR MIGRATIONS

NEVER EDIT A RELEASED MIGRATION

KEEP THEM SHORT AND SWEET

BE MIGRATION DRIVEN

BE MIGRATION DRIVEN

AS A DEVELOPER WRITING SHORT LINES OF CODE IS EASIER THAN FIRING UP AN EXTERNAL APP, MAKING CHANGES, SAVING THEM ETC.

PLUS! YOU HAVE TO WRITE THE MIGRATION CODE LATER ANYWAYS.

HOW MANY TIMES HAVE YOU EMAILED OR DOWNLOADED AN SQL FILE?

LETS LOOK AT SOME MIGRATION SCENARIOS

MIGRATIONS UNDER VERSION CONTROL

SHOW EXAMPLES

LOCATION AT GITHUB. HTTP://GITHUB.COM/DJDARKBEAT/L-MIGRATOR/TREE/MASTER

YADA YADA.

CONCLUSION AND BIGGER PICTURE

MIGRATIONS ARE YOUR FRIENDS

END CRAZY DATABASE REFACTORINGS

CREATE WAYS TO MANAGE SCHEMA WITHOUT PAID TOOLS

PART OF PAGEBLOCKS AMAZING FRAMEWORK STARTED BY GREG WILLITS. ALSO INTEGRATES WITH L-UNIT.

THE TRINITY IS NOW NIKOLAJ DE FINE LICHT, BRIAN LOOMIS, AND KE CARLTON.

FUN

T H E R E W A S A Y O U N G M A N F R O M S O Q U E L

W H O T H O U G H T H E K N E W A B O U T S Q L

H E L E A R N E D F L A T F I L E S W E R E B A D

A N D A B S T R A C T E D L I K E M A D

A N D N O O N E I S H I S E Q U A L

RESOURCES

MARTIN FOWLERHTTP://MARTINFOWLER.COM/ARTICLES/EVODB.HTML

GREG WILLITS SEMI-RETIRED (FROM LASSO)

TAGSWAPHTTP://WWW.TAGSWAP.NET/ARTICLES

BRIAN LOOMIS AIM DJDARKBEAT

NIKOLAJ (PAGEBLOCKS)

KE (L-UNIT)

top related