Hi Luo,
Great question. Are you deploying with git, or just downloading and using it?
Since there isn't really much in the way of a test environment for Live Events... I develop LED locally on my desktop, update the database, deploy to production, test, evaluate and then update the repository with new commits. I try to make those commits small and focused on single purpose.
From a secondary desktop, when I want to update code and pull changes down from the repo I run
git pull origin master
which fetches the newest source from the LEDbelly Github repo.
I'm a git novice at this point, so I am learning more to support this project, including branching and merging. If you've made local changes and need to pull new versions from the repo, I suspect you'll have to do some git merging, which I have not tried yet.
--
Since LED is basically a catch all and identify what isn't defined, the logging is setup to provide insight into what data is being lost, see the ledbelly/README.md logging section for more details.
I typically review the logs every few days and make adjustments and commit them regularly for others to get the updates. Commit Activity · ccsd/ledbelly · GitHub Without updates, we miss data. The issue is without additional contributors what's defined is based on what my K12 district sees and the scenarios based on our usage of Canvas. For instance, I see plagiarism_resubmit a few times a semester, so I can completely miss changes to that message stream until I see it...whereas higher ed might see this more often.
My workflow for updates is basically to review the log files, and adjust the DDL if I find lengths longer than what's defined, then I update the database tables and push the code to production. If I find new events I evaluate them, create the DDL and set the parser to handle it, generate the table and push to production and commit my changes to GitHub when it's working.
--
I have some rake tasks that I've been working on to improve this process and am pushing to get those released soon now that I know others are using LED. The rake tasks reduce the logs to identify changes and my hope is this will improve the effort necessary to update local code, test and hopefully make it easier for contributors push changes to be merged. These updates will come with changes to the logging formats. Essentially:
DDL Truncation, will be reduced to the new size of a column that needs to be updated.
DDL Undefined, new fields found in events will be reduced to what needs to be added.
Then a comparison of create_tables since last run will produce an alter table script.
I started finishing these up yesterday when I saw your post, my hope is to have them available next week.
I had written a rake task that was supposed to be a subscription updater, that loaded the schema files between commit versions to produce a diff, but it failed to account for local changes, and I had to eval() the hash from the repo which isn't safe.
I'm also working on moving some documentation off the README and into the Wiki· ccsd/ledbelly · GitHub, to help provide broader support.