Database Schema

1,254 views
Skip to first unread message

Mark Crossley

unread,
Mar 22, 2017, 1:30:53 PM3/22/17
to weewx-user
Dumb question, but I can't seem to find the weeWX database schema documented anywhere? Am I missing the obvious?

Thanks
Mark

mwall

unread,
Mar 22, 2017, 1:40:23 PM3/22/17
to weewx-user
On Wednesday, March 22, 2017 at 1:30:53 PM UTC-4, Mark Crossley wrote:
Dumb question, but I can't seem to find the weeWX database schema documented anywhere? Am I missing the obvious?

weewx uses the wview schema:

http://weewx.com/docs/customizing.htm#archive_types

or, more explicity:

https://github.com/weewx/weewx/blob/master/bin/schemas/wview.py

we have been experimenting with a new, extended schema that will make it easier to use an even wider assortment of hardware:

https://github.com/weewx/weewx/blob/schema/bin/schemas/wview-extended.py

m

Mark Crossley

unread,
Mar 22, 2017, 3:51:37 PM3/22/17
to weewx-user
Thanks, so more dumb newbie questions...

A single table with a row per archive interval - "They represent the current conditions as of some time"

So how does WeeWx cope with daily (and greater) records without a separate "daily" table? The temp/wind/whatever could have hit a record value between archive intervals.

I'm coming from Cumulus where it keeps a separate list of all the highs/lows for the current day and at the end of the "day" writes a single row to a daily table recording those highs/lows/averages etc. So how does WeeWX do that?

Sorry this is all a bit theoretical at the moment, but I like to understand how a program works. I have a new pi3 and SSD arriving tomorrow so I can build a system and start to play with it.

I'm also thinking how to drive my web site from a MariaDB; at the moment most of the "archive" type data is pulled from the "daily" table as that is much more efficient than aggregating years of 10 minute data into daily/monthly/yearly. Plus it gets all those transient highs and lows missing from the full archive.

My off the cuff thinking is that I create a daily table myself and add a new row each day via a script. This would mean minimum change to my existing web site scripts. The full archive data extracts I can handle by creating a db view or two to minimise the change there. Realtime type data would be supplied directly by weeWX - again from what I have read so far I think I can create the php variable files required from weeWx skins.

This will be an interesting experiment!

Cheers
Mark

Andrew Milner

unread,
Mar 22, 2017, 3:58:45 PM3/22/17
to weewx-user
There is the archive table with one row for each archive interval and there are the many archive_daily_xxxx tables for the daily highs, lows, totals per reading type with one row per day.

Use phpadminlite or phpmyadmin - depending on database you are using - to look around inside the database and view the structures of each table.

Mark Crossley

unread,
Mar 22, 2017, 4:33:34 PM3/22/17
to weewx...@googlegroups.com
Ah, right! I thought I must be missing something, that why I wanted a schema doc to show all the tables and their relationships. Guess I wait until I get this installed and can have a poke around.

--
You received this message because you are subscribed to a topic in the Google Groups "weewx-user" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/weewx-user/aMLZrXWJ_jU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to weewx-user+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages