Difference between revisions of "SQL"
From GnuCash
(New page: This page is for information about a SQL backend for GnuCash. Here is the data model created by SQLite3: <pre> CREATE TABLE versions (table_name text(50), table_version integer); CREATE T...) |
m (format sql to be more readable.) |
||
Line 2: | Line 2: | ||
Here is the data model created by SQLite3: | Here is the data model created by SQLite3: | ||
+ | |||
<pre> | <pre> | ||
− | CREATE TABLE versions (table_name text(50), table_version integer); | + | CREATE TABLE versions ( |
− | CREATE TABLE transactions (guid CHAR(32) PRIMARY KEY NOT NULL, currency_guid CHAR(32) NOT NULL, num text(2048) NOT NULL, post_date CHAR(14) NOT NULL, enter_date CHAR(14) NOT NULL, description text(2048)); | + | table_name text(50), |
− | CREATE TABLE splits (guid CHAR(32) PRIMARY KEY NOT NULL, tx_guid CHAR(32) NOT NULL, account_guid CHAR(32) NOT NULL, memo text(2048) NOT NULL, action text(2048) NOT NULL, reconcile_state text(1) NOT NULL, reconcile_date CHAR(14) NOT NULL, value_num integer NOT NULL, value_denom integer NOT NULL, quantity_num integer NOT NULL, quantity_denom integer NOT NULL, lot_guid CHAR(32)); | + | table_version integer |
− | CREATE TABLE lots (guid CHAR(32) PRIMARY KEY NOT NULL, account_guid CHAR(32), is_closed integer NOT NULL); | + | ); |
− | CREATE TABLE budgets (guid CHAR(32) PRIMARY KEY NOT NULL, name text(2048) NOT NULL, description text(2048), num_periods integer NOT NULL); | + | CREATE TABLE transactions ( |
− | CREATE TABLE recurrences (obj_guid CHAR(32) NOT NULL, recurrence_mult integer NOT NULL, recurrence_period_type text(2048) NOT NULL, recurrence_period_start CHAR(8) NOT NULL); | + | guid CHAR(32) PRIMARY KEY NOT NULL, |
− | CREATE TABLE commodities (guid CHAR(32) PRIMARY KEY NOT NULL, namespace text(2048) NOT NULL, mnemonic text(2048) NOT NULL, fullname text(2048), cusip text(2048), fraction integer NOT NULL, quote_flag integer NOT NULL, quote_source text(2048), quote_tz text(2048)); | + | currency_guid CHAR(32) NOT NULL, |
− | CREATE TABLE accounts (guid CHAR(32) PRIMARY KEY NOT NULL, name text(2048) NOT NULL, account_type text(2048) NOT NULL, commodity_guid CHAR(32) NOT NULL, commodity_scu integer NOT NULL, non_std_scu integer NOT NULL, parent_guid CHAR(32), code text(2048), description text(2048)); | + | num text(2048) NOT NULL, |
− | CREATE TABLE slots (obj_guid CHAR(32) NOT NULL, name text(4096) NOT NULL, slot_type integer NOT NULL, int64_val integer, string_val text(4096), double_val real, timespec_val CHAR(14), guid_val CHAR(32), numeric_val_num integer, numeric_val_denom integer); | + | post_date CHAR(14) NOT NULL, |
− | CREATE TABLE schedxactions (guid CHAR(32) PRIMARY KEY NOT NULL, name text(2048), enabled integer NOT NULL, start_date CHAR(8) NOT NULL, last_occur CHAR(8), num_occur integer NOT NULL, rem_occur integer NOT NULL, auto_create integer NOT NULL, auto_notify integer NOT NULL, adv_creation integer NOT NULL, adv_notify integer NOT NULL, instance_count integer NOT NULL, template_act_guid CHAR(32) NOT NULL); | + | enter_date CHAR(14) NOT NULL, |
− | CREATE TABLE prices (guid CHAR(32) PRIMARY KEY NOT NULL, commodity_guid CHAR(32) NOT NULL, currency_guid CHAR(32) NOT NULL, date CHAR(14) NOT NULL, source text(2048), type text(2048), value_num integer NOT NULL, value_denom integer NOT NULL); | + | description text(2048) |
− | CREATE TABLE books (guid CHAR(32) PRIMARY KEY NOT NULL, root_account_guid CHAR(32) NOT NULL, root_template_guid CHAR(32) NOT NULL); | + | ); |
+ | CREATE TABLE splits ( | ||
+ | guid CHAR(32) PRIMARY KEY NOT NULL, | ||
+ | tx_guid CHAR(32) NOT NULL, | ||
+ | account_guid CHAR(32) NOT NULL, | ||
+ | memo text(2048) NOT NULL, | ||
+ | action text(2048) NOT NULL, | ||
+ | reconcile_state text(1) NOT NULL, | ||
+ | reconcile_date CHAR(14) NOT NULL, | ||
+ | value_num integer NOT NULL, | ||
+ | value_denom integer NOT NULL, | ||
+ | quantity_num integer NOT NULL, | ||
+ | quantity_denom integer NOT NULL, | ||
+ | lot_guid CHAR(32) | ||
+ | ); | ||
+ | CREATE TABLE lots ( | ||
+ | guid CHAR(32) PRIMARY KEY NOT NULL, | ||
+ | account_guid CHAR(32), | ||
+ | is_closed integer NOT NULL | ||
+ | ); | ||
+ | CREATE TABLE budgets ( | ||
+ | guid CHAR(32) PRIMARY KEY NOT NULL, | ||
+ | name text(2048) NOT NULL, | ||
+ | description text(2048), | ||
+ | num_periods integer NOT NULL | ||
+ | ); | ||
+ | CREATE TABLE recurrences ( | ||
+ | obj_guid CHAR(32) NOT NULL, | ||
+ | recurrence_mult integer NOT NULL, | ||
+ | recurrence_period_type text(2048) NOT NULL, | ||
+ | recurrence_period_start CHAR(8) NOT NULL | ||
+ | ); | ||
+ | CREATE TABLE commodities ( | ||
+ | guid CHAR(32) PRIMARY KEY NOT NULL, | ||
+ | namespace text(2048) NOT NULL, | ||
+ | mnemonic text(2048) NOT NULL, | ||
+ | fullname text(2048), | ||
+ | cusip text(2048), | ||
+ | fraction integer NOT NULL, | ||
+ | quote_flag integer NOT NULL, | ||
+ | quote_source text(2048), | ||
+ | quote_tz text(2048) | ||
+ | ); | ||
+ | CREATE TABLE accounts ( | ||
+ | guid CHAR(32) PRIMARY KEY NOT NULL, | ||
+ | name text(2048) NOT NULL, | ||
+ | account_type text(2048) NOT NULL, | ||
+ | commodity_guid CHAR(32) NOT NULL, | ||
+ | commodity_scu integer NOT NULL, | ||
+ | non_std_scu integer NOT NULL, | ||
+ | parent_guid CHAR(32), | ||
+ | code text(2048), | ||
+ | description text(2048) | ||
+ | ); | ||
+ | CREATE TABLE slots ( | ||
+ | obj_guid CHAR(32) NOT NULL, | ||
+ | name text(4096) NOT NULL, | ||
+ | slot_type integer NOT NULL, | ||
+ | int64_val integer, | ||
+ | string_val text(4096), | ||
+ | double_val real, | ||
+ | timespec_val CHAR(14), | ||
+ | guid_val CHAR(32), | ||
+ | numeric_val_num integer, | ||
+ | numeric_val_denom integer | ||
+ | ); | ||
+ | CREATE TABLE schedxactions ( | ||
+ | guid CHAR(32) PRIMARY KEY NOT NULL, | ||
+ | name text(2048), | ||
+ | enabled integer NOT NULL, | ||
+ | start_date CHAR(8) NOT NULL, | ||
+ | last_occur CHAR(8), | ||
+ | num_occur integer NOT NULL, | ||
+ | rem_occur integer NOT NULL, | ||
+ | auto_create integer NOT NULL, | ||
+ | auto_notify integer NOT NULL, | ||
+ | adv_creation integer NOT NULL, | ||
+ | adv_notify integer NOT NULL, | ||
+ | instance_count integer NOT NULL, | ||
+ | template_act_guid CHAR(32) NOT NULL | ||
+ | ); | ||
+ | CREATE TABLE prices ( | ||
+ | guid CHAR(32) PRIMARY KEY NOT NULL, | ||
+ | commodity_guid CHAR(32) NOT NULL, | ||
+ | currency_guid CHAR(32) NOT NULL, | ||
+ | date CHAR(14) NOT NULL, | ||
+ | source text(2048), | ||
+ | type text(2048), | ||
+ | value_num integer NOT NULL, | ||
+ | value_denom integer NOT NULL | ||
+ | ); | ||
+ | CREATE TABLE books ( | ||
+ | guid CHAR(32) PRIMARY KEY NOT NULL, | ||
+ | root_account_guid CHAR(32) NOT NULL, | ||
+ | root_template_guid CHAR(32) NOT NULL | ||
+ | ); | ||
</pre> | </pre> |
Revision as of 15:18, 7 June 2009
This page is for information about a SQL backend for GnuCash.
Here is the data model created by SQLite3:
CREATE TABLE versions ( table_name text(50), table_version integer ); CREATE TABLE transactions ( guid CHAR(32) PRIMARY KEY NOT NULL, currency_guid CHAR(32) NOT NULL, num text(2048) NOT NULL, post_date CHAR(14) NOT NULL, enter_date CHAR(14) NOT NULL, description text(2048) ); CREATE TABLE splits ( guid CHAR(32) PRIMARY KEY NOT NULL, tx_guid CHAR(32) NOT NULL, account_guid CHAR(32) NOT NULL, memo text(2048) NOT NULL, action text(2048) NOT NULL, reconcile_state text(1) NOT NULL, reconcile_date CHAR(14) NOT NULL, value_num integer NOT NULL, value_denom integer NOT NULL, quantity_num integer NOT NULL, quantity_denom integer NOT NULL, lot_guid CHAR(32) ); CREATE TABLE lots ( guid CHAR(32) PRIMARY KEY NOT NULL, account_guid CHAR(32), is_closed integer NOT NULL ); CREATE TABLE budgets ( guid CHAR(32) PRIMARY KEY NOT NULL, name text(2048) NOT NULL, description text(2048), num_periods integer NOT NULL ); CREATE TABLE recurrences ( obj_guid CHAR(32) NOT NULL, recurrence_mult integer NOT NULL, recurrence_period_type text(2048) NOT NULL, recurrence_period_start CHAR(8) NOT NULL ); CREATE TABLE commodities ( guid CHAR(32) PRIMARY KEY NOT NULL, namespace text(2048) NOT NULL, mnemonic text(2048) NOT NULL, fullname text(2048), cusip text(2048), fraction integer NOT NULL, quote_flag integer NOT NULL, quote_source text(2048), quote_tz text(2048) ); CREATE TABLE accounts ( guid CHAR(32) PRIMARY KEY NOT NULL, name text(2048) NOT NULL, account_type text(2048) NOT NULL, commodity_guid CHAR(32) NOT NULL, commodity_scu integer NOT NULL, non_std_scu integer NOT NULL, parent_guid CHAR(32), code text(2048), description text(2048) ); CREATE TABLE slots ( obj_guid CHAR(32) NOT NULL, name text(4096) NOT NULL, slot_type integer NOT NULL, int64_val integer, string_val text(4096), double_val real, timespec_val CHAR(14), guid_val CHAR(32), numeric_val_num integer, numeric_val_denom integer ); CREATE TABLE schedxactions ( guid CHAR(32) PRIMARY KEY NOT NULL, name text(2048), enabled integer NOT NULL, start_date CHAR(8) NOT NULL, last_occur CHAR(8), num_occur integer NOT NULL, rem_occur integer NOT NULL, auto_create integer NOT NULL, auto_notify integer NOT NULL, adv_creation integer NOT NULL, adv_notify integer NOT NULL, instance_count integer NOT NULL, template_act_guid CHAR(32) NOT NULL ); CREATE TABLE prices ( guid CHAR(32) PRIMARY KEY NOT NULL, commodity_guid CHAR(32) NOT NULL, currency_guid CHAR(32) NOT NULL, date CHAR(14) NOT NULL, source text(2048), type text(2048), value_num integer NOT NULL, value_denom integer NOT NULL ); CREATE TABLE books ( guid CHAR(32) PRIMARY KEY NOT NULL, root_account_guid CHAR(32) NOT NULL, root_template_guid CHAR(32) NOT NULL );